/**
Theme Name: cipba
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cipba
Template: astra
*/

/* ==========================================================================
   §4.11 — Contacto por función + grilla de redes (compartida con el pie)
   ========================================================================== */
.cipba-contact-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: stretch !important; gap: 18px; margin-bottom: 30px; padding: 0 !important; }
@media (max-width: 640px) { .cipba-contact-grid { grid-template-columns: 1fr; } }
/* Bloques Group nativos (soporte de layout de Gutenberg) tienden a
   traer su propio alto automático / align-self — se fuerza a que
   ocupen toda la celda de la grilla, si no las tarjetas quedan
   desalineadas verticalmente entre sí en la fila. */
.cipba-contact-card { background: #fff; border: 1px solid var(--wp--preset--color--verde-100,#e8f5f1); border-radius: 10px; padding: 22px 24px 24px !important; align-self: stretch !important; height: auto !important; margin: 0 !important; }
.cipba-contact-card h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 18px; font-weight: 700; color: var(--wp--preset--color--verde-700,#14484a); margin: 0 0 8px; }
.cipba-contact-card p { font-size: 13.5px; color: var(--wp--preset--color--gris-teal,#607a7c); margin: 0 0 12px; }
.cipba-contact-card a { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--verde-600,#008c75); text-decoration: none; }
.cipba-contact-card a:hover { text-decoration: underline; }
/* Ícono de sobre por CSS (mask), en vez de SVG inline en el texto del
   link — así el link queda como texto plano editable en el bloque
   Párrafo nativo (RichText no preserva SVG crudo de forma confiable). */
.cipba-contact-card a::before {
	content: "";
	width: 15px;
	height: 15px;
	flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.cipba-social { display: flex; gap: 10px; }
.cipba-social a {
	width: 40px; height: 40px; border-radius: 10px;
	display: grid; place-items: center;
	border: 1px solid var(--wp--preset--color--verde-100,#e8f5f1);
	background: #fff;
	color: var(--wp--preset--color--verde-700,#14484a);
	transition: all var(--cipba-fast,.2s) var(--cipba-ease,ease);
}
.cipba-social a:hover { border-color: var(--wp--preset--color--verde-600,#008c75); background: var(--wp--preset--color--verde-100,#e8f5f1); color: var(--wp--preset--color--verde-600,#008c75); }
.cipba-social--dark a { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.06); color: #fff; }
.cipba-social--dark a:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.14); color: #fff; }

/* ==========================================================================
   §4.10 — Preguntas frecuentes. HTML5 <details>/<summary> plano (no el
   bloque core/details) para mantener el mismo patrón de HTML crudo que
   el resto de las secciones — evita el padding de 52px que theme.json
   le pone por defecto a todo core/group.
   ========================================================================== */
.cipba-faq {
	border: 1px solid var(--wp--preset--color--verde-100, #e8f5f1);
	border-radius: 10px;
	overflow: hidden;
}
.cipba-faq .cipba-faq-item {
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--verde-100, #e8f5f1);
	background: #fff;
}
.cipba-faq .cipba-faq-item:last-child { border-bottom: none; }
.cipba-faq .cipba-faq-item[open] { background: var(--wp--preset--color--gris-50, #f7faf9); }
.cipba-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 17px 22px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--verde-700, #14484a);
}
.cipba-faq summary::-webkit-details-marker { display: none; }
.cipba-faq summary::after {
	content: "";
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23607a7c' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform var(--cipba-base, .3s) var(--cipba-ease, ease);
}
.cipba-faq .cipba-faq-item[open] summary::after { transform: rotate(180deg); }
.cipba-faq .cipba-faq-item > :not(summary) {
	padding: 0 22px 20px;
	font-size: 14px;
	color: var(--wp--preset--color--gris-teal, #607a7c);
	line-height: 1.7;
	max-width: 860px;
	margin: 0;
}

/* ==========================================================================
   §4.9 — El Distrito VII. El selector de partidos + mapa Leaflet queda
   como placeholder (§4.9 del handoff: 4-8h aparte, se trata como pieza
   de mantenimiento propia — ver plan-home-cipba.md).
   ========================================================================== */
.cipba-dist-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 34px;
	align-items: start;
}
@media (max-width: 900px) { .cipba-dist-grid { grid-template-columns: 1fr; } }
.cipba-dist-figure { border-radius: 12px; overflow: hidden; border: 1px solid var(--wp--preset--color--verde-200,#c0e2ca); margin: 0 0 4px; }
.cipba-dist-figure img { width: 100%; height: 260px; object-fit: cover; display: block; }
.cipba-dist-figure figcaption { background: #fff; padding: 10px 14px; font-size: 12.5px; color: var(--wp--preset--color--gris-teal,#607a7c); }
.cipba-dist-text p { font-size: 14.5px; color: var(--wp--preset--color--gris-teal,#607a7c); line-height: 1.7; margin: 0 0 14px; }
.cipba-dist-col { display: grid; gap: 18px; align-content: start; }
.cipba-dist-card { background: #fff; border: 1px solid var(--wp--preset--color--verde-200,#c0e2ca); border-radius: 12px; padding: 22px 24px 24px; }
.cipba-dist-card h3 { font-size: 15.5px; font-weight: 800; color: var(--wp--preset--color--tinta-900,#373d3e); margin: 0 0 14px; }
/* Consultor de partidos (tarjeta "¿Tu partido pertenece al Distrito VII?"). */
.cipba-consultor__field { display: flex; align-items: center; gap: 10px; background: var(--wp--preset--color--gris-50,#f7faf9); border: 1.5px solid var(--cipba-border-input,#dbe6e3); border-radius: 6px; padding: 10px 14px; color: var(--wp--preset--color--gris-400,#9aa8a9); transition: border-color var(--cipba-fast,.2s); }
.cipba-consultor__field:focus-within { border-color: var(--wp--preset--color--verde-500,#00a48a); }
.cipba-consultor__field input { flex: 1; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent; padding: 0 !important; font-size: 14px; font-family: inherit; color: var(--wp--preset--color--tinta-900,#373d3e); }
.cipba-consultor__resultado { margin-top: 12px; padding: 12px 14px; border-radius: 8px; font-size: 13px; line-height: 1.5; }
.cipba-consultor__resultado[hidden] { display: none; }
.cipba-consultor__resultado.is-ok { background: var(--wp--preset--color--verde-100,#e8f5f1); color: var(--wp--preset--color--verde-800,#1a5f5c); }
.cipba-consultor__resultado.is-ok strong { color: var(--wp--preset--color--verde-700,#14484a); }
.cipba-consultor__resultado.is-sugerencia { background: #fff7e6; color: #8a6416; }
.cipba-consultor__resultado.is-no { background: var(--wp--preset--color--gris-100,#eef2f1); color: var(--wp--preset--color--gris-teal,#607a7c); }
.cipba-consultor__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 13px; font-weight: 700; color: var(--wp--preset--color--verde-700,#14484a) !important; text-decoration: none !important; }
.cipba-consultor__link:hover { text-decoration: underline !important; }
.cipba-dist-sede {
	background: var(--wp--preset--color--verde-700,#14484a);
	border-radius: 12px;
	padding: 20px 22px 22px;
	color: #fff;
}
.cipba-dist-sede h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 4px; }
.cipba-dist-sede .cipba-dist-sede__badge { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--verde-200,#c0e2ca); margin-bottom: 22px; }
.cipba-dist-sede__row { display: flex; gap: 11px; align-items: flex-start; margin-top: 10px; }
.cipba-dist-sede__row .ico { width: 26px; height: 26px; border-radius: 6px; background: rgba(255,255,255,.1); display: grid; place-items: center; flex-shrink: 0; }
.cipba-dist-sede__row .lbl { font-size: 10px; font-weight: 700; color: rgba(255,255,255,.5); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 2px; }
.cipba-dist-sede__row .val { font-size: 13px; color: rgba(255,255,255,.88); line-height: 1.45; }
.cipba-dist-sede__row .val a { color: inherit; border-bottom: 1px dotted rgba(255,255,255,.4); text-decoration: none; }
.cipba-sede-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 30px; }
@media (max-width: 900px) { .cipba-sede-grid { grid-template-columns: 1fr; } }
.cipba-sede-card { background: #fff; border: 1px solid var(--wp--preset--color--verde-200,#c0e2ca); border-radius: 12px; padding: 18px 20px 20px; }
.cipba-sede-card h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 17px; font-weight: 700; color: var(--wp--preset--color--verde-700,#14484a); margin: 0 0 4px; }
.cipba-sede-card__role { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--verde-600,#008c75); margin-bottom: 11px; }
.cipba-sede-card__line { font-size: 13px; color: var(--wp--preset--color--gris-teal,#607a7c); line-height: 1.6; }

/* ==========================================================================
   §4.8 — Subcomisiones (tarjeta simple en la home; la versión ampliada
   con avatar va en la página interna, fuera de este plan)
   ========================================================================== */
.cipba-subcom-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
@media (max-width: 900px) { .cipba-subcom-grid { grid-template-columns: 1fr; } }
.cipba-subcom-card {
	display: block;
	background: #fff;
	border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca);
	border-radius: 12px;
	padding: 20px 22px 22px;
	text-decoration: none !important;
	transition: all var(--cipba-base, .3s) var(--cipba-ease, ease);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}
.cipba-subcom-card:hover {
	border-color: var(--wp--preset--color--verde-500, #00a48a);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
}
.cipba-subcom-card h3 {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--verde-700, #14484a);
	margin: 0 0 9px;
}
.cipba-subcom-card p {
	font-size: 13.5px;
	color: var(--wp--preset--color--gris-teal, #607a7c);
	margin: 0 0 6px;
}
.cipba-subcom-card span {
	font-size: 13px;
	color: var(--wp--preset--color--verde-600, #008c75);
	font-weight: 700;
}

/* ==========================================================================
   §4.7 — Noticias. El prototipo real (project/index.html) usa 5 tarjetas
   en 5 columnas, no 4 como dice el handoff — se sigue el diseño real.
   ========================================================================== */
.cipba-news-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}
@media (max-width: 1080px) { .cipba-news-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .cipba-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px)  { .cipba-news-grid { grid-template-columns: 1fr; } }
.cipba-news-card {
	display: block;
	background: #fff;
	border: 1px solid var(--wp--preset--color--verde-100, #e8f5f1);
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none !important;
	transition: all var(--cipba-base, .3s) var(--cipba-ease, ease);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}
.cipba-news-card:hover {
	box-shadow: 0 8px 22px rgba(0, 0, 0, .10);
	transform: translateY(-4px);
}
.cipba-news-card__meta {
	padding: 12px 14px 10px;
	display: flex;
	gap: 6px;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
}
.cipba-news-card__cat { text-transform: uppercase; letter-spacing: .5px; }
.cipba-news-card__sep { color: var(--wp--preset--color--gris-400, #9aa8a9); font-weight: 400; }
.cipba-news-card__img { height: 120px; background: var(--wp--preset--color--gris-100, #eef2f1); }
.cipba-news-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cipba-news-card__body { padding: 14px 14px 18px; }
.cipba-news-card__body h3 {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 15.5px;
	font-weight: 700;
	color: var(--wp--preset--color--verde-700, #14484a);
	line-height: 1.25;
	margin: 0 0 8px;
}
.cipba-news-card__body p {
	font-size: 12.5px;
	color: var(--wp--preset--color--gris-teal, #607a7c);
	line-height: 1.5;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==========================================================================
   §4.6 — Eventos (grilla de 3, no carrusel — ver plan-home-cipba.md)
   ========================================================================== */
.cipba-ev-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
@media (max-width: 900px) { .cipba-ev-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .cipba-ev-grid { grid-template-columns: 1fr; } }
.cipba-ev-card {
	display: block;
	border: 1px solid var(--wp--preset--color--verde-100, #e8f5f1);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	text-decoration: none !important;
	transition: all var(--cipba-base, .3s) var(--cipba-ease, ease);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}
.cipba-ev-card:hover {
	box-shadow: 0 10px 28px rgba(13, 50, 52, .12);
	transform: translateY(-3px);
}
.cipba-ev-card__img {
	aspect-ratio: 4 / 5;
	position: relative;
	background: var(--wp--preset--color--gris-100, #eef2f1);
}
.cipba-ev-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	inset: 0;
}
.cipba-ev-card__body { padding: 18px 20px 20px; }
.cipba-ev-card__body h3 {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--verde-700, #14484a);
	line-height: 1.25;
	margin: 0 0 14px;
}
.cipba-ev-card__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	border-top: 1px solid var(--wp--preset--color--gris-100, #eef2f1);
	padding-top: 13px;
}
.cipba-ev-card__date { font-size: 12.5px; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-ev-card__more {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 700;
	color: var(--wp--preset--color--verde-600, #008c75);
}

/* Bandas de sección genéricas (fondo completo + wrap de 1200px adentro) */
.cipba-section { padding: 46px 0 30px !important; }
.cipba-section--alt {
	background: #f2f3f3;
	border-top: 1px solid var(--wp--preset--color--verde-100, #e8f5f1);
	padding: 34px 0 46px;
}

/* Logo del header — Astra Free no tiene un control de alto simple para
   logo SVG en el Header Builder, así que se fija por CSS. */
.ast-site-identity .custom-logo,
.site-logo-img .custom-logo {
	height: 80px !important;
	width: auto !important;
	max-height: 80px;
}

/* Sangrado completo (edge-to-edge) para secciones que no son bloques
   nativos alineados — el core/html no participa del sistema de "align:
   full" de WordPress, así que se hace a mano. Usar junto con un wrapper
   interno de max-width:1200px (mismo patrón que .cipba-hero-wrap /
   .cipba-footer-grid) para el contenido. */
.cipba-full-bleed {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Columna de contenido estándar (1200px, padding 24px) para usar DENTRO
   de una sección de fondo completo (.cipba-hero, .cipba-announcement,
   futuras secciones de la home). La página "Inicio" corre en modo
   "Full Width Container" de Astra (§4.4, para que los fondos sangren
   completos), y ese modo fuerza max-width:100% con !important en el
   contenido — por eso esta clase también necesita !important para
   ganarle. Reusar en cada sección nueva en vez de reinventar el wrapper. */
.cipba-wrap {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* ==========================================================================
   Home — §4.3 Barra de anuncio de honorarios.
   ========================================================================== */
.cipba-announcement {
	background: var(--wp--preset--color--verde-100, #e8f5f1);
	border-bottom: 1px solid var(--wp--preset--color--verde-200, #c0e2ca);
}
.cipba-announcement-wrap {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 10px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	color: var(--wp--preset--color--tinta-900, #373d3e);
}
.cipba-announcement-wrap a {
	color: var(--wp--preset--color--verde-600, #008c75);
	font-weight: 800;
	text-decoration: none;
}
.cipba-announcement-wrap a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Home — §4.4 Hero de dos puertas. Colores/gradiente calcados de
   project/index.html (el prototipo real), no del preset "hero-verde" de
   theme.json — los stops del gradiente no coinciden entre los dos y se
   prioriza el diseño de referencia real.
   ========================================================================== */
.cipba-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(135deg, #0d3234 0%, #14484a 50%, #1a5f5c 100%);
}
.cipba-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: .05;
	background: url(assets/img/crosshatch.svg) repeat;
}
.cipba-hero-wrap {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 68px 24px 76px;
	position: relative;
}
.cipba-hero-wrap h1 {
	font-size: clamp(30px, 4.6vw, 50px);
	font-weight: 900;
	color: #fff;
	line-height: 1.12;
	max-width: 660px;
	margin: 0;
	font-family: var(--wp--preset--font-family--condensed);
}
.cipba-hero-wrap p {
	font-size: 17px;
	color: rgba(255, 255, 255, .78);
	margin-top: 20px;
	max-width: 520px;
	line-height: 1.6;
}
.cipba-hero-doors {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 40px;
	max-width: 780px;
}
.cipba-door,
.cipba-door:hover,
.cipba-door * {
	text-decoration: none !important;
}
.cipba-door {
	display: block;
	border-radius: 10px;
	padding: 24px 26px 26px;
	transition: all var(--cipba-base, .3s) var(--cipba-ease, ease);
	border: 1.5px solid rgba(255, 255, 255, .4);
}
.cipba-door:hover {
	transform: translateY(-3px);
	border-color: #7fd9c4;
}
.cipba-door--primary {
	background: var(--wp--preset--color--verde-500, #00a48a);
	border-color: transparent;
	box-shadow: 0 8px 26px rgba(0, 164, 138, .28);
}
.cipba-door--primary:hover {
	background: var(--wp--preset--color--verde-600, #008c75);
	border-color: transparent;
}
.cipba-door__eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #7fd9c4;
	margin-bottom: 12px;
}
.cipba-door--primary .cipba-door__eyebrow {
	color: rgba(255, 255, 255, .75);
}
.cipba-door__title {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 21px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.cipba-door__desc {
	display: block;
	font-size: 14px;
	color: rgba(255, 255, 255, .75);
}
.cipba-door--primary .cipba-door__desc {
	color: rgba(255, 255, 255, .9);
}
@media (max-width: 700px) {
	.cipba-hero-doors { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Pie de página — grilla de marca + 4 menús (§4.13 del handoff).
   Reemplaza el "Primary Footer" del Constructor de Astra (ver
   inc/footer.php — Astra Free no admite varios menús independientes
   en su builder visual).
   ========================================================================== */
.cipba-footer-wrap {
	background: var(--wp--preset--color--verde-700, #14484a);
	color: rgba(255, 255, 255, .78);
	padding: 48px 24px 34px;
}
.cipba-footer-grid {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr));
	gap: 30px;
}
.cipba-footer-logo {
	width: 200px;
	max-width: 100%;
	height: auto;
	margin-bottom: 16px;
	display: block;
}
.cipba-footer-brand p {
	font-size: 13px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .72);
	max-width: 320px;
	margin: 0;
}
.cipba-footer-col h3 {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 15px;
}
.cipba-footer-links {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cipba-footer-links a {
	font-size: 13.5px;
	color: rgba(255, 255, 255, .72);
	text-decoration: none;
	transition: color var(--cipba-fast, .2s);
}
.cipba-footer-links a:hover {
	color: var(--wp--preset--color--verde-500, #00a48a);
}
@media (max-width: 1000px) {
	.cipba-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.cipba-footer-brand {
		grid-column: 1 / -1;
	}
}
@media (max-width: 700px) {
	.cipba-footer-grid {
		grid-template-columns: 1fr;
	}
}

/* "Below Footer" — copyright + enlaces legales (§4.13). Reemplaza el
   "Copyright" por defecto de Astra, que traía "Powered by Astra". */
.cipba-footer-below {
	background: var(--wp--preset--color--verde-950, #0d3234);
}
.cipba-footer-below__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 16px 24px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 12.5px;
	color: rgba(255, 255, 255, .6);
}
.cipba-footer-below__links {
	display: flex;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cipba-footer-below__links a {
	color: inherit;
	text-decoration: none;
}
.cipba-footer-below__links a:hover {
	color: var(--wp--preset--color--verde-500, #00a48a);
}

/* ==========================================================================
   §5.1 — Variables puente (handoff §5.1)
   ========================================================================== */
:root {
	--cipba-ease: cubic-bezier(.4, 0, .2, 1);
	--cipba-fast: .2s;
	--cipba-base: .3s;
	--cipba-border-card: #e8f5f1;
	--cipba-border-input: #dbe6e3;
}

/* ==========================================================================
   §5.2 — Navbar sticky con sombra y blur al scrollear
   (el script que agrega/quita .is-scrolled está en inc/navbar.php)
   ========================================================================== */
.ast-main-header-wrap {
	background: #fff;
	transition: box-shadow var(--cipba-base) var(--cipba-ease);
}

/* Header sticky: el que queda fijo es el #masthead completo (su contenedor,
   #page, mide toda la página). Antes el sticky estaba en .ast-main-header-wrap,
   cuyo contenedor mide lo mismo que el header, así que nunca llegaba a
   quedarse fijo. La barra superior (.cipba-topbar) va ANTES del #masthead y
   scrollea normalmente, como en el prototipo. */
#masthead {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead { top: 0; } }
.ast-main-header-wrap.is-scrolled {
	box-shadow: 0 2px 20px rgba(0, 0, 0, .25);
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(8px);
}

/* ==========================================================================
   §5.4 — Elevación de tarjetas en hover + layout completo de tarjeta
   (§4.5 Autogestión/Trámites, reusado luego para Noticias/Subcomisiones)
   ========================================================================== */
.cipba-card {
	display: block;
	text-decoration: none !important;
	border-radius: 10px;
	padding: 20px 22px 24px;
	border: 1px solid var(--wp--preset--color--verde-100, #e8f5f1);
	border-left: 3px solid var(--wp--preset--color--verde-500, #00a48a);
	background: #f2faf7;
	transition: transform var(--cipba-base) var(--cipba-ease),
		box-shadow var(--cipba-base) var(--cipba-ease), border-color var(--cipba-fast);
	box-shadow: 0 1px 4px rgba(13, 50, 52, .05);
}
.cipba-card--purpura {
	border-left-color: #484586;
	background: #f6f5fb;
}
.cipba-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0, 112, 94, .20);
	border-color: #00705e;
}
.cipba-card--purpura:hover {
	box-shadow: 0 8px 24px rgba(48, 46, 92, .20);
	border-color: #302e5c;
}
.cipba-card__head {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 12px;
}
.cipba-card__icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: #fff;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	color: var(--wp--preset--color--verde-500, #00a48a);
}
.cipba-card--purpura .cipba-card__icon { color: #484586; }
.cipba-card:hover .cipba-card__icon { color: #00705e; }
.cipba-card--purpura:hover .cipba-card__icon { color: #302e5c; }
.cipba-card__title {
	flex: 1;
	min-width: 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--wp--preset--color--tinta-900, #373d3e);
}
.cipba-card__arrow {
	display: flex;
	flex-shrink: 0;
	color: var(--wp--preset--color--verde-500, #00a48a);
	transition: transform var(--cipba-base) var(--cipba-ease);
}
.cipba-card--purpura .cipba-card__arrow { color: #484586; }
.cipba-card:hover .cipba-card__arrow { color: #00705e; transform: translateX(3px); }
.cipba-card--purpura:hover .cipba-card__arrow { color: #302e5c; }
.cipba-card__desc {
	font-size: 13.5px;
	color: var(--wp--preset--color--gris-teal, #607a7c);
	line-height: 1.55;
	margin: 0;
}
@media (prefers-reduced-motion: reduce) {
	.cipba-card, .cipba-card__arrow { transition: none; }
	.cipba-card:hover { transform: none; }
}

.cipba-cardgrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
@media (max-width: 900px) {
	.cipba-cardgrid { grid-template-columns: 1fr; }
}

.cipba-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 26px;
	padding: 0 !important;
}
.cipba-section-head h2 {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(21px, 2.6vw, 28px);
	font-weight: 900;
	color: var(--wp--preset--color--verde-700, #14484a);
	line-height: 1.15;
	margin: 0;
}
.cipba-section-head p {
	font-size: 14px;
	color: var(--wp--preset--color--gris-teal, #607a7c);
	margin-top: 7px;
	max-width: 680px;
}

/* ==========================================================================
   §5.5 — Color de badge por taxonomía (Novedades)
   ========================================================================== */
.wp-block-post-terms a { color: #607a7c; }
.cat-institucional .wp-block-post-terms a,
.cat-distrito .wp-block-post-terms a { color: #14484a; }
.cat-capacitacion .wp-block-post-terms a,
.cat-matricula .wp-block-post-terms a { color: #00a48a; }
.cat-normativa .wp-block-post-terms a,
.cat-honorarios .wp-block-post-terms a { color: #8a3a2a; }
.cat-comisiones .wp-block-post-terms a,
.cat-eventos .wp-block-post-terms a { color: #484586; }

/* ==========================================================================
   §5.6 — Recorte de extracto a dos líneas (tarjetas de Noticias)
   ========================================================================== */
.cipba-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==========================================================================
   §5.7 — Avatar de iniciales (subcomisiones y autoridades)
   ========================================================================== */
.cipba-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: #1a5f5c;
	background: linear-gradient(135deg, #e8f5f1 0%, #c0e2ca 100%);
	flex-shrink: 0;
}
.cipba-avatar--presidencia {
	background: linear-gradient(135deg, #c0e2ca 0%, #00a48a 100%);
	color: #fff;
}

/* ==========================================================================
   §5.8 — Columna lateral fija en páginas de trámites
   ========================================================================== */
@media (min-width: 901px) {
	.cipba-aside { position: sticky; top: 88px; align-self: start; }
}
@media (max-width: 900px) {
	.cipba-tramite-grid { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   §5.10 — Imagen destacada en 21:9 y anillo de foco
   ========================================================================== */
.cipba-hero-img img {
	aspect-ratio: 21 / 9;
	object-fit: cover;
	width: 100%;
	display: block;
}
a:focus-visible, button:focus-visible, select:focus-visible,
input:focus-visible, textarea:focus-visible {
	outline: 2px solid #00a48a;
	outline-offset: 2px;
}
input, select, textarea {
	border: 1px solid var(--cipba-border-input);
	border-radius: 6px;
}

/* ==========================================================================
   §5.11 — Patrón crosshatch sobre el gradiente del hero
   ========================================================================== */
.cipba-hero { position: relative; isolation: isolate; }
.cipba-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: .06;
	background: url(assets/img/crosshatch.svg) repeat;
}

/* ==========================================================================
   Ajustes de Max Mega Menu (§4.2 / §5.3 del handoff)
   Max Mega Menu (v3.x) genera su propio CSS dinámico con selectores de
   2 IDs (#mega-menu-wrap-primary #mega-menu-primary ...), más específico
   que cualquier regla simple de clase — de ahí el !important y los
   selectores calcados de los suyos en todo este bloque.
   ========================================================================== */

/* Subtítulos de grupo dentro de los desplegables de Trámites/Normativa
   (Max Mega Menu, modo Flyout). El ítem ya tiene "Disable link" tildado
   desde el admin; esto solo le da la apariencia de encabezado.
   Max Mega Menu genera su propio CSS dinámico con selectores de 2 IDs
   (#mega-menu-wrap-primary #mega-menu-primary ...), así que hace falta
   !important para ganarle la especificidad en vez de pelear ID contra ID. */
#mega-menu-wrap-primary li.mm-group-title {
	margin-top: 10px !important;
	padding-top: 10px !important;
	border-top: 1px solid var(--wp--preset--color--verde-100, #e8f5f1) !important;
}
#mega-menu-wrap-primary li.mm-group-title:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: none !important;
}
#mega-menu-wrap-primary li.mm-group-title > a.mega-menu-link {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--gris-teal, #607a7c) !important;
	pointer-events: none;
	cursor: default;
	background: none !important;
}

/* Barra del menú principal: blanco en vez del skin oscuro por defecto
   de Max Mega Menu. */
#mega-menu-wrap-primary #mega-menu-primary {
	background-color: var(--wp--preset--color--blanco, #ffffff) !important;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	color: var(--wp--preset--color--tinta-900, #373d3e) !important;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
	color: var(--wp--preset--color--verde-600, #008c75) !important;
	background-color: var(--wp--preset--color--verde-100, #e8f5f1) !important;
}
/* Página actual (ej. "Inicio" al estar en la home): Max Mega Menu le pone
   su propio fondo oscuro vía .mega-current-menu-item — lo reemplazamos por
   el estado de "página actual" que pide el handoff (§6: verde-700 + subrayado).
   También aplica a ancestro/padre: al estar en una subpágina (ej. Subcomisiones)
   Max Mega Menu marca el ítem de arriba (Institucional) con
   .mega-current-menu-ancestor / -parent y le pone el mismo fondo oscuro, que
   con el texto oscuro se veía como un rectángulo negro. */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-parent > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-parent > a.mega-menu-link {
	background-color: var(--wp--preset--color--blanco, #ffffff) !important;
	color: var(--wp--preset--color--verde-700, #14484a) !important;
	font-weight: 700 !important;
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--verde-700, #14484a) !important;
}

/* Panel desplegable: blanco, redondeado, con borde y sombra en vez del
   gris plano cuadrado por defecto. Selector calcado del que genera el
   propio Max Mega Menu (visto en DevTools) para poder ganarle con !important. */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu {
	background-color: var(--wp--preset--color--blanco, #ffffff) !important;
	border: 1px solid var(--wp--preset--color--verde-100, #e8f5f1) !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 40px rgba(13,45,94,.12) !important;
	padding: 10px 0 !important;
	overflow: hidden;
}
#mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu li.mega-menu-item:not(.mm-group-title) > a.mega-menu-link {
	color: var(--wp--preset--color--tinta-900, #373d3e) !important;
	background-color: transparent !important;
}
#mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu li.mega-menu-item:not(.mm-group-title):hover > a.mega-menu-link {
	color: var(--wp--preset--color--verde-600, #008c75) !important;
	background-color: var(--wp--preset--color--verde-100, #e8f5f1) !important;
}

/* Ícono de enlace externo en ítems que abren PDFs o sistemas externos
   (clase "abre-nuevo", ver inc/nav-menu-links.php y el snippet §5.9). Mismo
   ícono "externalLink" (Lucide) que usaba el prototipo original.
   Regla genérica (sirve para los menús del pie, que no pasan por Max Mega
   Menu) + una versión con el selector de Max Mega Menu + !important, misma
   razón que el resto de las reglas de esta sección: sin eso, el CSS dinámico
   del plugin gana por especificidad y el ícono no se pinta. */
.abre-nuevo > a::after,
#mega-menu-wrap-primary #mega-menu-primary li.abre-nuevo > a.mega-menu-link::after {
	content: "";
	display: inline-block !important;
	width: 11px;
	height: 11px;
	margin-left: 6px;
	vertical-align: -1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23607a7c' stroke-width='2'%3E%3Cpath d='M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* §5.3 — Ítem de menú destacado ("Honorarios mínimos vigentes") */
.is-destacado > a::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #00a48a;
	flex-shrink: 0;
}
#mega-menu-wrap-primary #mega-menu-primary li.is-destacado > a.mega-menu-link {
	background: #f1faf7 !important;
	color: #008c75 !important;
	font-weight: 800 !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

/* Fix — menú mobile roto: Astra y Max Mega Menu traen CADA UNO su propio
   sistema de menú responsive para la misma ubicación "Primary". Por
   debajo de 1160px (breakpoint de ambos), Astra oculta su header
   "desktop" completo (`.ast-hide-custom-menu-mobile #ast-desktop-header`)
   — que es justo donde vive el botón hamburguesa real de Max Mega Menu,
   con Trámites/Normativa/etc. bien armados — y en su lugar muestra su
   propio `#ast-mobile-header`, que no tiene ningún menú de WordPress
   asignado a esa ubicación puntual y cae al listado de páginas por
   defecto (roto, sin los desplegables). Max Mega Menu ya es responsive
   por sí solo (su propio toggle + colapso, mismo breakpoint 1160px), así
   que se lo deja a cargo siempre y se apaga el mobile menu propio de
   Astra en vez de pelear por sincronizar dos menús independientes. */
@media (max-width: 1160px) {
	#ast-desktop-header { display: block !important; }
	#ast-mobile-header { display: none !important; }
}

/* Fix — el panel del menú mobile abría "pegado" al logo (encerrado en
   la columna angosta de la derecha del header) en vez de como un panel
   a todo el ancho debajo. Causa: Max Mega Menu arma el menú mobile
   expandido como una lista normal en flujo (display:flex en columna,
   dentro de su propio contenedor `#mega-menu-wrap-primary`) — hereda el
   ancho acotado de esa columna. Un primer intento con position:absolute
   anclado a `#ast-desktop-header` tampoco alcanzó: algún contenedor
   intermedio de Astra entre medio ya tiene su propio position seteado,
   así que terminaba anclando ahí igual (columna angosta de nuevo) — en
   vez de perseguir cuál es exactamente, se saca del CSS puro: position
   fixed (contenedor de posicionamiento = viewport, sin ambigüedad de
   ancestros) + el "top" exacto se calcula por JS en el momento de abrir
   (ver cipba_mobile_menu_panel_position_script en inc/navbar.php), así
   no depende de adivinar la altura del header. */
@media (max-width: 1160px) {
	#mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary {
		position: fixed !important;
		left: 0 !important;
		width: 100% !important;
		max-height: calc(100vh - 70px);
		overflow-y: auto;
		box-shadow: 0 12px 40px rgba(13,45,94,.18) !important;
		z-index: 9999 !important;
	}
}
/* ==========================================================================
   Subcomisiones — listado completo (página interna, [cipba_subcomisiones_listado])
   ========================================================================== */
.cipba-subcom-list { max-width: 1200px !important; margin: 0 auto !important; padding: 56px 24px 72px !important; }
.cipba-subcom-toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.cipba-subcom-eyebrow { color: var(--wp--preset--color--verde-500, #00a48a); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; }
.cipba-subcom-toolbar h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(22px, 3vw, 30px); font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 6px; }
.cipba-subcom-toolbar p { font-size: 14px; color: #4a6062; max-width: 540px; margin: 0; }
.cipba-subcom-search { display: flex; align-items: center; gap: 10px; min-width: 280px; background: #fff; border: 1.5px solid var(--cipba-border-input, #dbe6e3); border-radius: 8px; padding: 10px 14px; color: var(--wp--preset--color--gris-400, #9aa8a9); transition: border-color var(--cipba-fast, .2s); }
.cipba-subcom-search:focus-within { border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-subcom-search input { flex: 1; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent; padding: 0 !important; font-size: 14px; color: var(--wp--preset--color--tinta-900, #373d3e); }
.cipba-subcom-status { font-size: 13px; color: #4a6062; margin-bottom: 16px; }
.cipba-subcom-status:empty { display: none; }
.cipba-subcom-full-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 18px; }
@media (max-width: 640px) { .cipba-subcom-full-grid { grid-template-columns: 1fr; } .cipba-subcom-search { min-width: 0; width: 100%; } }
.cipba-subcom-full { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: transform var(--cipba-base, .3s) var(--cipba-ease, ease), box-shadow var(--cipba-base, .3s) var(--cipba-ease, ease), border-color var(--cipba-base, .3s); }
.cipba-subcom-full[hidden] { display: none; }
.cipba-subcom-full:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(20,72,74,.10); border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-subcom-full__head { display: flex; gap: 12px; align-items: flex-start; padding: 18px 22px 16px; border-bottom: 1px solid var(--wp--preset--color--gris-100, #eef2f1); background: linear-gradient(135deg, #f7faf9 0%, #fff 100%); }
.cipba-subcom-full__tag { flex-shrink: 0; width: 44px; height: 44px; border-radius: 8px; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); display: grid; place-items: center; font-family: var(--wp--preset--font-family--condensed); font-weight: 700; font-size: 13px; letter-spacing: .5px; }
.cipba-subcom-full__tag.is-long { font-size: 11px; }
.cipba-subcom-full__eyebrow { color: var(--wp--preset--color--verde-500, #00a48a); font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 4px; }
.cipba-subcom-full__head h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 16px; font-weight: 800; color: var(--wp--preset--color--verde-700, #14484a); line-height: 1.25; margin: 0; text-wrap: balance; }
.cipba-subcom-full__refs { padding: 6px 22px 20px; flex: 1; }
.cipba-subcom-ref { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; }
.cipba-subcom-ref + .cipba-subcom-ref { border-top: 1px dashed var(--wp--preset--color--verde-100, #e8f5f1); }
.cipba-subcom-ref .cipba-avatar { border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-subcom-ref__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.cipba-subcom-ref__name { font-size: 13.5px; font-weight: 800; color: var(--wp--preset--color--tinta-900, #373d3e); }
.cipba-subcom-ref__mat { font-family: var(--wp--preset--font-family--condensed); font-size: 11.5px; letter-spacing: .5px; color: var(--wp--preset--color--gris-400, #9aa8a9); margin-bottom: 4px; }
.cipba-subcom-ref__tel, .cipba-subcom-ref__mail { font-size: 13px; word-break: break-all; text-decoration: none !important; }
.cipba-subcom-ref__tel { color: #4a6062; }
.cipba-subcom-ref__mail { color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-subcom-ref__tel:hover { color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-subcom-ref__mail:hover { color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-subcom-empty { background: #fff; border: 1px dashed var(--wp--preset--color--verde-200, #c0e2ca); border-radius: 12px; padding: 48px 24px; text-align: center; color: #4a6062; font-size: 13.5px; }
.cipba-subcom-empty[hidden] { display: none; }
.cipba-subcom-empty strong { display: block; font-size: 15px; color: var(--wp--preset--color--verde-700, #14484a); margin-bottom: 6px; }
@media (prefers-reduced-motion: reduce) { .cipba-subcom-full { transition: none; } .cipba-subcom-full:hover { transform: none; } }

/* ==========================================================================
   Cabecera de página interna (breadcrumb + título) y CTA final verde
   ========================================================================== */
.cipba-pagehead__crumbs { background: #fff; border-bottom: 1px solid var(--wp--preset--color--verde-100, #e8f5f1); }
.cipba-pagehead__inner { max-width: 1200px !important; margin: 0 auto !important; padding: 11px 24px !important; font-size: 12.5px; color: var(--wp--preset--color--gris-400, #9aa8a9); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cipba-pagehead__inner a { color: inherit; text-decoration: none; }
.cipba-pagehead__inner strong { color: #4a6062; }
.cipba-pagehead__title { background: #fff; border-bottom: 1px solid var(--wp--preset--color--gris-100, #eef2f1); }
.cipba-pagehead__title .cipba-pagehead__inner { display: block; padding: 34px 24px 30px !important; font-size: inherit; }
.cipba-pagehead__eyebrow { color: #00705e; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 12px; }
.cipba-pagehead__title h1 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(26px, 6vw, 46px); font-weight: 900; line-height: 1.1; letter-spacing: -.5px; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; }
.cipba-pagehead__title p { margin: 12px 0 0; color: var(--wp--preset--color--gris-teal, #607a7c); font-size: clamp(14.5px, 3.4vw, 16.5px); line-height: 1.6; max-width: 780px; }
.cipba-cta { background: linear-gradient(135deg, #00a48a 0%, #008c75 100%); padding: 48px 24px; }
.cipba-cta__inner { max-width: 900px !important; margin: 0 auto !important; text-align: center; color: #fff; }
.cipba-cta__inner h3 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(20px, 3vw, 28px); font-weight: 900; color: #fff; margin: 0 0 10px; }
.cipba-cta__inner p { font-size: 15px; color: rgba(255,255,255,.92); max-width: 640px; margin: 0 auto 22px; }
.cipba-cta__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cipba-cta__btn { background: #fff; color: #008c75 !important; padding: 12px 24px; border-radius: 6px; font-weight: 800; font-size: 14.5px; text-decoration: none !important; transition: transform var(--cipba-fast, .2s); }
.cipba-cta__btn:hover { transform: translateY(-2px); }
.cipba-cta__btn--ghost { background: rgba(255,255,255,.15); color: #fff !important; border: 1px solid rgba(255,255,255,.4); font-weight: 700; }
.cipba-subcom-full__mail { display: inline-block; margin-top: 6px; font-size: 13px; color: var(--wp--preset--color--verde-500, #00a48a); text-decoration: none !important; word-break: break-all; }
.cipba-subcom-full__mail::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 7px; vertical-align: -1px; background: #9aa8a9; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") center / contain no-repeat; }
.cipba-subcom-full__mail:hover { color: var(--wp--preset--color--verde-700, #14484a); }

/* ==========================================================================
   Sedes y delegaciones ([cipba_sedes]) — tarjeta ancha oscura para la Casa
   Central y tarjetas claras para las delegaciones.
   ========================================================================== */
.cipba-sedes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1200px !important; margin: 0 auto !important; }
@media (max-width: 900px) { .cipba-sedes-grid { grid-template-columns: 1fr; } }
.cipba-sede { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 14px; padding: 24px 26px; box-shadow: 0 2px 12px rgba(0,0,0,.05); color: var(--wp--preset--color--tinta-900, #373d3e); }
.cipba-sede--main { grid-column: 1 / -1; padding: 32px; border: 0; color: #fff; background: linear-gradient(135deg, #14484a 0%, #1a5f5c 100%); box-shadow: 0 12px 40px rgba(20,72,74,.18); }
.cipba-sede--main::before { content: ""; position: absolute; top: -40px; right: -40px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(0,164,138,.25) 0%, transparent 70%); pointer-events: none; }
.cipba-sede__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; position: relative; }
.cipba-sede__tag { font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--wp--preset--color--verde-500, #00a48a); margin-bottom: 6px; }
.cipba-sede--main .cipba-sede__tag { color: var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-sede__head h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 19px; font-weight: 900; line-height: 1.1; color: var(--wp--preset--color--tinta-900, #373d3e); margin: 0; }
.cipba-sede--main .cipba-sede__head h3 { font-size: 28px; color: #fff; }
.cipba-sede__badge { display: flex; align-items: center; gap: 5px; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; padding: 5px 12px; border-radius: 20px; font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.cipba-sede__body { position: relative; display: grid; grid-template-columns: 1fr; }
.cipba-sede--main .cipba-sede__body { grid-template-columns: 1fr 1fr; gap: 28px; }
@media (max-width: 900px) { .cipba-sede--main .cipba-sede__body { grid-template-columns: 1fr; } .cipba-sede--main { padding: 24px; } }
.cipba-sede__row { display: flex; gap: 12px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px dashed var(--wp--preset--color--verde-100, #e8f5f1); }
.cipba-sede__row:last-child { border-bottom: 0; margin-bottom: 0; }
.cipba-sede--main .cipba-sede__row { border-bottom: 1px solid rgba(255,255,255,.1); }
.cipba-sede--main .cipba-sede__row:last-child { border-bottom: 0; }
.cipba-sede__ico { width: 28px; height: 28px; border-radius: 6px; flex-shrink: 0; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-sede--main .cipba-sede__ico { background: rgba(255,255,255,.1); color: var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-sede__lbl { font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--gris-400, #9aa8a9); margin-bottom: 3px; }
.cipba-sede--main .cipba-sede__lbl { color: rgba(255,255,255,.5); }
.cipba-sede__val { font-size: 14px; line-height: 1.45; min-width: 0; word-break: break-word; }
.cipba-sede__val.is-strong { font-weight: 600; }
.cipba-sede__val a { color: inherit !important; text-decoration: none !important; border-bottom: 1px dotted var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-sede--main .cipba-sede__val a { border-bottom-color: rgba(255,255,255,.75); }
.cipba-sede__contacts-title { display: flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--wp--preset--color--verde-200, #c0e2ca); margin-bottom: 12px; }
.cipba-sede__contacts-list { display: flex; flex-direction: column; gap: 8px; max-height: 420px; overflow-y: auto; padding-right: 4px; }
.cipba-sede-contact { padding: 12px 14px; border-radius: 8px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; gap: 4px; }
.cipba-sede-contact__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cipba-sede-contact__name { font-size: 13.5px; font-weight: 800; color: #fff; }
.cipba-sede-contact__rol { font-size: 10.5px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap; color: var(--wp--preset--color--verde-200, #c0e2ca); background: rgba(0,164,138,.3); padding: 2px 8px; border-radius: 3px; }
.cipba-sede-contact__links { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; }
.cipba-sede-contact__links a { display: inline-flex; align-items: center; gap: 4px; color: rgba(255,255,255,.7) !important; text-decoration: none !important; }
.cipba-sede-contact__links a:hover { color: #fff !important; }

/* ==========================================================================
   Autoridades ([cipba_autoridades]) — tarjeta con avatar de iniciales; la
   Presidencia va destacada y de doble ancho.
   ========================================================================== */
.cipba-autoridades-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; max-width: 1200px !important; margin: 0 auto !important; }
.cipba-autoridad { position: relative; overflow: hidden; display: flex; gap: 16px; align-items: flex-start; padding: 24px 22px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04); color: var(--wp--preset--color--tinta-900, #373d3e); transition: transform var(--cipba-base, .3s) var(--cipba-ease, ease), box-shadow var(--cipba-base, .3s) var(--cipba-ease, ease), border-color var(--cipba-base, .3s); }
.cipba-autoridad:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.08); border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-autoridad--main { grid-column: span 2; border: 0; color: #fff; background: linear-gradient(135deg, #14484a 0%, #1a5f5c 100%); box-shadow: 0 8px 24px rgba(20,72,74,.18); }
.cipba-autoridad--main:hover { transform: none; box-shadow: 0 8px 24px rgba(20,72,74,.18); }
@media (max-width: 640px) { .cipba-autoridad--main { grid-column: auto; } }
.cipba-autoridad__badge { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; gap: 5px; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; border-radius: 20px; padding: 4px 10px; font-size: 10.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.cipba-autoridad__avatar { flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-family: var(--wp--preset--font-family--condensed); font-weight: 900; font-size: 18px; color: var(--wp--preset--color--verde-700, #14484a); background: linear-gradient(135deg, #e8f5f1, #c0e2ca); }
.cipba-autoridad--main .cipba-autoridad__avatar { width: 72px; height: 72px; font-size: 22px; color: #fff; background: linear-gradient(135deg, #00a48a, #008c75); border: 3px solid rgba(255,255,255,.2); }
.cipba-autoridad__body { min-width: 0; flex: 1; }
.cipba-autoridad__cargo { font-size: 11.5px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--verde-500, #00a48a); margin-bottom: 4px; }
.cipba-autoridad--main .cipba-autoridad__cargo { color: var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-autoridad__nombre { font-size: 15.5px; font-weight: 800; line-height: 1.3; margin-bottom: 4px; text-wrap: pretty; }
.cipba-autoridad--main .cipba-autoridad__nombre { font-size: 19px; color: #fff; }
.cipba-autoridad__titulo { font-size: 13px; font-style: italic; color: var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-autoridad--main .cipba-autoridad__titulo { color: rgba(255,255,255,.7); }
@media (prefers-reduced-motion: reduce) { .cipba-autoridad { transition: none; } .cipba-autoridad:hover { transform: none; } }

/* ==========================================================================
   Página Institucional — hero oscuro con navegación rápida y cabeceras de
   sección centradas (Autoridades, Sedes).
   ========================================================================== */
.cipba-inst-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, #14484a 0%, #1a5f5c 60%, #00a48a 100%); }
.cipba-inst-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .06; background: url(assets/img/crosshatch.svg) repeat; }
.cipba-inst-hero__inner { max-width: 1200px !important; margin: 0 auto !important; padding: 48px 24px 56px !important; position: relative; }
.cipba-inst-hero__crumbs { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; font-size: 13px; color: rgba(255,255,255,.65); }
.cipba-inst-hero__crumbs a { color: inherit; text-decoration: none; }
.cipba-inst-hero__crumbs a:hover { color: var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-inst-hero__crumbs strong { color: #fff; }
.cipba-inst-hero__badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(0,164,138,.22); border: 1px solid rgba(0,164,138,.4); border-radius: 20px; padding: 5px 14px; margin-bottom: 16px; color: var(--wp--preset--color--verde-200, #c0e2ca); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.cipba-inst-hero__badge i { width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-inst-hero h1 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(28px, 5vw, 48px); font-weight: 900; line-height: 1.1; letter-spacing: -.5px; color: #fff; margin: 0 0 18px; }
.cipba-inst-hero p { font-size: 17px; line-height: 1.6; max-width: 720px; margin: 0 0 24px; color: rgba(255,255,255,.82); }
.cipba-inst-hero__nav { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.cipba-inst-hero__nav a { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #fff !important; font-size: 13px; font-weight: 600; padding: 8px 16px; border-radius: 6px; text-decoration: none !important; transition: background var(--cipba-fast, .2s), border-color var(--cipba-fast, .2s); }
.cipba-inst-hero__nav a:hover { background: rgba(0,164,138,.4); border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-inst-section { background: #fff; padding: 64px 0; scroll-margin-top: 88px; }
.cipba-inst-section--alt { background: var(--wp--preset--color--gris-100, #eef2f1); }
.cipba-inst-head { text-align: center; margin-bottom: 36px; }
.cipba-inst-head__eyebrow { color: var(--wp--preset--color--verde-500, #00a48a); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px; }
.cipba-inst-head h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(24px, 3.4vw, 34px); font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 10px; }
.cipba-inst-head p { color: var(--wp--preset--color--gris-teal, #607a7c); font-size: 15px; line-height: 1.6; max-width: 580px; margin: 0 auto; }
.cipba-inst-head__pill { display: inline-block; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); font-size: 13px; font-weight: 700; padding: 5px 14px; border-radius: 20px; }

/* Partidos comprendidos (Institucional): mapa + listado con buscador. */
.cipba-partidos-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 32px; align-items: start; }
@media (max-width: 860px) { .cipba-partidos-grid { grid-template-columns: 1fr; } }
.cipba-partidos-map { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; padding: 32px 28px; box-shadow: 0 4px 16px rgba(0,0,0,.05); position: sticky; top: 88px; }
@media (max-width: 860px) { .cipba-partidos-map { position: static; } }
.cipba-partidos-map__label { font-size: 11.5px; font-weight: 800; color: var(--wp--preset--color--gris-400, #9aa8a9); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px; text-align: center; }
.cipba-partidos-map img { width: 100%; height: auto; display: block; border-radius: 8px; border: 1px solid var(--cipba-border-card, #e8f5f1); }
.cipba-partidos-map__caption { margin-top: 10px; font-size: 11.5px; color: var(--wp--preset--color--gris-400, #9aa8a9); font-style: italic; text-align: center; }
.cipba-partidos-map__sede { margin-top: 18px; padding: 14px 16px; background: var(--wp--preset--color--verde-100, #e8f5f1); border-radius: 8px; display: flex; align-items: center; gap: 10px; }
.cipba-partidos-map__sede-ico { width: 36px; height: 36px; border-radius: 50%; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.cipba-partidos-map__sede-lbl { font-size: 11px; font-weight: 700; color: var(--wp--preset--color--gris-400, #9aa8a9); text-transform: uppercase; letter-spacing: .5px; }
.cipba-partidos-map__sede-val { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); }

.cipba-partidos-list { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; padding: 24px; }
.cipba-partidos-search { display: flex; align-items: center; gap: 10px; background: var(--wp--preset--color--gris-50, #f7faf9); border: 1.5px solid var(--cipba-border-input, #dbe6e3); border-radius: 6px; padding: 10px 14px; margin-bottom: 16px; color: var(--wp--preset--color--gris-400, #9aa8a9); transition: border-color var(--cipba-fast, .2s); }
.cipba-partidos-search:focus-within { border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-partidos-search input { flex: 1; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent; padding: 0 !important; font-size: 13.5px; color: var(--wp--preset--color--tinta-900, #373d3e); }
.cipba-partidos-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.cipba-partidos-item { display: flex; align-items: center; gap: 8px; padding: 9px 12px; background: var(--wp--preset--color--gris-50, #f7faf9); border-radius: 6px; border: 1px solid transparent; font-size: 13.5px; font-weight: 600; color: #4a6062; transition: all .15s; }
.cipba-partidos-item:hover { background: var(--wp--preset--color--verde-100, #e8f5f1); border-color: var(--wp--preset--color--verde-500, #00a48a); color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-partidos-item[hidden] { display: none; }
.cipba-partidos-item__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--verde-500, #00a48a); flex-shrink: 0; }
.cipba-partidos-empty { padding: 20px; text-align: center; color: var(--wp--preset--color--gris-400, #9aa8a9); font-size: 14px; }
.cipba-partidos-empty[hidden] { display: none; }
.cipba-partidos-count { margin-top: 16px; font-size: 12.5px; color: var(--wp--preset--color--gris-400, #9aa8a9); text-align: right; }

/* Scroll de "Áreas y contactos directos": mismo estilo que el prototipo
   (barra de 6px, pista #eef2f1, pulgar #1a5f5c redondeado). */
.cipba-sede__contacts-list { scrollbar-width: thin; scrollbar-color: #1a5f5c #eef2f1; }
.cipba-sede__contacts-list::-webkit-scrollbar { width: 6px; }
.cipba-sede__contacts-list::-webkit-scrollbar-track { background: #eef2f1; }
.cipba-sede__contacts-list::-webkit-scrollbar-thumb { background: #1a5f5c; border-radius: 3px; }

/* ==========================================================================
   Barra superior — se imprime antes del #masthead y scrollea con la página
   (no es sticky; el sticky es el #masthead, ver "Header sticky" arriba).
   ========================================================================== */
.cipba-topbar { background: var(--wp--preset--color--verde-700, #14484a); color: rgba(255,255,255,.85); font-size: 12.5px; border-bottom: 1px solid rgba(255,255,255,.1); }
.cipba-topbar__inner { max-width: 1200px; margin: 0 auto; padding: 7px 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.cipba-topbar__group { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.cipba-topbar__group--right { gap: 18px; }
.cipba-topbar__item, .cipba-topbar__link { display: inline-flex; align-items: center; gap: 6px; color: inherit !important; text-decoration: none !important; }
.cipba-topbar__link { gap: 5px; opacity: .8; transition: opacity var(--cipba-fast, .2s); }
.cipba-topbar__cs { gap: 4px; }
.cipba-topbar__link:hover { opacity: 1; }
.cipba-topbar svg { flex-shrink: 0; }
@media (max-width: 700px) { .cipba-topbar__hours, .cipba-topbar__cs { display: none !important; } }

/* ==========================================================================
   Página Contacto — hero con botón, áreas, formulario (Fluent Forms) y sedes
   ========================================================================== */
.cipba-inst-hero__cta { display: inline-flex; align-items: center; gap: 6px; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff !important; font-size: 13px; font-weight: 700; padding: 10px 20px; border-radius: 6px; text-decoration: none !important; transition: background var(--cipba-fast, .2s); }
.cipba-inst-hero__cta:hover { background: var(--wp--preset--color--verde-600, #008c75); }

.cipba-contact { background: var(--wp--preset--color--gris-100, #eef2f1); padding: 56px 0 64px; scroll-margin-top: 88px; }
.cipba-contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 34px; align-items: stretch; }
@media (max-width: 900px) { .cipba-contact-grid { grid-template-columns: 1fr; } }
.cipba-contact-side { display: grid; gap: 16px; align-content: start; }

/* Áreas */
.cipba-areas { display: grid; gap: 16px; }
.cipba-area { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; padding: 22px 24px; }
.cipba-area__head { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.cipba-area__ico { width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); }
.cipba-area__head h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 17px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; }
.cipba-area__people { display: grid; gap: 9px; }
.cipba-area__person { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.cipba-area__name { font-size: 13.5px; font-weight: 700; color: #4a6062; }
.cipba-area__person-links { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.cipba-area__person a { font-size: 13.5px; color: #00705e; white-space: nowrap; text-decoration: none !important; }
.cipba-area__person a:hover { text-decoration: underline !important; }
.cipba-area__mail { display: inline-flex; align-items: center; gap: 6px; width: 100%; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--wp--preset--color--verde-100, #e8f5f1); font-size: 13px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; word-break: break-all; }
.cipba-area__mail svg { color: var(--wp--preset--color--verde-500, #00a48a); flex-shrink: 0; }

/* Botón WhatsApp */
.cipba-wa-btn { display: flex; align-items: center; justify-content: center; gap: 10px; background: #25d366; color: #fff !important; padding: 14px 20px; border-radius: 8px; font-weight: 700; font-size: 15px; text-decoration: none !important; transition: background var(--cipba-fast, .2s); }
.cipba-wa-btn:hover { background: #1da851; }

/* Tarjeta del formulario */
.cipba-contact-form { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; padding: 28px 30px 30px; }
@media (max-width: 600px) { .cipba-contact-form { padding: 22px 18px 24px; } }
.cipba-contact-form__eyebrow { color: var(--wp--preset--color--verde-500, #00a48a); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; }
.cipba-contact-form h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(21px, 2.6vw, 27px); font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 18px; }

/* Fluent Forms con la apariencia del prototipo */
.cipba-contact-form .fluentform .ff-el-group { margin-bottom: 16px; }
.cipba-contact-form .fluentform .ff-t-container { gap: 16px; }
.cipba-contact-form .fluentform .ff-t-cell { padding: 0; }
.cipba-contact-form .fluentform .ff-el-input--label label { font-size: 13.5px; font-weight: 700; color: #4a6062; margin-bottom: 6px; }
.cipba-contact-form .fluentform .ff-el-form-control { width: 100%; padding: 10px 14px; border: 1.5px solid var(--cipba-border-input, #dbe6e3); border-radius: 6px; font-family: inherit; font-size: 14px; color: var(--wp--preset--color--tinta-900, #373d3e); background: #fff; box-shadow: none; transition: border-color var(--cipba-fast, .2s); }
.cipba-contact-form .fluentform .ff-el-form-control::placeholder { color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-contact-form .fluentform .ff-el-form-control:focus { border-color: var(--wp--preset--color--verde-500, #00a48a); outline: 0; box-shadow: none; }
.cipba-contact-form .fluentform textarea.ff-el-form-control { min-height: 130px; resize: vertical; }
.cipba-contact-form .fluentform .ff-el-is-error .ff-el-form-control { border-color: #c0392b; }
.cipba-contact-form .fluentform .text-danger, .cipba-contact-form .fluentform .error { color: #c0392b; font-size: 12px; margin-top: 4px; }
.cipba-contact-form .fluentform .ff-btn-submit { width: 100%; padding: 13px; border: 0; border-radius: 6px; background: var(--wp--preset--color--verde-700, #14484a) !important; color: #fff !important; font-size: 15px; font-weight: 700; transition: background var(--cipba-fast, .2s); }
.cipba-contact-form .fluentform .ff-btn-submit:hover { background: var(--wp--preset--color--verde-800, #1a5f5c) !important; opacity: 1; }
.cipba-contact-form .fluentform .ff_submit_btn_wrapper { margin-bottom: 0; }
.cipba-contact-form .ff-message-success { border: 0; border-radius: 10px; padding: 32px; text-align: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-700, #14484a); font-size: 15px; box-shadow: none; }
@media (max-width: 600px) { .cipba-contact-form .fluentform .ff-t-container { flex-direction: column; gap: 0; } }

/* Sedes y delegaciones (compactas) */
.cipba-contact-sedes { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-contact-sedes h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 20px; font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 16px; }
.cipba-sedes-mini { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1100px) { .cipba-sedes-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cipba-sedes-mini { grid-template-columns: 1fr; } }
.cipba-sede-mini { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; padding: 20px 22px 22px; }
.cipba-sede-mini--main { background: var(--wp--preset--color--verde-700, #14484a); border: 0; box-shadow: 0 10px 28px rgba(20,72,74,.18); color: rgba(255,255,255,.88); }
.cipba-sede-mini__tag { font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--verde-500, #00a48a); margin-bottom: 4px; }
.cipba-sede-mini--main .cipba-sede-mini__tag { color: var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-sede-mini h4 { font-family: var(--wp--preset--font-family--condensed); font-size: 17px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 12px; }
.cipba-sede-mini--main h4 { color: #fff; }
.cipba-sede-mini__rows { display: grid; gap: 8px; font-size: 13.5px; color: #4a6062; }
.cipba-sede-mini--main .cipba-sede-mini__rows { color: rgba(255,255,255,.88); }
.cipba-sede-mini__row { display: flex; gap: 8px; }
.cipba-sede-mini__row svg { flex-shrink: 0; margin-top: 3px; color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-sede-mini--main .cipba-sede-mini__row svg { color: var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-sede-mini__row a { color: inherit !important; text-decoration: none !important; border-bottom: 1px dotted rgba(96,122,124,.6); word-break: break-all; }
.cipba-sede-mini--main .cipba-sede-mini__row a { border-bottom-color: rgba(255,255,255,.4); }

/* Mensaje del envío, debajo del botón; se desvanece solo (ver assets/js/contact-form.js). */
.cipba-contact-form .ff-message-success,
.cipba-contact-form .ff-errors-in-stack { margin: 14px 0 0; padding: 13px 16px; border: 0; border-radius: 6px; font-size: 14px; line-height: 1.5; text-align: center; box-shadow: none; opacity: 1; transition: opacity .4s ease; }
.cipba-contact-form .ff-message-success { background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-contact-form .ff-errors-in-stack { background: #fdecea; color: #a93226; }
.cipba-contact-form .ff-message-success.is-hiding,
.cipba-contact-form .ff-errors-in-stack.is-hiding { opacity: 0; }

/* ==========================================================================
   Trámites (single-tramite.php): requisitos, avisos, documentos, costo, ayuda
   y "Otros trámites". Mismo diseño que tramites-shell.jsx del prototipo.
   ========================================================================== */
.cipba-tramite-main { background: var(--wp--preset--color--gris-50, #f7faf9); padding: 48px 0 56px; }
.cipba-tramite-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 34px; align-items: start; }
@media (max-width: 900px) { .cipba-tramite-grid { grid-template-columns: 1fr; } }
.cipba-tramite-col { display: grid; gap: 28px; min-width: 0; }
.cipba-tramite-aside { display: grid; gap: 16px; }
@media (min-width: 901px) {
	.cipba-tramite-aside { position: sticky; top: 132px; }
	.admin-bar .cipba-tramite-aside { top: 164px; }
}

/* Requisitos: lista numerada en tarjetas (el contenido es una lista del editor) */
.cipba-req h2, .cipba-docs h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(20px, 2.6vw, 26px); font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 18px; }
.cipba-req h2.has-sub { margin-bottom: 8px; }
.cipba-req__sub, .cipba-docs__intro { font-size: 14.5px; line-height: 1.65; color: var(--wp--preset--color--gris-teal, #607a7c); margin: 0 0 18px; text-wrap: pretty; }
.cipba-req__list ol, .cipba-req__list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: req; }
.cipba-req__list li { counter-increment: req; position: relative; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; padding: 14px 16px 14px 52px; font-size: 14px; line-height: 1.6; color: #4a6062; margin: 0; text-wrap: pretty; }
.cipba-req__list li::before { content: counter(req); position: absolute; left: 16px; top: 14px; width: 24px; height: 24px; border-radius: 6px; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); font-family: var(--wp--preset--font-family--condensed); font-size: 12.5px; font-weight: 800; }
.cipba-req__list ul li::before { content: ""; width: 8px; height: 8px; left: 24px; top: 22px; border-radius: 2px; background: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-req__list li strong, .cipba-req__list li b { color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-req__list p { font-size: 14px; line-height: 1.6; color: #4a6062; margin: 0 0 10px; }

/* Avisos */
.cipba-aviso { display: flex; gap: 12px; background: var(--wp--preset--color--verde-100, #e8f5f1); border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); border-radius: 10px; padding: 16px 18px; color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-aviso__ico { flex-shrink: 0; color: var(--wp--preset--color--verde-500, #00a48a); padding-top: 1px; }
.cipba-aviso--ambar { background: #fff8e6; border-color: #f0d79a; color: #6b5417; }
.cipba-aviso--ambar .cipba-aviso__ico { color: #b98a1a; }
.cipba-aviso__body { flex: 1; min-width: 0; }
.cipba-aviso__title { font-family: var(--wp--preset--font-family--condensed); font-size: 15px; font-weight: 700; margin-bottom: 5px; }
.cipba-aviso__text, .cipba-aviso__text p { font-size: 13.5px; line-height: 1.65; margin: 0 0 8px; text-wrap: pretty; }
.cipba-aviso__text > *:last-child { margin-bottom: 0; }
.cipba-aviso__text a { color: #00705e; font-weight: 700; }

/* Documentos */
.cipba-docs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 640px) { .cipba-docs__grid { grid-template-columns: 1fr; } }
.cipba-doc { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; padding: 15px 17px; text-decoration: none !important; transition: border-color var(--cipba-fast, .2s), box-shadow var(--cipba-fast, .2s); }
.cipba-doc:hover { border-color: var(--wp--preset--color--verde-500, #00a48a); box-shadow: 0 8px 22px rgba(20,72,74,.10); }
.cipba-doc__ico { width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); }
.cipba-doc__body { flex: 1; min-width: 0; display: block; }
.cipba-doc__title { display: block; font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-doc__meta { display: block; margin-top: 2px; font-size: 11.5px; letter-spacing: .6px; text-transform: uppercase; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-doc__go { color: var(--wp--preset--color--verde-500, #00a48a); display: flex; }

/* Cuadro de costo y ayuda (columna lateral) */
.cipba-costo { background: var(--wp--preset--color--verde-700, #14484a); color: #fff; border-radius: 12px; padding: 22px 24px 24px; }
.cipba-costo h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 19px; font-weight: 900; color: #fff; margin: 0 0 16px; }
.cipba-costo__row { padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px dashed rgba(255,255,255,.18); }
.cipba-costo__row:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.cipba-costo__label { font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 3px; }
.cipba-costo__value { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.88); }
.cipba-ayuda { background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; padding: 22px 24px 24px; }
.cipba-ayuda h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 18px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 8px; }
.cipba-ayuda p { font-size: 13.5px; line-height: 1.6; color: var(--wp--preset--color--gris-teal, #607a7c); margin: 0 0 16px; }
.cipba-ayuda a { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; font-size: 13.5px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; word-break: break-all; }
.cipba-ayuda a:last-child { margin-bottom: 0; }
.cipba-ayuda .ico { color: var(--wp--preset--color--verde-500, #00a48a); display: flex; }
.cipba-ayuda .ico--wa { color: #25d366; }

/* Otros trámites */
.cipba-otros { background: var(--wp--preset--color--gris-100, #eef2f1); border-top: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); padding: 44px 0 52px; }
.cipba-otros h2 { font-family: var(--wp--preset--font-family--condensed); font-size: 20px; font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 16px; }
.cipba-otros__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .cipba-otros__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cipba-otros__grid { grid-template-columns: 1fr; } }
.cipba-otros__grid a { display: flex; align-items: center; gap: 11px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; padding: 16px 18px; font-size: 14px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; transition: border-color var(--cipba-fast, .2s), transform var(--cipba-fast, .2s); }
.cipba-otros__grid a:hover { border-color: var(--wp--preset--color--verde-500, #00a48a); transform: translateY(-2px); }
.cipba-otros__ico { width: 34px; height: 34px; border-radius: 8px; flex-shrink: 0; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); }
@media (prefers-reduced-motion: reduce) { .cipba-otros__grid a { transition: none; } .cipba-otros__grid a:hover { transform: none; } }

/* ==========================================================================
   Medios de pago (single-tramite-pago-matricula.php): intro, 4 tarjetas de
   modalidad y ventanas emergentes. Mismo diseño que pago-matricula.html.
   ========================================================================== */
.cipba-pago-intro { background: #fff; padding: 56px 0; }
.cipba-pago-intro__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }
@media (max-width: 800px) { .cipba-pago-intro__grid { grid-template-columns: 1fr; gap: 28px; } }
.cipba-pago-eyebrow { color: var(--wp--preset--color--verde-500, #00a48a); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px; }
.cipba-pago-intro h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(22px, 3vw, 30px); font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 16px; }
.cipba-pago-intro__text p { font-size: 15px; line-height: 1.75; color: #4a6062; margin: 0 0 14px; text-wrap: pretty; }
.cipba-pago-intro__text a { color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-pago-tene { background: var(--wp--preset--color--gris-100, #eef2f1); border-radius: 12px; padding: 28px 26px; }
.cipba-pago-tene__title { font-size: 13px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--verde-700, #14484a); margin-bottom: 16px; }
.cipba-pago-tene__item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 14px; line-height: 1.5; color: #4a6062; }
.cipba-pago-tene__item:last-child { margin-bottom: 0; }
.cipba-pago-tene__check { flex-shrink: 0; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; }

.cipba-pago-mods { background: var(--wp--preset--color--gris-50, #f7faf9); padding: 56px 0 72px; scroll-margin-top: 110px; }
.cipba-pago-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
.cipba-pago-card { display: flex; flex-direction: column; gap: 16px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; padding: 26px 24px; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: transform var(--cipba-base, .3s) var(--cipba-ease, ease), box-shadow var(--cipba-base, .3s) var(--cipba-ease, ease), border-color var(--cipba-base, .3s); }
.cipba-pago-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(20,72,74,.10); border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-pago-card__head { display: flex; align-items: center; gap: 12px; }
.cipba-pago-card__ico { width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); }
.cipba-pago-card__tag { color: var(--wp--preset--color--verde-500, #00a48a); font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.cipba-pago-card h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 16.5px; font-weight: 800; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; }
.cipba-pago-card__desc { font-size: 13.5px; line-height: 1.6; color: #4a6062; margin: 0; text-wrap: pretty; }
.cipba-pago-card__steps { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px dashed var(--wp--preset--color--verde-100, #e8f5f1); display: flex; flex-direction: column; gap: 8px; counter-reset: paso; }
.cipba-pago-card__steps li { counter-increment: paso; display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; line-height: 1.5; color: #4a6062; margin: 0; word-break: break-word; }
.cipba-pago-card__steps li::before { content: counter(paso); flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); font-family: var(--wp--preset--font-family--condensed); font-size: 10.5px; font-weight: 800; }
.cipba-pago-card__steps a { color: var(--wp--preset--color--verde-600, #008c75); }
.cipba-pago-btn { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; padding: 10px 16px; border: 0; border-radius: 6px; background: var(--wp--preset--color--verde-700, #14484a); color: #fff !important; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none !important; transition: background var(--cipba-fast, .2s); }
.cipba-pago-btn:hover { background: var(--wp--preset--color--verde-800, #1a5f5c); }
@media (prefers-reduced-motion: reduce) { .cipba-pago-card { transition: none; } .cipba-pago-card:hover { transform: none; } }

/* Ventanas emergentes */
body.cipba-modal-open { overflow: hidden; }
.cipba-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(13,50,52,.55); }
.cipba-modal[hidden] { display: none; }
.cipba-modal__dialog { display: flex; flex-direction: column; width: 100%; max-width: 560px; max-height: 86vh; overflow: hidden; background: #fff; border-radius: 14px; box-shadow: 0 24px 60px rgba(13,50,52,.35); }
.cipba-modal__dialog--sm { max-width: 520px; }
.cipba-modal__dialog--lg { max-width: 640px; }
.cipba-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-shrink: 0; padding: 18px 22px; background: var(--wp--preset--color--verde-700, #14484a); }
.cipba-modal__eyebrow { font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--wp--preset--color--verde-200, #c0e2ca); margin-bottom: 3px; }
.cipba-modal__head h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 21px; font-weight: 900; color: #fff; margin: 0; }
.cipba-modal__close { flex-shrink: 0; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 8px; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
.cipba-modal__close:hover { background: rgba(255,255,255,.22); }
.cipba-modal__body { flex: 1; min-height: 0; overflow-y: auto; padding: 6px 22px 20px; }
.cipba-modal__body--pad { padding: 18px 22px 22px; }
.cipba-modal__lead { font-size: 13.5px; line-height: 1.65; color: #4a6062; margin: 0 0 18px; }
.cipba-modal__note { font-size: 12.5px; line-height: 1.6; color: var(--wp--preset--color--gris-teal, #607a7c); margin: 14px 0 0; text-wrap: pretty; }
.cipba-modal__note a { color: #00705e; font-weight: 700; }
.cipba-modal__alert { flex-shrink: 0; margin: 14px 22px 0; padding: 11px 13px; border: 1px solid #f0d79a; border-radius: 8px; background: #fff8e6; color: #6b5417; font-size: 12.5px; line-height: 1.6; }
.cipba-modal__frame { display: block; flex: 1 1 auto; min-height: 0; height: 38vh; width: 100%; margin-top: 14px; border: 1px solid var(--cipba-border-card, #e8f5f1); border-left: 0; border-right: 0; }
.cipba-modal__foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; flex-shrink: 0; padding: 12px 22px; border-top: 1px solid var(--cipba-border-card, #e8f5f1); font-size: 12.5px; color: var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-modal__foot a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #00705e !important; text-decoration: none !important; }
.cipba-bank-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px dashed var(--cipba-border-card, #e8f5f1); }
.cipba-bank-row:last-of-type { border-bottom: 0; }
.cipba-bank-row__label { font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--gris-400, #9aa8a9); margin-bottom: 3px; }
.cipba-bank-row__value { font-size: 15px; line-height: 1.4; color: var(--wp--preset--color--verde-700, #14484a); word-break: break-word; }
.cipba-bank-row__value.is-strong { font-weight: 700; }
.cipba-copy { flex-shrink: 0; display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); border-radius: 6px; background: #fff; color: var(--wp--preset--color--verde-800, #1a5f5c); font-family: inherit; font-size: 11.5px; font-weight: 700; cursor: pointer; transition: all var(--cipba-fast, .2s); }
.cipba-copy.is-ok { background: var(--wp--preset--color--verde-100, #e8f5f1); border-color: var(--wp--preset--color--verde-500, #00a48a); color: #00705e; }
.cipba-pmc-table { border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.cipba-pmc-table__row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 10px 14px; background: #fff; border-bottom: 1px solid var(--cipba-border-card, #e8f5f1); }
.cipba-pmc-table__row:nth-child(even) { background: var(--wp--preset--color--gris-50, #f7faf9); }
.cipba-pmc-table__row:last-child { border-bottom: 0; }
.cipba-pmc-table__row span { font-size: 11.5px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-pmc-table__row strong { font-size: 14px; color: var(--wp--preset--color--verde-700, #14484a); white-space: nowrap; }
.cipba-pmc-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 560px) { .cipba-pmc-cols { grid-template-columns: 1fr; } .cipba-pmc-table__row { flex-direction: column; gap: 2px; } }
.cipba-pmc-cols__title { font-family: var(--wp--preset--font-family--condensed); font-size: 15px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); padding-bottom: 8px; margin-bottom: 10px; border-bottom: 2px solid var(--wp--preset--color--verde-500, #00a48a); }
.cipba-pmc-cols ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; counter-reset: pmc; }
.cipba-pmc-cols li { counter-increment: pmc; display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: #4a6062; margin: 0; }
.cipba-pmc-cols li::before { content: counter(pmc); flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: var(--wp--preset--color--verde-800, #1a5f5c); font-size: 10.5px; font-weight: 800; }
.cipba-modal__close { width: 34px !important; height: 34px !important; min-width: 34px; padding: 0 !important; line-height: 1; }
.cipba-copy { padding: 5px 9px !important; line-height: 1.2; }
.cipba-pago-btn { line-height: 1.3; }
.cipba-pago-card__steps li > span { min-width: 0; flex: 1; }

/* ==========================================================================
   Eventos y novedades: listado ([cipba_novedades]) y detalle (single.php).
   Mismo diseño que novedades.html / novedad.html del prototipo.
   ========================================================================== */
.cipba-badge { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; white-space: nowrap; }
.cipba-badge--dest { background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; }

/* Tabs "Eventos y novedades" / "Noticias" (?tipo= en la URL) */
.cipba-nov-tabs__inner { display: flex; gap: 30px; }
.cipba-nov-tab { display: inline-block; border-bottom: 3px solid transparent; padding: 14px 2px 12px; font-family: var(--wp--preset--font-family--condensed); font-size: 17px; font-weight: 700; color: var(--wp--preset--color--gris-teal, #607a7c); text-decoration: none !important; transition: color .2s, border-color .2s; white-space: nowrap; }
.cipba-nov-tab:hover { color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-nov-tab.is-active { color: var(--wp--preset--color--verde-700, #14484a); border-bottom-color: var(--wp--preset--color--verde-500, #00a48a); }
@media (max-width: 760px) { .cipba-nov-tabs__inner { gap: 22px; overflow-x: auto; scrollbar-width: none; } .cipba-nov-tabs__inner::-webkit-scrollbar { display: none; } .cipba-nov-tab { font-size: 15.5px; } }

/* Filtros (barra fija bajo el header) */
.cipba-nov-filtros { position: sticky; top: 109px; z-index: 40; background: #fff; border-top: 1px solid var(--wp--preset--color--gris-100, #eef2f1); border-bottom: 1px solid var(--cipba-border-card, #e8f5f1); }
.admin-bar .cipba-nov-filtros { top: 141px; }
.cipba-nov-filtros__inner { max-width: 1200px !important; margin: 0 auto !important; padding: 16px 24px !important; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.cipba-nov-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.cipba-chip { padding: 8px 16px !important; border: 1px solid #dfe9e7; border-radius: 20px; background: #fff; color: #4a6062; font-family: inherit; font-size: 13.5px; font-weight: 700; line-height: 1.3; cursor: pointer; transition: all var(--cipba-fast, .2s); }
.cipba-chip:hover { border-color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-chip.is-active { background: var(--wp--preset--color--verde-700, #14484a); border-color: var(--wp--preset--color--verde-700, #14484a); color: #fff; }
.cipba-nov-search { display: flex; align-items: center; gap: 8px; min-width: 230px; padding: 8px 14px; border: 1px solid #dfe9e7; border-radius: 20px; background: var(--wp--preset--color--gris-50, #f7faf9); color: var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-nov-search input { flex: 1; width: 100%; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent; padding: 0 !important; font-family: inherit; font-size: 13.5px; color: var(--wp--preset--color--tinta-900, #373d3e); }
@media (max-width: 760px) {
	.cipba-nov-filtros__inner { flex-direction: column; align-items: stretch; gap: 10px; padding: 10px 16px !important; }
	.cipba-nov-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
	.cipba-nov-chips::-webkit-scrollbar { display: none; }
	.cipba-chip { flex-shrink: 0; }
	.cipba-nov-search { min-width: 0; }
}

/* Cuerpo del listado */
.cipba-nov-body { background: var(--wp--preset--color--gris-50, #f7faf9); padding: 36px 0 60px; }
.cipba-nov-count { margin-bottom: 18px; font-size: 13px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-nov-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1000px) { .cipba-nov-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cipba-nov-grid { grid-template-columns: 1fr; } }
.cipba-nov-card[hidden], .cipba-nov-dest[hidden], .cipba-nov-empty[hidden] { display: none !important; }
.cipba-nov-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04); text-decoration: none !important; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.cipba-nov-card:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--verde-500, #00a48a); box-shadow: 0 12px 28px rgba(20,72,74,.12); }
.cipba-nov-card__img { aspect-ratio: 16 / 10; background: var(--wp--preset--color--gris-100, #eef2f1); overflow: hidden; }
.cipba-nov-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cipba-nov-card__body { display: flex; flex-direction: column; gap: 9px; flex: 1; padding: 16px 18px 20px; }
.cipba-nov-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.cipba-nov-card__meta > span:not(.cipba-badge) { font-size: 12px; font-weight: 600; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-nov-card h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; text-wrap: pretty; }
.cipba-nov-card p { font-size: 14px; line-height: 1.6; color: var(--wp--preset--color--gris-teal, #607a7c); margin: 0; text-wrap: pretty; }
.cipba-nov-card__more { display: flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 6px; font-size: 13.5px; font-weight: 800; color: #00705e; }

/* Eventos y novedades: flyer vertical 4:5 en vez de la foto apaisada 16:10 */
.cipba-nov-card--evento .cipba-nov-card__img { aspect-ratio: 4 / 5; }

/* Publicación destacada */
.cipba-nov-dest { display: grid; grid-template-columns: 1.05fr 1fr; margin-bottom: 26px; overflow: hidden; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.04); text-decoration: none !important; transition: box-shadow .22s ease, border-color .22s ease; }
.cipba-nov-dest:hover { border-color: var(--wp--preset--color--verde-500, #00a48a); box-shadow: 0 14px 32px rgba(20,72,74,.13); }
.cipba-nov-dest__img { min-height: 300px; background: var(--wp--preset--color--gris-100, #eef2f1); overflow: hidden; }
.cipba-nov-dest__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cipba-nov-dest__txt { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 34px 38px 36px; }
.cipba-nov-dest h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(24px, 3vw, 32px); font-weight: 900; line-height: 1.15; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; text-wrap: pretty; }
.cipba-nov-dest p { font-size: 15.5px; line-height: 1.65; color: var(--wp--preset--color--gris-teal, #607a7c); margin: 0; text-wrap: pretty; }
.cipba-nov-dest__facts { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13.5px; font-weight: 600; color: #4a6062; }
.cipba-nov-dest__facts span { display: inline-flex; align-items: center; gap: 6px; }
.cipba-nov-dest__facts svg { color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-nov-dest__btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 11px 20px; border-radius: 6px; background: var(--wp--preset--color--verde-700, #14484a); color: #fff; font-size: 14px; font-weight: 700; }
@media (max-width: 1000px) { .cipba-nov-dest { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .cipba-nov-dest__img { min-height: 200px; aspect-ratio: 16 / 9; } .cipba-nov-dest__txt { padding: 22px 20px 24px; gap: 11px; } }

/* Eventos y novedades: flyer vertical sin recortar, centrado, con el fondo como marco */
.cipba-nov-dest--flyer .cipba-nov-dest__img { display: flex; align-items: center; justify-content: center; }
.cipba-nov-dest--flyer .cipba-nov-dest__img img { width: auto; height: 100%; max-width: 100%; object-fit: contain; }
@media (max-width: 760px) { .cipba-nov-dest--flyer .cipba-nov-dest__img { min-height: 0; aspect-ratio: 4 / 5; } }
.cipba-nov-empty { padding: 46px 24px; text-align: center; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; color: var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-nov-empty strong { display: block; margin-bottom: 6px; font-family: var(--wp--preset--font-family--condensed); font-size: 20px; color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-nov-empty p { margin: 0; font-size: 14px; }

/* Detalle */
.cipba-nota__inner { max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }
.cipba-nota__head { background: #fff; padding: 38px 0 30px; }
.cipba-nota__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.cipba-nota__meta > span:not(.cipba-badge) { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-nota__head h1 { max-width: 940px; font-family: var(--wp--preset--font-family--condensed); font-size: clamp(30px, 4.4vw, 46px); font-weight: 900; line-height: 1.1; letter-spacing: -.5px; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; text-wrap: pretty; }
.cipba-nota__lead { max-width: 780px; margin: 14px 0 0; padding-left: 16px; border-left: 3px solid var(--wp--preset--color--verde-500, #00a48a); font-size: 18px; font-weight: 300; line-height: 1.6; color: #4a6062; text-wrap: pretty; }
.cipba-nota__hero { background: #fff; padding-bottom: 46px; }
.cipba-nota__hero-img { aspect-ratio: 21 / 9; overflow: hidden; background: var(--wp--preset--color--gris-100, #eef2f1); border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 14px; }
.cipba-nota__hero-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cipba-nota__main { background: var(--wp--preset--color--gris-50, #f7faf9); border-top: 1px solid var(--cipba-border-card, #e8f5f1); padding: 46px 0 56px; }
.cipba-nota__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 900px) { .cipba-nota__grid { grid-template-columns: 1fr; } }
.cipba-nota__cuerpo { min-width: 0; }
.cipba-nota__cuerpo > * { margin-top: 0; margin-bottom: 18px; }
.cipba-nota__cuerpo p { font-size: 16.5px; line-height: 1.75; color: #4a6062; text-wrap: pretty; }
.cipba-nota__cuerpo h2, .cipba-nota__cuerpo h3 { font-family: var(--wp--preset--font-family--condensed); font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin-top: 26px; }
.cipba-nota__cuerpo h2 { font-size: 24px; }
.cipba-nota__cuerpo h3 { font-size: 20px; }
.cipba-nota__cuerpo ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.cipba-nota__cuerpo ul li { position: relative; padding-left: 27px; font-size: 16px; line-height: 1.65; color: #4a6062; margin: 0; text-wrap: pretty; }
.cipba-nota__cuerpo ul li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: var(--wp--preset--color--verde-500, #00a48a); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; }
.cipba-nota__cuerpo ol { padding-left: 22px; display: grid; gap: 8px; }
.cipba-nota__cuerpo ol li { font-size: 16px; line-height: 1.65; color: #4a6062; }
.cipba-nota__cuerpo a { color: #00705e; font-weight: 700; }
.cipba-nota__cuerpo img { max-width: 100%; height: auto; border-radius: 10px; }
.cipba-nota__aside { display: grid; gap: 16px; }
@media (min-width: 901px) {
	.cipba-nota__aside { position: sticky; top: 132px; }
	.admin-bar .cipba-nota__aside { top: 164px; }
}

/* Detalle de evento (2/3 – 1/3): flyer de Instagram completo en su proporción + últimos eventos */
.cipba-ev-det { background: #fff; padding: 38px 0 56px; }
.cipba-ev-det__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
@media (max-width: 900px) { .cipba-ev-det__grid { grid-template-columns: 1fr; } }
.cipba-ev-det__main { min-width: 0; }
.cipba-ev-det__head { margin-bottom: 26px; }
.cipba-ev-det__head h1 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(28px, 3.6vw, 40px); font-weight: 900; line-height: 1.1; letter-spacing: -.5px; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; text-wrap: pretty; }
.cipba-ev-det__flyer { display: flex; justify-content: center; margin: 0 0 30px; padding: 18px; background: var(--wp--preset--color--gris-100, #eef2f1); border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 14px; }
.cipba-ev-det__flyer img { display: block; width: auto; height: auto; max-width: 100%; max-height: min(88vh, 960px); object-fit: contain; border-radius: 6px; box-shadow: 0 6px 22px rgba(20,72,74,.12); }
@media (max-width: 640px) { .cipba-ev-det__flyer { padding: 0; background: none; border: 0; } .cipba-ev-det__flyer img { max-height: none; } }
.cipba-ev-det__extras { display: grid; gap: 16px; margin-top: 30px; }
.cipba-ev-det__extras .cipba-nota__btn { display: inline-flex; padding: 11px 22px; }
.cipba-ev-det__side { padding: 22px 22px 18px; background: var(--wp--preset--color--gris-50, #f7faf9); border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; }
@media (min-width: 901px) {
	.cipba-ev-det__side { position: sticky; top: 132px; }
	.admin-bar .cipba-ev-det__side { top: 164px; }
}
.cipba-ev-lista h2 { font-family: var(--wp--preset--font-family--condensed); font-size: 20px; font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 6px; }
.cipba-ev-mini { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--cipba-border-card, #e8f5f1); text-decoration: none !important; }
.cipba-ev-mini__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 8px; background: var(--wp--preset--color--gris-100, #eef2f1); }
.cipba-ev-mini__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.cipba-ev-mini__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.cipba-ev-mini strong { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-family: var(--wp--preset--font-family--condensed); font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--wp--preset--color--verde-700, #14484a); transition: color var(--cipba-fast, .2s); }
.cipba-ev-mini__fecha { font-size: 12px; font-weight: 600; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-ev-mini:hover strong { color: #00705e; }
.cipba-ev-mini:hover .cipba-ev-mini__img img { transform: scale(1.04); }
/* Mismo estilo que el "Ver listado completo ›" de la home */
.cipba-ev-lista__all { display: inline-block; margin-top: 14px; font-size: 13.5px; font-weight: 700; color: #008c75 !important; white-space: nowrap; text-decoration: none !important; }
.cipba-ev-lista__all:hover { text-decoration: underline !important; }
@media (prefers-reduced-motion: reduce) { .cipba-ev-mini__img img { transition: none; } .cipba-ev-mini:hover .cipba-ev-mini__img img { transform: none; } }

/* Ficha, botón de acción y compartir */
.cipba-ficha { padding: 24px 24px 26px; background: var(--wp--preset--color--verde-700, #14484a); color: #fff; border-radius: 12px; }
.cipba-ficha h3 { font-family: var(--wp--preset--font-family--condensed); font-size: 19px; font-weight: 900; color: #fff; margin: 0 0 18px; }
.cipba-ficha__row { display: flex; gap: 11px; align-items: flex-start; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px dashed rgba(255,255,255,.18); }
.cipba-ficha__row:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.cipba-ficha__ico { flex-shrink: 0; margin-top: 2px; color: #7fd8c5; display: flex; }
.cipba-ficha__lbl { font-size: 10.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 3px; }
.cipba-ficha__val { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.9); }
.cipba-nota__cta { padding: 22px 24px 24px; background: var(--wp--preset--color--verde-100, #e8f5f1); border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); border-radius: 12px; }
.cipba-nota__cta h3, .cipba-share h3 { font-family: var(--wp--preset--font-family--condensed); font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 8px; }
.cipba-nota__cta h3 { font-size: 18px; }
.cipba-nota__cta p { font-size: 13.5px; line-height: 1.6; color: #4a6062; margin: 0 0 16px; text-wrap: pretty; }
.cipba-nota__btn { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 13px; margin-bottom: 9px; border-radius: 6px; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff !important; font-size: 14.5px; font-weight: 800; text-align: center; text-decoration: none !important; transition: background var(--cipba-fast, .2s); }
.cipba-nota__btn:hover { background: #00705e; }
.cipba-nota__mail { display: flex; align-items: center; gap: 8px; padding: 4px 2px; font-size: 13.5px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; word-break: break-all; }
.cipba-nota__mail svg { color: var(--wp--preset--color--verde-500, #00a48a); flex-shrink: 0; }
.cipba-share { padding: 20px 22px 22px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 12px; }
.cipba-share h3 { font-size: 16px; margin-bottom: 14px; }
.cipba-share__row { display: flex; flex-wrap: wrap; gap: 9px; }
.cipba-share__row a, .cipba-share__copy { display: inline-flex; align-items: center; justify-content: center; height: 40px; border: 1px solid #dfe9e7; border-radius: 10px; background: var(--wp--preset--color--gris-50, #f7faf9); color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; transition: all var(--cipba-fast, .2s); }
.cipba-share__row a { width: 40px; }
.cipba-share__row a:first-child { color: #25d366 !important; }
.cipba-share__row a:hover, .cipba-share__copy:hover { border-color: var(--wp--preset--color--verde-500, #00a48a); background: var(--wp--preset--color--verde-100, #e8f5f1); }
.cipba-share__copy { gap: 7px; padding: 0 14px !important; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.cipba-share__copy svg { color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-share__copy.is-ok { background: var(--wp--preset--color--verde-100, #e8f5f1); }
.cipba-nota__back { display: flex; align-items: center; gap: 7px; padding: 2px; font-size: 13.5px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; }
.cipba-nota__back svg { color: var(--wp--preset--color--verde-500, #00a48a); }
.cipba-nota__otras { background: var(--wp--preset--color--gris-100, #eef2f1); border-top: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); padding: 46px 0 56px; }
.cipba-nota__otras-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.cipba-nota__otras-head h2 { font-family: var(--wp--preset--font-family--condensed); font-size: 24px; font-weight: 900; color: var(--wp--preset--color--verde-700, #14484a); margin: 0; }
.cipba-nota__otras-head a { display: inline-flex; align-items: center; gap: 4px; font-size: 13.5px; font-weight: 800; color: #00705e !important; text-decoration: none !important; }
@media (prefers-reduced-motion: reduce) { .cipba-nov-card, .cipba-nov-dest { transition: none; } .cipba-nov-card:hover { transform: none; } }

/* ==========================================================================
   Honorarios mínimos ([cipba_honorarios]): resolución vigente, aviso y
   resoluciones anteriores. Mismo diseño que honorarios.html del prototipo.
   ========================================================================== */
.cipba-hon-section { background: var(--wp--preset--color--gris-50, #f7faf9); border-top: 1px solid var(--wp--preset--color--gris-100, #eef2f1); padding: 34px 24px 60px; }
.cipba-hon { max-width: 900px !important; margin: 0 auto !important; }

/* Resolución vigente */
.cipba-hon-vig { overflow: hidden; background: #fff; border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.cipba-hon-vig__head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; padding: 22px 26px; background: var(--wp--preset--color--verde-700, #14484a); }
.cipba-hon-vig__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 9px; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.6); }
.cipba-hon-vig__badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 20px; background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.cipba-hon-vig h2 { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(22px, 3.4vw, 28px); font-weight: 900; line-height: 1.15; color: #fff; margin: 0; }
.cipba-hon-vig__head p { max-width: 480px; margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.8); text-wrap: pretty; }
.cipba-hon-vig__date { text-align: right; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.15); }
.cipba-hon-vig__lbl { margin-bottom: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(255,255,255,.5); }
.cipba-hon-vig__val { font-family: var(--wp--preset--font-family--condensed); font-size: clamp(20px, 3vw, 26px); font-weight: 900; line-height: 1.15; color: #7fd8c5; }
.cipba-hon-vig__piezas { display: grid; gap: 12px; padding: 18px 20px 20px; }
.cipba-hon-doc { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 18px 22px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,.04); text-decoration: none !important; transition: all .22s ease; }
.cipba-hon-doc:hover { border-color: var(--wp--preset--color--verde-500, #00a48a); box-shadow: 0 8px 24px rgba(20,72,74,.10); }
.cipba-hon-doc__ico { width: 42px; height: 42px; border-radius: 8px; flex-shrink: 0; display: grid; place-items: center; background: var(--wp--preset--color--verde-100, #e8f5f1); color: #00705e; transition: background .22s, color .22s; }
.cipba-hon-doc:hover .cipba-hon-doc__ico { background: var(--wp--preset--color--verde-500, #00a48a); color: #fff; }
.cipba-hon-doc__body { min-width: 0; display: block; }
.cipba-hon-doc__top { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 4px; }
.cipba-hon-doc__top strong { font-family: var(--wp--preset--font-family--condensed); font-size: 18.5px; font-weight: 700; line-height: 1.25; color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-hon-doc__top em { padding: 3px 8px; border-radius: 20px; background: var(--wp--preset--color--gris-100, #eef2f1); color: #4a6062; font-size: 10.5px; font-style: normal; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.cipba-hon-doc__desc { display: block; margin-bottom: 6px; font-size: 14px; line-height: 1.6; color: var(--wp--preset--color--gris-teal, #607a7c); text-wrap: pretty; }
.cipba-hon-doc__meta { display: block; font-size: 12px; font-weight: 700; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-hon-doc__go { display: inline-flex; align-items: center; gap: 6px; justify-self: end; white-space: nowrap; font-size: 13.5px; font-weight: 800; color: var(--wp--preset--color--verde-700, #14484a); transition: color .2s; }
.cipba-hon-doc:hover .cipba-hon-doc__go { color: #00705e; }
.cipba-hon-empty { padding: 34px 24px; text-align: center; background: #fff; border: 1px dashed var(--wp--preset--color--verde-200, #c0e2ca); border-radius: 12px; color: var(--wp--preset--color--gris-teal, #607a7c); }
@media (max-width: 640px) {
	.cipba-hon-vig__head { grid-template-columns: 1fr; gap: 16px; padding: 20px; }
	.cipba-hon-vig__date { text-align: left; padding: 14px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
	.cipba-hon-doc { grid-template-columns: auto 1fr; padding: 16px; }
	.cipba-hon-doc__go { display: none; }
}

/* Aviso al listado del Consejo Superior */
.cipba-hon-aviso { display: flex; align-items: flex-start; gap: 11px; margin-top: 16px; padding: 15px 18px; background: var(--wp--preset--color--gris-100, #eef2f1); border: 1px solid #dfe9e7; border-radius: 10px; }
.cipba-hon-aviso > span { flex-shrink: 0; margin-top: 1px; color: var(--wp--preset--color--gris-teal, #607a7c); display: flex; }
.cipba-hon-aviso p { margin: 0; font-size: 13.5px; line-height: 1.6; color: #4a6062; text-wrap: pretty; }
.cipba-hon-aviso a { color: #00705e; font-weight: 700; }

/* Resoluciones anteriores (acordeón nativo <details>) */
.cipba-hon-hist { margin-top: 34px; }
.cipba-hon-hist > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; list-style: none; cursor: pointer; }
.cipba-hon-hist > summary::-webkit-details-marker { display: none; }
.cipba-hon-hist[open] > summary { border-radius: 10px 10px 0 0; }
.cipba-hon-hist__title { display: block; }
.cipba-hon-hist__title strong { display: block; margin-bottom: 3px; font-family: var(--wp--preset--font-family--condensed); font-size: 19px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); }
.cipba-hon-hist__title span { font-size: 13.5px; color: var(--wp--preset--color--gris-teal, #607a7c); }
.cipba-hon-hist__count { display: flex; align-items: center; gap: 10px; flex-shrink: 0; font-size: 12.5px; font-weight: 800; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-hon-hist__chev { display: grid; color: #00705e; transform: rotate(90deg); transition: transform .25s; }
.cipba-hon-hist[open] .cipba-hon-hist__chev { transform: rotate(-90deg); }
.cipba-hon-hist__list { padding: 6px 22px 14px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-top: 0; border-radius: 0 0 10px 10px; }
.cipba-hon-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; padding: 15px 4px; border-bottom: 1px solid var(--cipba-border-card, #e8f5f1); text-decoration: none !important; }
.cipba-hon-row:last-child { border-bottom: 0; }
.cipba-hon-row__body { display: block; min-width: 0; }
.cipba-hon-row__body strong { display: block; margin-bottom: 3px; font-family: var(--wp--preset--font-family--condensed); font-size: 16.5px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a); transition: color .18s; }
a.cipba-hon-row:hover .cipba-hon-row__body strong { color: #00705e; }
.cipba-hon-row__body > span { display: block; font-size: 13.5px; line-height: 1.55; color: var(--wp--preset--color--gris-teal, #607a7c); text-wrap: pretty; }
.cipba-hon-row__side { display: flex; align-items: center; gap: 12px; white-space: nowrap; color: #c3d2d1; }
.cipba-hon-row__side em { font-size: 12.5px; font-style: normal; font-weight: 700; color: var(--wp--preset--color--gris-400, #9aa8a9); }
a.cipba-hon-row:hover .cipba-hon-row__side { color: var(--wp--preset--color--verde-500, #00a48a); }
@media (max-width: 640px) { .cipba-hon-row { grid-template-columns: 1fr; gap: 6px; } .cipba-hon-hist__title span { display: none; } }
.cipba-hon-foot { margin: 22px 0 0; font-size: 13px; line-height: 1.6; color: var(--wp--preset--color--gris-400, #9aa8a9); text-wrap: pretty; }

/* ==========================================================================
   Normativa ([cipba_normativa]): documentos de la biblioteca. Reusa la fila
   .cipba-hon-doc de Honorarios; los enlaces externos van punteados, bajo un
   separador. Mismo diseño que normativa.html del prototipo.
   ========================================================================== */
.cipba-norm { display: grid; gap: 14px; max-width: 900px !important; margin: 0 auto !important; }
.cipba-norm__sep { display: flex; align-items: center; gap: 14px; margin: 14px 0 2px; font-size: 11.5px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-norm__sep::before, .cipba-norm__sep::after { content: ""; flex: 1; height: 1px; background: #dfe9e7; }
.cipba-hon-doc--ext { background: var(--wp--preset--color--gris-100, #eef2f1); border: 1px dashed var(--wp--preset--color--verde-200, #c0e2ca); box-shadow: none; }
.cipba-hon-doc--ext:hover { box-shadow: none; }
.cipba-hon-doc--ext .cipba-hon-doc__ico { background: #fff; border: 1px solid var(--wp--preset--color--verde-200, #c0e2ca); }
.cipba-norm .cipba-hon-foot { margin-top: 10px; }

/* ==========================================================================
   TAD ([cipba_tad]): resoluciones (fila .cipba-hon-doc), botón del formulario
   y mail de contacto. Mismo diseño que tad.html del prototipo.
   ========================================================================== */
.cipba-tad__label { font-size: 11.5px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--gris-400, #9aa8a9); }
.cipba-tad__box { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 14px; padding: 22px 24px; background: #fff; border: 1px solid var(--cipba-border-card, #e8f5f1); border-radius: 10px; }
.cipba-tad__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: 8px; background: #00705e; color: #fff !important; font-size: 14.5px; font-weight: 800; text-decoration: none !important; transition: background var(--cipba-fast, .2s); }
.cipba-tad__btn:hover { background: #005e4f; }
.cipba-tad__mail { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 14.5px; font-weight: 700; color: var(--wp--preset--color--verde-700, #14484a) !important; text-decoration: none !important; word-break: break-all; }
.cipba-tad__mail svg, .cipba-tad__mail span { color: var(--wp--preset--color--verde-500, #00a48a); }
@media (max-width: 640px) { .cipba-tad__box { padding: 18px; } .cipba-tad__btn { width: 100%; justify-content: center; } }

/* ===== Galería de fotos (detalle de novedad/evento) + visor ===== */
.cipba-nota__col { min-width: 0; }
.cipba-galeria { margin-top: 30px; }
.cipba-galeria h2 { font-family: var(--wp--preset--font-family--condensed); font-size: 22px; font-weight: 800; color: var(--wp--preset--color--verde-700, #14484a); margin: 0 0 14px; }
.cipba-galeria__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 640px) { .cipba-galeria__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } }
@media (max-width: 420px) { .cipba-galeria__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cipba-galeria__item { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 8px; background: var(--wp--preset--color--gris-100, #eef2f1); }
.cipba-galeria__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--cipba-base, .3s) var(--cipba-ease, ease); }
.cipba-galeria__item:hover img, .cipba-galeria__item:focus-visible img { transform: scale(1.05); }
.cipba-galeria__item:focus-visible { outline: 3px solid var(--wp--preset--color--verde-500, #00a48a); outline-offset: 2px; }
.cipba-lb { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; background: rgba(10, 30, 31, .94); padding: 56px 64px; }
.cipba-lb[hidden] { display: none; }
.cipba-lb__fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 100%; max-height: 100%; }
.cipba-lb__fig img { display: block; max-width: 100%; max-height: calc(100vh - 140px); width: auto; height: auto; object-fit: contain; border-radius: 4px; }
.cipba-lb__cap { color: #e6efee; font-size: 14px; text-align: center; }
.cipba-lb__btn { position: absolute; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; padding: 0; transition: background var(--cipba-fast, .2s); }
.cipba-lb__btn:hover, .cipba-lb__btn:focus-visible { background: rgba(255,255,255,.25); }
.cipba-lb__btn[hidden] { display: none; }
.cipba-lb__close { top: 12px; right: 12px; }
.cipba-lb__prev { left: 12px; top: 50%; transform: translateY(-50%) rotate(180deg); }
.cipba-lb__next { right: 12px; top: 50%; transform: translateY(-50%); }
.cipba-lb__count { position: absolute; top: 22px; left: 20px; color: #cfdcdb; font-size: 13px; }
@media (max-width: 640px) { .cipba-lb { padding: 56px 8px; } .cipba-lb__prev, .cipba-lb__next { top: auto; bottom: 10px; } .cipba-lb__prev { transform: rotate(180deg); } .cipba-lb__next { transform: none; } }
