/* ================================================================
   BCBA NUEVO — Páginas internas 2026 · Autoridades (patrón base)
   Hereda los tokens --bh-* de bcba-header.css.
   ================================================================ */

/* Las secciones full-bleed usan width:100vw, que incluye la barra de scroll
   y genera ~15px de overflow horizontal. clip lo recorta sin romper el
   position:sticky del submenú (a diferencia de overflow:hidden). */
html { overflow-x: clip; }
body:has(.bcba-page) { background: #f8f9fa; }

/* ── CERO borde/outline al hacer click o focus en TODO el sitio. Sin excepciones. ── */
*, *::before, *::after { -webkit-tap-highlight-color: transparent; }
:focus, :focus-visible, :focus-within { outline: none !important; }
a:focus, a:focus-visible, button:focus, button:focus-visible,
summary:focus, summary:focus-visible, [tabindex]:focus, [tabindex]:focus-visible {
    outline: none !important; box-shadow: none !important;
}

/* Staff — créditos con el componente de personas (.bcba-auth) + línea de contacto */
.bcba-staff__contact { margin: 28px 0 0; font-size: 15px; color: var(--bh-text); }
.bcba-staff__contact strong { color: var(--bh-navy); font-weight: 700; }
.bcba-staff__contact a { color: var(--bh-gold); font-weight: 600; text-decoration: none; }
.bcba-staff__contact a:hover { text-decoration: underline; }

:root {
    --bi-maxw:      1200px;
    --bi-pad:       16px;
    --bi-radius:    14px;
    --bi-radius-lg: 22px;
    --bi-border:    rgba(0,38,77,.10);
    --bi-shadow:    0 1px 2px rgba(0,38,77,.04), 0 8px 24px rgba(0,38,77,.06);
    --bi-shadow-h:  0 2px 4px rgba(0,38,77,.06), 0 16px 40px rgba(0,38,77,.12);
}

.bcba-page {
    margin-left: calc(-50vw + 50%);
    width: 100vw; max-width: none;
    background: var(--bh-white);
    font-family: var(--bh-sans);
    color: var(--bh-text);
}
.bcba-page__inner {
    max-width: var(--bi-maxw);
    margin: 0 auto;
    padding: 0 var(--bi-pad);
}
@media (min-width: 1024px) { .bcba-page__inner { padding: 0 32px; } }

/* ═══════════ 1. HERO ═══════════ */
.bcba-phero {
    position: relative; min-height: 320px;
    display: flex; align-items: flex-end;
    overflow: hidden; background: var(--bh-navy-dark);
}
@media (min-width: 768px)  { .bcba-phero { min-height: 400px; } }
@media (min-width: 1280px) { .bcba-phero { min-height: 460px; } }
.bcba-phero__img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: center 30%; display: block;
}
.bcba-phero__overlay {
    position: absolute; inset: 0;
    background:
        linear-gradient(to top, rgba(0,22,40,.92) 0%, rgba(0,22,40,.55) 45%, rgba(0,38,77,.40) 100%),
        linear-gradient(to right, rgba(0,38,77,.55) 0%, rgba(0,38,77,.10) 60%, transparent 100%);
}
.bcba-phero__inner {
    position: relative; width: 100%;
    max-width: var(--bi-maxw); margin: 0 auto;
    padding: 0 var(--bi-pad) 40px;
}
@media (min-width: 768px)  { .bcba-phero__inner { padding: 0 var(--bi-pad) 56px; } }
@media (min-width: 1024px) { .bcba-phero__inner { padding: 0 32px 64px; } }
.bcba-phero__eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 700; letter-spacing: .14em;
    text-transform: uppercase; color: var(--bh-gold-light);
    margin-bottom: 14px;
}
.bcba-phero__eyebrow a { color: inherit; text-decoration: none; opacity: .9; transition: opacity .2s; }
.bcba-phero__eyebrow a:hover { opacity: 1; color: var(--bh-gold-light); text-decoration: none; }
.bcba-phero__title {
    font-family: var(--bh-serif); font-weight: 700; color: var(--bh-white);
    line-height: 1.1; margin: 0; font-size: 38px; letter-spacing: -.01em;
}
@media (min-width: 768px)  { .bcba-phero__title { font-size: 52px; } }
@media (min-width: 1280px) { .bcba-phero__title { font-size: 64px; } }
.bcba-phero__lead {
    font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.82);
    max-width: 620px; margin: 18px 0 0;
}
@media (min-width: 768px) { .bcba-phero__lead { font-size: 18px; } }

/* ═══════════ 2. STATS ═══════════ */
.bcba-stats { background: var(--bh-bg); border-bottom: 1px solid var(--bi-border); }
.bcba-stats__grid {
    max-width: var(--bi-maxw); margin: 0 auto;
    padding: 36px var(--bi-pad);
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 16px;
}
@media (min-width: 768px) {
    .bcba-stats__grid { grid-template-columns: repeat(4, 1fr); padding: 44px 32px; gap: 24px; }
}
.bcba-stat {
    text-align: center; display: flex; flex-direction: column;
    align-items: center; gap: 10px; position: relative;
}
@media (min-width: 768px) {
    .bcba-stat:not(:last-child)::after {
        content: ""; position: absolute; right: -12px; top: 14px; bottom: 14px;
        width: 1px; background: var(--bi-border);
    }
}
.bcba-stat__icon {
    width: 52px; height: 52px; border-radius: 9999px;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--bh-navy); box-shadow: var(--bi-shadow);
}
.bcba-stat__icon svg { width: 24px; height: 24px; }
.bcba-stat__num {
    font-family: var(--bh-serif); font-size: 40px; font-weight: 700;
    line-height: 1; color: var(--bh-navy); font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) { .bcba-stat__num { font-size: 46px; } }
.bcba-stat__label { font-size: 13px; line-height: 1.4; color: var(--bh-muted); max-width: 180px; }

/* ═══════════ 3. SECCIÓN ═══════════ */
.bcba-sec { padding: 48px 0; }
@media (min-width: 768px) { .bcba-sec { padding: 72px 0; } }
.bcba-sec--tint { background: var(--bh-bg); }
.bcba-sec__head { margin-bottom: 32px; }
.bcba-sec__eyebrow {
    display: block; font-size: 12px; font-weight: 700; letter-spacing: .14em;
    text-transform: uppercase; color: var(--bh-gold); margin-bottom: 10px;
}
.bcba-sec__title {
    font-family: var(--bh-serif); font-size: 30px; font-weight: 700;
    line-height: 1.15; color: var(--bh-navy); margin: 0; letter-spacing: -.01em;
}
@media (min-width: 768px) { .bcba-sec__title { font-size: 38px; } }
.bcba-sec__title::after {
    content: ""; display: block; width: 56px; height: 3px; border-radius: 3px;
    background: var(--bh-gold); margin-top: 16px;
}

/* ═══════════ 4. SUBMENÚ AUTORIDADES + GOBIERNO ═══════════ */
.bcba-autor-grid {
    display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start;
}
@media (min-width: 1024px) {
    .bcba-autor-grid { grid-template-columns: 250px 1fr; gap: 56px; }
}

/* Submenú de Autoridades */
.bcba-subnav { position: relative; }
@media (min-width: 1024px) {
    .bcba-subnav {
        position: sticky; top: 100px;
        background: var(--bh-white);
        border: 1px solid var(--bi-border);
        border-radius: var(--bi-radius-lg);
        box-shadow: var(--bi-shadow);
        padding: 22px 16px;
        display: flex; flex-direction: column;
        max-height: calc(100vh - 120px);
    }
    /* El encabezado queda fijo; solo la lista hace scroll cuando la rama es larga */
    .bcba-subnav__head { flex-shrink: 0; }
    .bcba-subnav__list {
        flex: 1 1 auto; min-height: 0;
        overflow-y: auto; overflow-x: hidden;
        padding-right: 4px;
        scrollbar-width: thin;
        scrollbar-color: var(--bh-gold) transparent;
    }
    .bcba-subnav__list::-webkit-scrollbar { width: 8px; }
    .bcba-subnav__list::-webkit-scrollbar-track { background: transparent; }
    .bcba-subnav__list::-webkit-scrollbar-thumb { background: var(--bh-gold); border-radius: 4px; }
    .bcba-subnav__list::-webkit-scrollbar-thumb:hover { background: var(--bh-navy); }
}
.bcba-subnav__toggle {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; gap: 12px; background: var(--bh-white);
    border: 1px solid var(--bi-border); border-radius: var(--bi-radius);
    padding: 14px 18px; font-family: var(--bh-sans); font-size: 15px;
    font-weight: 600; color: var(--bh-navy); cursor: pointer; box-shadow: var(--bi-shadow);
}
.bcba-subnav__toggle svg { width: 18px; height: 18px; transition: transform .25s; flex-shrink: 0; }
.bcba-subnav.is-open .bcba-subnav__toggle svg { transform: rotate(180deg); }
@media (min-width: 1024px) { .bcba-subnav__toggle { display: none; } }
.bcba-subnav__head {
    display: none; font-family: var(--bh-serif); font-size: 19px; font-weight: 700;
    color: var(--bh-navy); padding: 0 8px 14px; margin-bottom: 8px;
    border-bottom: 2px solid var(--bh-gold);
}
@media (min-width: 1024px) { .bcba-subnav__head { display: block; } }
.bcba-subnav__list { list-style: none; margin: 0; padding: 0; display: none; }
.bcba-subnav.is-open .bcba-subnav__list { display: block; margin-top: 8px; }
@media (min-width: 1024px) { .bcba-subnav__list { display: block; } }
.bcba-subnav__list li { margin: 0; }
.bcba-subnav__list a {
    display: block; padding: 11px 14px; border-radius: 10px;
    font-size: 14.5px; line-height: 1.35; color: var(--bh-text-muted);
    text-decoration: none; transition: background .18s, color .18s;
}
.bcba-subnav__list a:hover { background: var(--bh-bg); color: var(--bh-navy); text-decoration: none; }
/* Estado activo del ítem actual */
.bcba-subnav__item.is-current > a { background: var(--bh-navy); color: #fff; font-weight: 600; }
.bcba-subnav__item.is-current > a:hover { background: var(--bh-navy); color: #fff; }
/* Indentación por nivel (jerarquía de la rama) */
.bcba-subnav__lvl-1 > a { padding-left: 28px; font-size: 13.5px; }
.bcba-subnav__lvl-2 > a { padding-left: 42px; font-size: 13px; }
.bcba-subnav__lvl-1 > a::before {
    content: ""; position: absolute; margin-left: -14px; margin-top: .7em;
    width: 6px; height: 1px; background: var(--bh-gold); opacity: .7;
}
.bcba-subnav__lvl-1 > a, .bcba-subnav__lvl-2 > a { position: relative; }
/* Defensa: si una página de la rama no tuviera submenú, el contenido ocupa todo el ancho */
.bcba-autor-grid:not(:has(.bcba-subnav)) { grid-template-columns: 1fr; }
.bcba-subnav__list .is-current > a {
    background: var(--bh-navy); color: var(--bh-white); font-weight: 600;
}
.bcba-subnav__list .is-current > a:hover { background: var(--bh-navy); color: var(--bh-white); }

/* Gobierno: texto + imagen */
.bcba-autor-main { min-width: 0; }
.bcba-gob { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
@media (min-width: 900px) { .bcba-gob { grid-template-columns: 1.25fr .75fr; gap: 44px; } }
.bcba-gob__media { margin: 0; border-radius: var(--bi-radius-lg); overflow: hidden; box-shadow: var(--bi-shadow); background: var(--bh-white); }
.bcba-gob__media img { width: 100%; height: auto; display: block; border-radius: 0; }
.bcba-gob__media figcaption {
    font-size: 13px; color: var(--bh-muted); font-style: italic;
    text-align: center; padding: 6px 14px 10px;
}
/* Imagen flotada dentro del texto, que el contenido la envuelve.
   margin-top:0 para que el borde superior de la imagen quede a la
   misma altura que la primera línea de texto del bloque. */
.bcba-gob__media--float {
    float: right;
    width: 42%;
    max-width: 360px;
    margin: 0 0 18px 32px;
}
.bcba-gob__media--float.is-left {
    float: left;
    margin: 0 32px 18px 0;
}
@media (max-width: 700px) {
    .bcba-gob__media--float,
    .bcba-gob__media--float.is-left { float: none; width: 100%; max-width: none; margin: 0 0 24px; }
}
/* El encuadre (mover/zoom) que se elige en el mantenedor solo se nota si la
   imagen vive en una caja de proporción fija con object-fit:cover — igual que
   el hero y las fotos de personas. Sin esto pos_x/pos_y/zoom no tienen efecto
   visual (la imagen se ve siempre completa, "tal cual", sin poder encuadrarla). */
.bcba-gob__media--float .bcba-encuadre { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.bcba-gob__media--float .bcba-encuadre img {
    width: 100%; height: 100%; object-fit: cover;
    margin: 0; /* pisa el margin:1.4em 0 de ".bcba-prose img" que separaba el epígrafe de la imagen */
}

/* ═══════════ 5. PROSE ═══════════ */
.bcba-prose { font-size: 17px; line-height: 1.75; color: var(--bh-text-muted); }
.bcba-prose > *:first-child { margin-top: 0; }
.bcba-prose p { margin: 0 0 1.25em; }
.bcba-prose p:last-child { margin-bottom: 0; }
.bcba-prose strong { color: var(--bh-navy); font-weight: 600; }
.bcba-prose a { color: var(--bh-navy-light); text-decoration: underline; text-underline-offset: 2px; }
.bcba-prose a:hover { color: var(--bh-navy); }

/* ═══════════ 6. CARRUSEL (Bootstrap 3 del plugin) — UNA flecha por lado ═══════════ */
.bcba-page .carousel {
    position: relative; max-width: 100%; margin: 0;
    border-radius: var(--bi-radius-lg); overflow: hidden;
    background: var(--bh-navy-dark); box-shadow: var(--bi-shadow);
}
.bcba-page .carousel-inner > .item { display: none; }
.bcba-page .carousel-inner > .item.active { display: block; }
.bcba-page .carousel-inner > .item > img {
    width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center;
    display: block; margin: 0;
}
/* Caption: barra inferior legible */
.bcba-page .carousel-caption {
    position: absolute; left: 0; right: 0; bottom: 0; top: auto;
    padding: 44px 24px 18px; text-align: left;
    background: linear-gradient(to top, rgba(0,22,40,.85) 0%, transparent 100%);
    text-shadow: none;
}
.bcba-page .carousel-caption .inner { font-size: 14px; font-weight: 500; color: var(--bh-white); }
.bcba-page .carousel-caption:empty { display: none; }
/* Controles: ocultar TODO lo que mete el plugin/bootstrap dentro, dejar solo nuestra flecha */
.bcba-page .carousel-control {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.14);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    border-radius: 9999px; opacity: 1; text-shadow: none;
    background-image: none; transition: background .2s; z-index: 4;
}
.bcba-page .carousel-control:hover { background: rgba(255,255,255,.28); }
.bcba-page .carousel-control > * { display: none !important; }   /* mata spans/glyphicons del plugin */
.bcba-page .carousel-control.left  { left: 16px; }
.bcba-page .carousel-control.right { right: 16px; }
.bcba-page .carousel-control::before {
    content: ""; width: 11px; height: 11px;
    border-top: 2px solid #fff; border-right: 2px solid #fff;
}
.bcba-page .carousel-control.left::before  { transform: rotate(-135deg); margin-left: 4px; }
.bcba-page .carousel-control.right::before { transform: rotate(45deg);   margin-right: 4px; }
/* Indicadores */
.bcba-page .carousel-indicators {
    position: absolute; bottom: 14px; left: 0; right: 0;
    display: flex; justify-content: center; gap: 7px;
    margin: 0; padding: 0; list-style: none; z-index: 4; width: auto;
}
.bcba-page .carousel-indicators li {
    width: 8px; height: 8px; margin: 0; border-radius: 9999px;
    background: rgba(255,255,255,.45); border: none; text-indent: -999px;
    cursor: pointer; transition: width .3s, background .3s;
}
.bcba-page .carousel-indicators li.active { background: var(--bh-white); width: 22px; }

/* ═══════════ 7. CONTENIDO REAL (subpáginas: imágenes, títulos, listas) ═══════════ */
.bcba-prose img {
    max-width: 100%; height: auto; display: block;
    border-radius: var(--bi-radius); margin: 1.4em 0;
}
.bcba-prose img.alignleft  { float: left;  margin: .4em 1.6em 1em 0; max-width: 46%; }
.bcba-prose img.alignright { float: right; margin: .4em 0 1em 1.6em; max-width: 46%; }
.bcba-prose img.aligncenter { margin-left: auto; margin-right: auto; }
/* Imágenes con epígrafe insertadas desde el editor nativo (Añadir medios → "Insertar
   un epígrafe"): WordPress envuelve <img>+leyenda en .wp-caption y mueve la clase de
   alineación (alignleft/right/center) al CONTENEDOR, no a la <img>. Sin estas reglas
   la alineación se pierde (la img.alignleft de arriba no aplica) y la leyenda no tiene
   estilo — pasa en cualquier tamaño, incluido ancho completo (sin clase de alineación). */
.bcba-prose .wp-caption { margin: 1.4em 0; max-width: 100%; }
.bcba-prose .wp-caption img { margin: 0; display: block; }
.bcba-prose .wp-caption-text {
    font-size: 13px; color: var(--bh-muted); font-style: italic;
    text-align: center; line-height: 1.4; padding: 8px 2px 0; margin: 0;
}
.bcba-prose .wp-caption.alignleft  { float: left;  margin: .4em 1.6em 1em 0; max-width: 46%; }
.bcba-prose .wp-caption.alignright { float: right; margin: .4em 0 1em 1.6em; max-width: 46%; }
.bcba-prose .wp-caption.aligncenter { margin-left: auto; margin-right: auto; }
/* Título 1 (h1) sin estilo propio heredaba un h1 global de una hoja vieja
 * (26px, sans, peso 300) casi idéntico en tamaño al Título 2 (27px) — se
 * confundían en el texto corrido. Ahora es el más grande de la jerarquía,
 * con el mismo divisor dorado que ya usan los títulos de sección del sitio. */
.bcba-prose h1 {
    font-family: var(--bh-serif); color: var(--bh-navy); font-weight: 700;
    line-height: 1.2; margin: 1.6em 0 .6em; font-size: 32px;
    padding-bottom: 14px; border-bottom: 2px solid var(--bh-gold);
}
.bcba-prose h2, .bcba-prose h3, .bcba-prose h4 {
    font-family: var(--bh-serif); color: var(--bh-navy); font-weight: 700;
    line-height: 1.2; margin: 1.6em 0 .5em;
}
.bcba-prose h2 { font-size: 27px; }
.bcba-prose h3 { font-size: 22px; }
.bcba-prose h4 { font-size: 19px; }
/* Título 5 (h5) también heredaba una regla vieja (11px, gris, casi
 * invisible). Se lo trata como un copete/eyebrow: chico a propósito, pero
 * legible y con la identidad del sitio (mismo estilo que .bcba-sec__eyebrow). */
.bcba-prose h5 {
    font-family: var(--bh-sans); color: var(--bh-gold); font-weight: 700;
    font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
    line-height: 1.4; margin: 1.6em 0 .5em;
}
.bcba-prose ul, .bcba-prose ol { margin: 0 0 1.25em; padding-left: 1.3em; }
.bcba-prose li { margin: .35em 0; }
.bcba-prose blockquote {
    margin: 1.5em 0; padding: 4px 0 4px 22px;
    border-left: 3px solid var(--bh-gold);
    font-size: 19px; color: var(--bh-navy); font-style: italic;
}
.bcba-prose .excerpt { font-size: 20px; line-height: 1.6; color: var(--bh-navy); font-weight: 500; }
/* Recuadro de texto destacado (pedido de Ana): para citas o datos que se
 * quieren resaltar dentro del texto corrido de una nota, tipo el recuadro
 * "Edificios protegidos". Se inserta desde el editor con el botón "Recuadro". */
.bcba-prose .bcba-recuadro {
    background: var(--bh-bg); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius-lg); padding: 22px 26px; margin: 1.8em 0;
}
.bcba-prose .bcba-recuadro > *:first-child { margin-top: 0; }
.bcba-prose .bcba-recuadro > *:last-child { margin-bottom: 0; }
.bcba-prose .bcba-recuadro p { margin: 0 0 1em; }
.bcba-prose .bcba-recuadro h2, .bcba-prose .bcba-recuadro h3, .bcba-prose .bcba-recuadro h4 { margin-top: 0; }

/* Tablas (pedido de Ana): enmarcadas como los recuadros, con la fila de
 * título, los títulos de columna y las filas regulares bien diferenciadas.
 * El <table> va envuelto en .bcba-table-wrap (bcba_wrap_tables() en
 * bcba-bloques.php) porque el radio de borde no recorta bien un <table>
 * directo en todos los navegadores. */
.bcba-prose .bcba-table-wrap {
    margin: 1.8em 0; border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius-lg); overflow: hidden; overflow-x: auto;
    box-shadow: var(--bi-shadow); background: var(--bh-white);
}
/* !important neutraliza los estilos inline (width/height fijos en px) que
 * suelen venir en tablas pegadas desde Word/Excel — ya estaba así antes de
 * agregar el marco; se conserva. */
.bcba-prose table {
    width: 100% !important; height: auto !important;
    border-collapse: collapse; margin: 0; font-size: 15px;
}
.bcba-prose .bcba-table-wrap table { margin: 0; }
.bcba-prose caption {
    caption-side: top; text-align: left; font-size: 12px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: var(--bh-navy);
    background: var(--bh-bg); padding: 16px 20px; border-bottom: 2px solid var(--bh-navy);
}
.bcba-prose th, .bcba-prose td {
    padding: 12px 20px !important; height: auto !important;
    text-align: left; vertical-align: middle;
    border-bottom: 1px solid var(--bi-border);
}
/* Título de columna: centrado y en gris, para no confundirse con las
 * etiquetas de fila (que van en navy, más abajo). */
.bcba-prose thead th {
    font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: var(--bh-text-muted); text-align: center;
}
.bcba-prose thead th:first-child { text-align: left; }
.bcba-prose tbody tr:last-child > * { border-bottom: none; }
.bcba-prose tbody th, .bcba-prose tbody td:first-child {
    color: var(--bh-navy); font-weight: 600; width: 38%; vertical-align: top;
}
.bcba-prose tbody td:not(:first-child) { text-align: center; color: var(--bh-text-muted); }

/* Listas de descargas (PDF): discursos, documentos institucionales */
.bcba-prose ul:has(a[href$=".pdf" i]) { list-style: none; padding-left: 0; margin: .4em 0 1.6em; }
.bcba-prose li:has(> a[href$=".pdf" i]) { margin: 0; }
.bcba-prose a[href$=".pdf" i] {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 16px; border-radius: 10px;
    color: var(--bh-navy); font-weight: 500; text-decoration: none;
    border: 1px solid transparent;
    transition: background .18s, border-color .18s;
}
.bcba-prose a[href$=".pdf" i]:hover { background: var(--bh-bg); border-color: var(--bi-border); }
.bcba-prose a[href$=".pdf" i]::before {
    content: ""; flex-shrink: 0; width: 22px; height: 22px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee8d00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 15h6'/%3E%3Cpath d='M9 18h6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.bcba-prose::after { content: ""; display: table; clear: both; }


/* ═══════════ LIGHTBOX propio (visor de imágenes) ═══════════ */
.bcba-gal__item img,
.bcba-prose img { cursor: zoom-in; }

html.bcba-lb-open { overflow: hidden; }

.bcba-lb {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
}
.bcba-lb.is-open { opacity: 1; visibility: visible; }
.bcba-lb__backdrop {
    position: absolute; inset: 0;
    background: rgba(4, 14, 28, .92);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); cursor: zoom-out;
}

/* lámina de imagen */
.bcba-lb__stage {
    position: relative; z-index: 1; margin: 0;
    display: flex; flex-direction: column; align-items: center; gap: 16px;
    max-width: min(92vw, 1200px); max-height: 88vh;
    transform: scale(.96); transition: transform .22s ease;
}
.bcba-lb.is-open .bcba-lb__stage { transform: scale(1); }
.bcba-lb__img {
    max-width: 100%; max-height: 78vh;
    width: auto; height: auto; object-fit: contain;
    border-radius: 6px; box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
    background: #0b1626;
    opacity: 0; transition: opacity .2s ease;
}
.bcba-lb__img.is-ready { opacity: 1; }
.bcba-lb__cap {
    color: rgba(255, 255, 255, .9); font-size: 15px; text-align: center;
    max-width: 70ch; line-height: 1.5;
}

/* botones */
.bcba-lb__btn {
    position: absolute; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: #fff;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    transition: background .15s ease, transform .15s ease;
    -webkit-tap-highlight-color: transparent;
}
.bcba-lb__btn:hover { background: rgba(255, 255, 255, .22); }
.bcba-lb__btn:active { transform: scale(.94); }
.bcba-lb__btn svg { width: 26px; height: 26px; }

.bcba-lb__close { top: 18px; right: 18px; width: 48px; height: 48px; }
.bcba-lb__close svg { width: 24px; height: 24px; }

.bcba-lb__nav { top: 50%; transform: translateY(-50%); width: 54px; height: 54px; }
.bcba-lb__nav:active { transform: translateY(-50%) scale(.94); }
.bcba-lb__prev { left: 20px; }
.bcba-lb__next { right: 20px; }
.bcba-lb--solo .bcba-lb__nav,
.bcba-lb--solo .bcba-lb__count { display: none; }

.bcba-lb__count {
    position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 2;
    color: rgba(255, 255, 255, .8); font-size: 13px; letter-spacing: .06em;
    background: rgba(0, 0, 0, .35); padding: 5px 12px; border-radius: 999px;
}

@media (max-width: 640px) {
    .bcba-lb__stage { max-width: 94vw; }
    .bcba-lb__img { max-height: 70vh; }
    .bcba-lb__nav { width: 44px; height: 44px; }
    .bcba-lb__prev { left: 8px; }
    .bcba-lb__next { right: 8px; }
    .bcba-lb__close { top: 12px; right: 12px; width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .bcba-lb, .bcba-lb__stage, .bcba-lb__img { transition: none; }
}

/* ═══════════ 9. MESA DIRECTIVA (componente) ═══════════ */
.bcba-board__cap {
    font-size: 12px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: var(--bh-gold); margin: 0 0 22px;
}
.bcba-board__grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px;
}
.bcba-board__group { margin-top: 34px; }
.bcba-board__role {
    font-family: var(--bh-serif); font-size: 20px; font-weight: 700; color: var(--bh-navy);
    margin: 0 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--bi-border);
    display: flex; align-items: center; gap: 10px;
}
.bcba-board__role::before { content: ""; width: 18px; height: 2px; background: var(--bh-gold); flex-shrink: 0; }
.bcba-auth {
    display: flex; align-items: center; gap: 14px;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); padding: 14px 16px; box-shadow: var(--bi-shadow);
}
.bcba-auth__avatar {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: 9999px;
    background: var(--bh-bg); border: 1px solid var(--bi-border);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--bh-serif); font-size: 17px; font-weight: 700; color: var(--bh-navy);
}
/* Columna, no bloque: así "Antecedentes" se ancla siempre al fondo de la tarjeta
   (margin-top:auto en .bcba-auth__pdf) sin importar si el nombre o el rol ocupan
   una o dos líneas — de lo contrario queda a distinta altura entre tarjetas de la
   misma fila cuando el texto varía en longitud. */
.bcba-auth__body { min-width: 0; display: flex; flex-direction: column; height: 100%; }
.bcba-auth__name { font-size: 14.5px; font-weight: 600; color: var(--bh-navy); line-height: 1.25; margin: 0; }
.bcba-auth__role {
    font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--bh-gold); margin: 4px 0 0;
}
/* Presidente destacado: SOLO cuando el bloque lo pide (bcba-board--lead) — p. ej. Mesa Directiva.
   En bloques sin destaque (árbitros, vocales) todas las tarjetas son iguales. */
.bcba-board--lead .bcba-board__grid:first-of-type .bcba-auth:first-child {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, var(--bh-navy) 0%, var(--bh-navy-light) 100%);
    border-color: transparent;
}
.bcba-board--lead .bcba-board__grid:first-of-type .bcba-auth:first-child .bcba-auth__avatar {
    width: 56px; height: 56px; background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.25); color: var(--bh-gold-light); font-size: 20px;
}
.bcba-board--lead .bcba-board__grid:first-of-type .bcba-auth:first-child .bcba-auth__name { color: var(--bh-white); font-size: 17px; }
.bcba-board--lead .bcba-board__grid:first-of-type .bcba-auth:first-child .bcba-auth__role { color: var(--bh-gold-light); }

/* ═══════════ 10. DISCURSOS (componente) ═══════════ */
.bcba-sec__head--inner { margin: 36px 0 24px; }
.bcba-disc-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 18px;
}
.bcba-disc {
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius-lg); padding: 22px 22px 14px; box-shadow: var(--bi-shadow);
    display: flex; flex-direction: column;
    transition: box-shadow .25s, transform .25s;
}
.bcba-disc:hover { box-shadow: var(--bi-shadow-h); transform: translateY(-2px); }
.bcba-disc__head {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 10px;
    padding-bottom: 14px; margin-bottom: 8px; border-bottom: 2px solid var(--bh-gold);
}
.bcba-disc__num { font-family: var(--bh-serif); font-size: 30px; font-weight: 700; color: var(--bh-gold); line-height: 1; }
.bcba-disc__year { font-family: var(--bh-serif); font-size: 24px; font-weight: 700; color: var(--bh-navy); line-height: 1; }
/* min-height de 2 líneas a propósito: el rótulo es editable desde el mantenedor y
   puede ocupar 1 o 2 líneas según el texto. Sin este piso, el encabezado cambia de
   alto entre tarjetas de la misma fila y el listado de documentos arranca a distinta
   altura en cada una ("los documentos quedan desalineados"). */
.bcba-disc__label {
    width: 100%; font-size: 11.5px; color: var(--bh-muted); letter-spacing: .04em;
    text-transform: uppercase; margin-top: 4px; line-height: 1.4; min-height: calc(1.4em * 2);
}
.bcba-disc__list { list-style: none; margin: 0; padding: 0; }
.bcba-disc__list a {
    display: flex; align-items: center; gap: 10px; padding: 10px 8px; border-radius: 10px;
    color: var(--bh-navy); font-size: 14px; font-weight: 500; text-decoration: none;
    transition: background .18s;
}
.bcba-disc__list a:hover { background: var(--bh-bg); }
.bcba-disc__list a::before {
    content: ""; flex-shrink: 0; width: 18px; height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee8d00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 15h6'/%3E%3Cpath d='M9 18h6'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Variante "fondo azul" del bloque Discursos / documentos — mismo lenguaje que
   la tarjeta destacada de Personas (.bcba-auth.is-lead): navy + acentos dorados. */
.bcba-disc-grid--azul .bcba-disc { background: var(--bh-navy); border-color: transparent; }
.bcba-disc-grid--azul .bcba-disc__year { color: var(--bh-white); }
.bcba-disc-grid--azul .bcba-disc__label { color: rgba(255,255,255,.65); }
.bcba-disc-grid--azul .bcba-disc__list a { color: var(--bh-white); }
.bcba-disc-grid--azul .bcba-disc__list a:hover { background: rgba(255,255,255,.08); }

@media (max-width: 600px) {
    .bcba-board__grid, .bcba-disc-grid { grid-template-columns: 1fr; }
}

/* Listado de documentos con ícono por tipo (Patrimonio / enlaces agrupados).
   Reutiliza la tarjeta .bcba-disc; solo cambia el ícono fijo por uno inline
   según el tipo de enlace (PDF, video, artículo). */
.bcba-doclist a::before { display: none; }              /* anula el ícono PDF fijo de .bcba-disc__list */
.bcba-doclist a { align-items: flex-start; }
.bcba-doc__ico { flex-shrink: 0; width: 18px; height: 18px; color: var(--bh-gold); margin-top: 1px; }
.bcba-doc__ico svg { width: 100%; height: 100%; display: block; }
.bcba-doc__txt { line-height: 1.35; }
.bcba-patri__intro { margin-bottom: 8px; }
.bcba-patri__intro .excerpt { font-size: 17px; color: var(--bh-text); }

/* ═══════════ 11. BLOQUES componibles ═══════════ */
.bcba-bloque + .bcba-bloque { margin-top: 44px; }

/* Cifras (grilla de tarjetas) */
.bcba-figs {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px;
}
.bcba-fig {
    background: var(--bh-bg); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); padding: 24px 18px;
    display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
}
.bcba-fig__icon {
    width: 48px; height: 48px; border-radius: 9999px; background: var(--bh-white);
    border: 1px solid var(--bi-border); display: flex; align-items: center; justify-content: center;
    color: var(--bh-navy); box-shadow: var(--bi-shadow);
}
.bcba-fig__icon svg { width: 22px; height: 22px; }
.bcba-fig__num {
    font-family: var(--bh-serif); font-size: 38px; font-weight: 700; line-height: 1;
    color: var(--bh-navy); font-variant-numeric: tabular-nums;
}
.bcba-fig__label { font-size: 12.5px; line-height: 1.4; color: var(--bh-muted); }

/* ═══════════════════════════════════════════════════════════════
   TRANSICIÓN NATIVA ENTRE PÁGINAS — View Transitions API
   El browser toma screenshot del estado actual, navega normal y
   anima entre el viejo y el nuevo. Cero JS, cero frames vacíos.
   Chrome 126+ / Edge 126+. Degrada sin efecto en otros browsers.
   ═══════════════════════════════════════════════════════════════ */
@view-transition { navigation: auto; }
@keyframes bcba-vt-in { from { opacity: 0; } to { opacity: 1; } }
/* old queda siempre a opacity:1 (screenshot del estado previo visible en todo momento).
   new entra encima con fade-in. Nunca hay un frame con opacidad combinada < 1. */
::view-transition-old(root) { animation: none; }
::view-transition-new(root) { animation: bcba-vt-in 0.25s ease; }
@media (prefers-reduced-motion: reduce) {
    ::view-transition-new(root) { animation: none; }
}

/* Galería */
.bcba-gal {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px;
}
.bcba-gal__item {
    margin: 0; border-radius: var(--bi-radius); overflow: hidden;
    border: 1px solid var(--bi-border); box-shadow: var(--bi-shadow); background: var(--bh-white);
    display: flex; flex-direction: column;
}
.bcba-gal__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; flex-shrink: 0; }
/* Tope de 2 líneas a propósito (line-clamp): en la grilla, la fila se estira a la
   tarjeta con el epígrafe más largo — sin este tope, las tarjetas con epígrafe
   corto quedaban con un hueco vacío abajo y la imagen se veía "desfazada" del
   marco visible de su propia tarjeta. Con el tope, TODAS miden lo mismo siempre. */
.bcba-gal__item figcaption {
    font-size: 12.5px; color: var(--bh-muted); padding: 10px 12px; text-align: center;
    line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
    /* Piso de 2 líneas siempre reservadas (no solo un tope máximo): un epígrafe
       de 1 línea junto a uno de 2 en la misma fila, sin esto, seguía dejando un
       resto de hueco vacío entre uno y otro. */
    min-height: calc(1.4em * 2 + 20px);
}

/* ═══════════ 12. PUBLICACIONES (Memoria y Balance) ═══════════ */
.bcba-pubs__intro {
    font-size: 17px; line-height: 1.7; color: var(--bh-text-muted);
    max-width: 680px; margin: 0 0 32px;
}
.bcba-pubs__grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px 26px;
}
@media (max-width: 900px) { .bcba-pubs__grid { grid-template-columns: repeat(3, 1fr); } }
.bcba-pub {
    display: flex; flex-direction: column;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius-lg); overflow: hidden; box-shadow: var(--bi-shadow);
    transition: box-shadow .25s, transform .25s;
}
.bcba-pub:hover { box-shadow: var(--bi-shadow-h); transform: translateY(-3px); }
/* Radio duplicado a propósito (aunque el padre .bcba-pub ya recorta con overflow:hidden):
   combinar border + border-radius + overflow:hidden en el mismo elemento deja, en algunos
   navegadores, un hueco de subpíxel justo en la esquina (se "borra el borde del recuadro").
   Repetir el radio en la tapa fuerza el recorte correcto en las 2 esquinas superiores. */
.bcba-pub__cover {
    background: var(--bh-bg); border-bottom: 1px solid var(--bi-border);
    border-radius: var(--bi-radius-lg) var(--bi-radius-lg) 0 0; overflow: hidden;
}
.bcba-pub__cover img {
    /* object-fit:contain a propósito (Ana, BCBA): para Memoria y La Bolsa Hoy
       la tapa completa tiene que verse siempre entera, sin recortar bordes.
       Medida pedida: 153x213 — se puede ajustar el ratio a futuro respetando
       esta misma proporción, sin volver a "cover". */
    width: 100%; aspect-ratio: 153 / 213; object-fit: contain; display: block;
    border-radius: inherit;
}
/* flex:1 a propósito: en una fila, la grilla estira todas las tarjetas a la
   altura de la que tiene más documentos — sin esto, una tarjeta con 1 solo
   documento quedaba con un hueco vacío abajo (~46px medidos) mientras sus
   vecinas de la misma fila con 2 documentos llenaban la tarjeta entera. */
.bcba-pub__body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.bcba-pub__year {
    display: block; font-family: var(--bh-serif); font-size: 22px; font-weight: 700;
    color: var(--bh-navy); line-height: 1; margin-bottom: 10px;
}
/* El año queda siempre arriba (posición fija); el listado de documentos —que es
   lo que varía en cantidad— se centra en el espacio sobrante en vez de quedar
   pegado arriba con un vacío abajo. */
.bcba-pub__docs { display: flex; flex-direction: column; gap: 6px; flex: 1; justify-content: center; }
.bcba-pub__doc {
    display: flex; align-items: center; gap: 9px;
    padding: 8px 10px; border-radius: 9px;
    font-size: 13.5px; font-weight: 500; color: var(--bh-navy);
    text-decoration: none; border: 1px solid var(--bi-border);
    transition: background .18s, border-color .18s;
}
.bcba-pub__doc:hover { background: var(--bh-bg); border-color: var(--bh-gold); color: var(--bh-navy); }
.bcba-pub__doc::before {
    content: ""; flex-shrink: 0; width: 17px; height: 17px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee8d00' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 15h6'/%3E%3Cpath d='M9 18h6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Ediciones anteriores (sin tapa) */
.bcba-pubs__archive { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--bi-border); }
.bcba-pubs__archive-title {
    font-family: var(--bh-serif); font-size: 22px; font-weight: 700; color: var(--bh-navy);
    margin: 0 0 22px; display: flex; align-items: center; gap: 10px;
}
.bcba-pubs__archive-title::before { content: ""; width: 18px; height: 2px; background: var(--bh-gold); flex-shrink: 0; }
.bcba-pubs__archive-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px;
}
.bcba-pubrow {
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); padding: 16px 18px; box-shadow: var(--bi-shadow);
}
.bcba-pubrow__year {
    display: block; font-family: var(--bh-serif); font-size: 19px; font-weight: 700;
    color: var(--bh-navy); margin-bottom: 8px;
    padding-bottom: 8px; border-bottom: 2px solid var(--bh-gold);
}
.bcba-pubrow__docs { display: flex; flex-direction: column; gap: 2px; }
.bcba-pubrow__docs .bcba-pub__doc { border: none; padding: 6px 6px; }
.bcba-pubrow__docs .bcba-pub__doc:hover { background: var(--bh-bg); }

/* ═══════════ 13. ACORDEÓN [desplegable] ═══════════ */
.bcba-accordion { display: flex; flex-direction: column; gap: 4px; margin: 1.5em 0; }

.bcba-accordion__item {
    border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius);
    background: var(--bh-white);
    overflow: hidden;
    box-shadow: var(--bi-shadow);
    transition: box-shadow .2s;
}
.bcba-accordion__item[open] { box-shadow: var(--bi-shadow-h); }

.bcba-accordion__title {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding: 17px 22px;
    font-family: var(--bh-sans); font-size: 15.5px; font-weight: 600;
    color: var(--bh-navy); cursor: pointer; list-style: none;
    user-select: none; -webkit-user-select: none;
    border-bottom: 1px solid transparent;
    transition: background .15s, border-color .15s;
}
.bcba-accordion__title::-webkit-details-marker { display: none; }
.bcba-accordion__title::after {
    content: "";
    flex-shrink: 0; width: 20px; height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee8d00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .22s ease;
}
.bcba-accordion__item[open] > .bcba-accordion__title {
    background: rgba(0,38,77,.03);
    border-bottom-color: var(--bi-border);
}
.bcba-accordion__item[open] > .bcba-accordion__title::after { transform: rotate(-180deg); }
.bcba-accordion__title:hover { background: rgba(0,38,77,.03); }

.bcba-accordion__body {
    padding: 20px 22px 22px;
    font-size: 15px; line-height: 1.75; color: var(--bh-text);
}
.bcba-accordion__body p:first-child { margin-top: 0; }
.bcba-accordion__body p:last-child  { margin-bottom: 0; }

@media (max-width: 640px) {
    .bcba-accordion__title { padding: 15px 16px; font-size: 14.5px; }
    .bcba-accordion__body  { padding: 16px 16px 18px; }
}

/* ═══════════ 14. FORMULARIO CF7 (bloque formulario / Contacto) ═══════════ */
/* Bloque formulario: tarjeta centrada en columna angosta */
.bcba-formblock__inner {
    max-width: 620px; margin: 0 auto;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); box-shadow: var(--bi-shadow);
    padding: 38px 40px;
}
.bcba-formblock__intro {
    margin: 0 0 26px; text-align: center;
    font-size: 16px; color: var(--bh-ink-soft, #4a5568); line-height: 1.6;
}
.bcba-formblock .bcba-sec__head { text-align: center; }

.bcba-prose .wpcf7,
.bcba-formblock .wpcf7 { max-width: 660px; margin: 1.5em 0; }
.bcba-formblock .wpcf7 { margin: 0; }
.bcba-prose .wpcf7-form,
.bcba-formblock .wpcf7-form { display: flex; flex-direction: column; gap: 0; }
.bcba-prose .wpcf7-form p,
.bcba-formblock .wpcf7-form p { margin: 0 0 18px; }
.bcba-prose .wpcf7-form p:last-child,
.bcba-formblock .wpcf7-form p:last-child { margin-bottom: 0; }

.bcba-prose .wpcf7-form label,
.bcba-formblock .wpcf7-form label {
    display: block; margin-bottom: 6px;
    font-size: 11.5px; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--bh-navy);
}
.bcba-prose .wpcf7-form .wpcf7-form-control:not([type=submit]),
.bcba-formblock .wpcf7-form .wpcf7-form-control:not([type=submit]) {
    display: block; width: 100%; box-sizing: border-box;
    padding: 13px 16px;
    border: 1.5px solid var(--bi-border);
    border-radius: 10px;
    font-family: var(--bh-sans); font-size: 15px; color: var(--bh-navy);
    background: var(--bh-white);
    transition: border-color .2s, box-shadow .2s;
    -webkit-appearance: none;
}
.bcba-prose .wpcf7-form .wpcf7-form-control:not([type=submit]):focus,
.bcba-formblock .wpcf7-form .wpcf7-form-control:not([type=submit]):focus {
    outline: none;
    border-color: var(--bh-gold);
    box-shadow: 0 0 0 3px rgba(201,168,76,.18);
}
.bcba-prose .wpcf7-form textarea.wpcf7-form-control,
.bcba-formblock .wpcf7-form textarea.wpcf7-form-control {
    min-height: 150px; resize: vertical; line-height: 1.6;
}
.bcba-prose .wpcf7-form [type=submit],
.bcba-formblock .wpcf7-form [type=submit] {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 36px; margin-top: 4px; align-self: center;
    background: var(--bh-navy); color: #fff;
    border: none; border-radius: 10px;
    font-family: var(--bh-sans); font-size: 15px; font-weight: 600; letter-spacing: .02em;
    cursor: pointer;
    transition: background .2s, box-shadow .2s, transform .15s;
}
.bcba-prose .wpcf7-form [type=submit]:hover,
.bcba-formblock .wpcf7-form [type=submit]:hover {
    background: var(--bh-gold);
    box-shadow: 0 6px 20px rgba(201,168,76,.35);
    transform: translateY(-1px);
}
.bcba-prose .wpcf7-form [type=submit]:active,
.bcba-formblock .wpcf7-form [type=submit]:active { transform: translateY(0); }

/* Mensajes de validación CF7 */
.bcba-prose .wpcf7-not-valid-tip,
.bcba-formblock .wpcf7-not-valid-tip { font-size: 12.5px; color: #c0392b; margin-top: 4px; display: block; }
.bcba-prose .wpcf7-response-output,
.bcba-formblock .wpcf7-response-output {
    margin-top: 18px; padding: 14px 18px; border-radius: 10px;
    font-size: 14.5px; border: 1.5px solid;
}
.bcba-prose .wpcf7-mail-sent-ok,
.bcba-formblock .wpcf7-mail-sent-ok { background: #f0faf4; border-color: #27ae60; color: #1e7e45; }
.bcba-prose .wpcf7-mail-sent-ng,
.bcba-prose .wpcf7-validation-errors,
.bcba-formblock .wpcf7-mail-sent-ng,
.bcba-formblock .wpcf7-validation-errors { background: #fef5f5; border-color: #e74c3c; color: #c0392b; }

@media (max-width: 640px) {
    .bcba-formblock__inner { padding: 28px 22px; }
    .bcba-prose .wpcf7-form [type=submit],
    .bcba-formblock .wpcf7-form [type=submit] { width: 100%; justify-content: center; }
}

/* ═══════════ 15. PERSONAS CON FOTO (árbitros del Tribunal) ═══════════ */
.bcba-auth.has-photo { align-items: stretch; }
/* 66×88 = 3/4 exacto. El marco de encuadre del mantenedor usa esa misma
   proporción: si no coinciden, lo que se encuadra no es lo que se ve. */
.bcba-auth__photo {
    flex-shrink: 0; width: 66px; height: 88px; border-radius: 8px; overflow: hidden;
    background: var(--bh-bg); border: 1px solid var(--bi-border);
}
/* Sin object-position propio a propósito: ".bcba-encuadre img" (bcba-header.css) ya lo
   define vía --ix/--iy con el mismo peso de selector, y al cargar ese archivo DESPUÉS
   este "top center" fijo ganaba la cascada — el encuadre elegido en el mantenedor
   (mover/zoom) quedaba siempre pegado arriba, ignorando la posición configurada. */
.bcba-auth__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bcba-auth__pdf {
    display: inline-flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 8px;
    font-size: 11.5px; font-weight: 600; color: var(--bh-navy); text-decoration: none;
    border-bottom: 1px solid var(--bh-gold); padding-bottom: 1px; width: fit-content;
    transition: color .2s;
}
.bcba-auth__pdf::before {
    content: ""; width: 13px; height: 13px; flex-shrink: 0;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2v6h6'/%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'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2v6h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.bcba-auth__pdf:hover { color: var(--bh-gold); }

@media (max-width: 600px) {
    .bcba-pubs__grid { grid-template-columns: repeat(2, 1fr); gap: 20px 14px; }
    .bcba-pubs__archive-grid { grid-template-columns: 1fr; }
}

/* ═══════════ 16. AGENDA (listado, categoría, evento) ═══════════ */
.bcba-phero__sub {
    margin: 14px 0 0; max-width: 620px;
    font-size: 16.5px; line-height: 1.55; color: rgba(255,255,255,.82);
}

/* Layout 2 columnas: filtro lateral izquierdo + contenido */
.bcba-agenda-layout { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
@media (min-width: 1024px) { .bcba-agenda-layout { grid-template-columns: 248px 1fr; gap: 52px; } }
.bcba-agenda-main { min-width: 0; }

/* Barra lateral de categorías */
.bcba-agenda-side { min-width: 0; }
@media (min-width: 1024px) {
    .bcba-agenda-side {
        position: sticky; top: 100px;
        display: flex; flex-direction: column;
        max-height: calc(100vh - 124px);
        background: var(--bh-white); border: 1px solid var(--bi-border);
        border-radius: var(--bi-radius-lg); box-shadow: var(--bi-shadow);
        padding: 22px 16px;
    }
    /* Texto largo (ej. "PYMES Y EMPRENDEDORES") hace wrap en vez de desbordarse */
    .bcba-agenda-side__lnk { white-space: normal; align-items: flex-start; }
    .bcba-agenda-side__txt { white-space: normal; line-height: 1.3; }
    .bcba-agenda-side__title { flex-shrink: 0; }
    /* Solo la lista scrollea: la scrollbar queda DENTRO del card (a salvo de las
       esquinas redondeadas) y el título queda fijo arriba. */
    .bcba-agenda-side__list {
        flex: 1; min-height: 0;
        overflow-y: auto; overscroll-behavior: contain;
    }
}
/* Scrollbar visible (dorada) dentro del card */
.bcba-agenda-side__list { scrollbar-width: thin; scrollbar-color: var(--bh-gold) var(--bh-bg); }
.bcba-agenda-side__list::-webkit-scrollbar { width: 8px; }
.bcba-agenda-side__list::-webkit-scrollbar-track { background: var(--bh-bg); border-radius: 8px; margin: 2px 0; }
.bcba-agenda-side__list::-webkit-scrollbar-thumb { background: var(--bh-gold); border-radius: 8px; }
.bcba-agenda-side__list::-webkit-scrollbar-thumb:hover { background: var(--bh-navy); }
.bcba-agenda-side__title {
    font-family: var(--bh-serif); font-size: 19px; font-weight: 700; color: var(--bh-navy);
    margin: 0 0 14px; padding: 0 8px 14px; border-bottom: 2px solid var(--bh-gold);
}
.bcba-agenda-side__list {
    list-style: none; margin: 0; padding: 0;
    display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; -webkit-overflow-scrolling: touch;
}
@media (min-width: 1024px) {
    .bcba-agenda-side__list { flex-direction: column; gap: 2px; overflow-x: hidden; padding-bottom: 0; }
}
.bcba-agenda-side__lnk {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 9px 14px; border-radius: 10px; white-space: nowrap;
    font-size: 14px; font-weight: 600; color: var(--bh-text-muted);
    text-decoration: none; transition: background .18s, color .18s;
    border: 1px solid var(--bi-border);
}
@media (min-width: 1024px) { .bcba-agenda-side__lnk { border-color: transparent; } }
.bcba-agenda-side__lnk:hover { background: var(--bh-bg); color: var(--bh-navy); text-decoration: none; }
.bcba-agenda-side__lnk.is-active { background: var(--bh-navy); color: #fff; border-color: var(--bh-navy); }
.bcba-agenda-side__n {
    font-size: 11px; font-weight: 700; line-height: 1; padding: 3px 7px; border-radius: 9999px;
    background: var(--bh-bg); color: var(--bh-navy); flex-shrink: 0;
}
.bcba-agenda-side__lnk:hover .bcba-agenda-side__n { background: var(--bh-white); }
.bcba-agenda-side__lnk.is-active .bcba-agenda-side__n { background: rgba(255,255,255,.16); color: var(--bh-gold-light); }

/* Grupos (Próximos / Pasados) */
.bcba-agenda-group { margin-bottom: 48px; }
.bcba-agenda-group:last-child { margin-bottom: 0; }
.bcba-agenda-h {
    display: flex; align-items: center; gap: 11px;
    font-family: var(--bh-serif); font-size: 24px; font-weight: 700; color: var(--bh-navy);
    margin: 0 0 22px;
}
.bcba-agenda-h__dot { width: 22px; height: 3px; border-radius: 2px; background: var(--bh-gold); flex-shrink: 0; }
.bcba-agenda-empty { color: var(--bh-ink-soft, #4a5568); font-size: 15.5px; padding: 8px 0; }

/* Lista de eventos */
.bcba-ev-list { display: flex; flex-direction: column; gap: 12px; }

.bcba-ev {
    position: relative; display: flex; align-items: stretch; gap: 18px;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); padding: 16px 18px; box-shadow: var(--bi-shadow);
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.bcba-ev:hover { box-shadow: var(--bi-shadow-h); transform: translateY(-2px); border-color: rgba(201,168,76,.5); }
.bcba-ev__link { position: absolute; inset: 0; z-index: 1; }

/* Bloque de fecha */
.bcba-ev__date {
    flex-shrink: 0; width: 74px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    border-radius: 10px; padding: 10px 4px;
    background: linear-gradient(150deg, var(--bh-navy) 0%, var(--bh-navy-light) 100%);
    color: #fff; text-align: center;
}
.bcba-ev__day { font-family: var(--bh-serif); font-size: 28px; font-weight: 700; line-height: 1; color: #fff; }
.bcba-ev__mon { font-size: 11px; font-weight: 700; letter-spacing: .12em; color: var(--bh-gold-light); margin-top: 3px; }
.bcba-ev__yr  { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; color: rgba(255,255,255,.6); margin-top: 2px; }
.bcba-ev__date--empty { background: var(--bh-bg); color: var(--bh-gold); border: 1px solid var(--bi-border); }
.bcba-ev__date--empty .bcba-ev-ico { width: 26px; height: 26px; }

/* Cuerpo de la card */
.bcba-ev__body { display: flex; flex-direction: column; justify-content: center; min-width: 0; flex: 1; }
.bcba-ev__cat {
    align-self: flex-start;
    font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
    color: var(--bh-gold); margin-bottom: 5px;
}
.bcba-ev__title {
    font-family: var(--bh-serif); font-size: 18px; font-weight: 700; line-height: 1.28;
    color: var(--bh-navy); margin: 0;
}
.bcba-ev:hover .bcba-ev__title { color: var(--bh-navy-light); }
.bcba-ev__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 9px; }
.bcba-ev__m {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; color: var(--bh-ink-soft, #4a5568); min-width: 0;
}
.bcba-ev-ico { width: 15px; height: 15px; flex-shrink: 0; color: var(--bh-gold); }

/* Flecha derecha */
.bcba-ev__go {
    flex-shrink: 0; align-self: center;
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 9999px;
    background: var(--bh-bg); color: var(--bh-navy);
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.bcba-ev__go .bcba-ev-ico { width: 17px; height: 17px; color: inherit; }
.bcba-ev:hover .bcba-ev__go { background: var(--bh-gold); color: #fff; transform: translateX(3px); }

/* Paginación */
.bcba-agenda-pag { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 34px; }
.bcba-pag__item {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 10px; border-radius: 9px;
    border: 1px solid var(--bi-border); background: var(--bh-white);
    font-size: 14px; font-weight: 600; color: var(--bh-navy); text-decoration: none;
    transition: all .18s ease;
}
a.bcba-pag__item:hover { border-color: var(--bh-gold); background: #fffdf6; text-decoration: none; }
.bcba-pag__item.is-active { background: var(--bh-navy); border-color: var(--bh-navy); color: #fff; }
.bcba-pag__item .bcba-ev-ico { width: 17px; height: 17px; color: currentColor; }
.bcba-pag__item.dots { border: none; background: transparent; }

/* Volver */
.bcba-ev-back {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 13.5px; font-weight: 600; color: var(--bh-navy); text-decoration: none;
    margin-bottom: 26px; transition: gap .18s ease, color .18s ease;
}
.bcba-ev-back:hover { color: var(--bh-gold); gap: 11px; text-decoration: none; }
.bcba-ev-back .bcba-ev-ico { width: 16px; height: 16px; color: currentColor; }

/* Evento individual */
.bcba-ev-single { display: grid; grid-template-columns: 1fr; gap: 36px; }
@media (min-width: 900px) { .bcba-ev-single { grid-template-columns: minmax(0,1fr) 320px; gap: 48px; align-items: start; } }
.bcba-ev-single__img { margin: 0 0 26px; border-radius: var(--bi-radius); overflow: hidden; }
.bcba-ev-single__img img { width: 100%; height: auto; display: block; }

.bcba-ficha {
    background: var(--bh-bg); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); padding: 26px 24px;
}
@media (min-width: 900px) { .bcba-ficha { position: sticky; top: 96px; } }
.bcba-ficha__title {
    font-family: var(--bh-serif); font-size: 18px; font-weight: 700; color: var(--bh-navy);
    margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--bi-border);
}
.bcba-ficha__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.bcba-ficha__row { display: flex; align-items: flex-start; gap: 12px; }
.bcba-ficha__row .bcba-ev-ico { width: 18px; height: 18px; margin-top: 2px; color: var(--bh-gold); flex-shrink: 0; }
.bcba-ficha__k {
    display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; color: var(--bh-ink-soft, #6b7280); margin-bottom: 2px;
}
.bcba-ficha__v { display: block; font-size: 14.5px; color: var(--bh-navy); line-height: 1.45; word-break: break-word; }
.bcba-ficha__v a { color: var(--bh-navy-light); text-decoration: none; }
.bcba-ficha__v a:hover { color: var(--bh-gold); text-decoration: underline; }

/* Responsive: card en mobile */
@media (max-width: 560px) {
    .bcba-ev { gap: 14px; padding: 14px; }
    .bcba-ev__date { width: 60px; padding: 8px 4px; }
    .bcba-ev__day { font-size: 23px; }
    .bcba-ev__title { font-size: 16px; }
    .bcba-ev__go { display: none; }
    .bcba-agenda-h { font-size: 21px; }
}

/* ═══════════ 17. NOVEDADES (cards tipo blog + single) ═══════════ */
.bcba-nov-grid {
    display: grid; gap: 24px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.bcba-nov-card {
    position: relative; display: flex; flex-direction: column;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); overflow: hidden; box-shadow: var(--bi-shadow);
    transition: box-shadow .2s ease, transform .2s ease;
}
.bcba-nov-card:hover { box-shadow: var(--bi-shadow-h); transform: translateY(-3px); }
.bcba-nov-card__link { position: absolute; inset: 0; z-index: 2; }
.bcba-nov-card__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bh-bg); }
.bcba-nov-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.bcba-nov-card:hover .bcba-nov-card__media img { transform: scale(1.05); }
.bcba-nov-card__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--bh-gold); }
.bcba-nov-card__ph svg { width: 40px; height: 40px; }
.bcba-nov-card__cat {
    position: absolute; top: 12px; left: 12px; z-index: 1;
    font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--bh-navy); background: var(--bh-gold); padding: 5px 11px; border-radius: 9999px;
}
.bcba-nov-card__socios {
    position: absolute; top: 12px; right: 12px; z-index: 1;
    font-size: 10.5px; font-weight: 700; letter-spacing: .04em;
    color: #fff; background: var(--bh-navy); padding: 5px 11px; border-radius: 9999px;
}
.bcba-nov-card__body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.bcba-nov-card__date { font-size: 12.5px; color: var(--bh-muted); margin-bottom: 8px; }
.bcba-nov-card__title {
    font-family: var(--bh-serif); font-size: 19px; font-weight: 700; line-height: 1.28;
    color: var(--bh-navy); margin: 0 0 10px;
}
.bcba-nov-card:hover .bcba-nov-card__title { color: var(--bh-navy-light); }
.bcba-nov-card__exc { font-size: 14px; line-height: 1.55; color: var(--bh-text-muted); margin: 0 0 16px; }
.bcba-nov-card__more {
    display: inline-flex; align-items: center; gap: 6px; margin-top: auto;
    font-size: 13px; font-weight: 700; color: var(--bh-gold);
}
.bcba-nov-card__more svg { width: 15px; height: 15px; transition: transform .2s ease; }
.bcba-nov-card:hover .bcba-nov-card__more svg { transform: translateX(3px); }

/* Single de novedad */
.bcba-nov-single { max-width: 768px; margin: 0 auto; }
.bcba-nov-single__meta { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.bcba-nov-single__meta time { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--bh-muted); }
.bcba-nov-single__meta time svg { width: 16px; height: 16px; color: var(--bh-gold); }
.bcba-nov-single__socios {
    font-size: 11px; font-weight: 700; letter-spacing: .04em; color: #fff;
    background: var(--bh-navy); padding: 4px 11px; border-radius: 9999px;
}
.bcba-nov-single__img { margin: 0 0 28px; border-radius: var(--bi-radius); overflow: hidden; }
.bcba-nov-single__img img { width: 100%; height: auto; display: block; }

/* ═══════════ 18. BUSCADOR DE NOVEDADES ═══════════ */
.bcba-nov-search { position: relative; display: flex; gap: 8px; align-items: center; width: 100%; margin: 0 0 30px; }
.bcba-nov-search__ico { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--bh-gold); pointer-events: none; display: flex; }
.bcba-nov-search__ico svg { width: 18px; height: 18px; }
.bcba-nov-search__input {
    flex: 1; min-width: 0; box-sizing: border-box;
    padding: 14px 16px 14px 46px;
    border: 1.5px solid var(--bi-border); border-radius: 10px;
    font-family: var(--bh-sans); font-size: 15px; color: var(--bh-navy); background: var(--bh-white);
    transition: border-color .2s, box-shadow .2s;
}
.bcba-nov-search__input:focus { outline: none; border-color: var(--bh-gold); box-shadow: 0 0 0 3px rgba(201,168,76,.18); }
.bcba-nov-search__clear {
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 42px; height: 42px; border-radius: 9999px;
    color: var(--bh-muted); border: 1px solid var(--bi-border); text-decoration: none; transition: all .2s;
}
.bcba-nov-search__clear:hover { color: var(--bh-navy); border-color: var(--bh-gold); text-decoration: none; }
.bcba-nov-search__clear svg { width: 16px; height: 16px; }
.bcba-nov-search__btn {
    flex-shrink: 0; padding: 14px 26px; background: var(--bh-navy); color: #fff;
    border: none; border-radius: 10px; font-family: var(--bh-sans); font-size: 15px; font-weight: 600;
    cursor: pointer; transition: background .2s;
}
.bcba-nov-search__btn:hover { background: var(--bh-gold); }
.bcba-nov-results { margin: 0 0 22px; color: var(--bh-text-muted); font-size: 15px; }
.bcba-nov-results strong { color: var(--bh-navy); }
@media (max-width: 560px) { .bcba-nov-search__btn { padding: 14px 16px; } }

/* ============================================================
   Páginas-herramienta: Diccionario · Preguntas frecuentes
   ============================================================ */
.bcba-tool { display: block; }
.bcba-tool__intro { margin-bottom: 28px; }
.bcba-tool__intro .bcba-prose, .bcba-tool__intro p { color: var(--bh-text-muted); font-size: 17px; line-height: 1.7; }

/* Buscador */
.bcba-tool-search {
    position: relative; display: flex; align-items: center;
    margin: 0 0 24px;
}
.bcba-tool-search__ico {
    position: absolute; left: 18px; width: 20px; height: 20px;
    color: var(--bh-gold); pointer-events: none;
}
.bcba-tool-search__input {
    width: 100%; padding: 16px 18px 16px 50px;
    font-family: var(--bh-sans); font-size: 16px; color: var(--bh-navy);
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: 14px; box-shadow: var(--bi-shadow);
    transition: border-color .18s, box-shadow .18s;
}
.bcba-tool-search__input:focus {
    outline: none; border-color: var(--bh-gold);
    box-shadow: 0 0 0 3px rgba(201,168,76,.18);
}
.bcba-tool-search__input::placeholder { color: #9aa3ad; }

/* Numerito de pregunta */
.bcba-tool-num {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 26px; margin-right: 12px; padding: 0 7px;
    font-size: 13px; font-weight: 700; color: var(--bh-navy);
    background: rgba(201,168,76,.16); border-radius: 999px; flex-shrink: 0;
}
.bcba-tool-list .bcba-accordion__title { display: flex; align-items: center; }

.bcba-tool-empty {
    margin: 8px 0 0; padding: 28px; text-align: center;
    color: var(--bh-text-muted); font-size: 15.5px;
    background: var(--bh-bg); border-radius: 14px;
}

/* ============================================================
   Reportes: grilla, tarjetas, sidebar de categorías
   ============================================================ */
.bcba-rep-grid { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
@media (min-width: 1024px) { .bcba-rep-grid { grid-template-columns: minmax(0,1fr) 300px; gap: 44px; } }
.bcba-rep-main { min-width: 0; }

.bcba-rep-block { margin-bottom: 40px; }
.bcba-rep-block__title {
    font-family: var(--bh-serif); font-size: 24px; font-weight: 700; color: var(--bh-navy);
    margin: 0 0 18px; padding-bottom: 12px; border-bottom: 2px solid var(--bh-gold);
}
.bcba-rep-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 720px) { .bcba-rep-block .bcba-rep-cards { grid-template-columns: repeat(2,1fr); } }

.bcba-rep-card {
    display: flex; flex-direction: column; gap: 8px;
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: 16px; padding: 22px; box-shadow: var(--bi-shadow);
    transition: transform .18s, box-shadow .18s, border-color .18s;
}
.bcba-rep-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,38,77,.12); border-color: rgba(201,168,76,.5); }
.bcba-rep-card__tag {
    align-self: flex-start; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    color: var(--bh-navy); background: rgba(201,168,76,.16); padding: 4px 11px; border-radius: 999px;
}
.bcba-rep-card__meta { font-size: 13px; color: var(--bh-text-muted); }
.bcba-rep-card__title { font-family: var(--bh-serif); font-size: 19px; font-weight: 700; color: var(--bh-navy); margin: 2px 0 6px; line-height: 1.3; }
.bcba-rep-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: auto; }
.bcba-rep-card__dl {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 14px; font-weight: 600; color: var(--bh-white);
    background: var(--bh-navy); padding: 9px 16px; border-radius: 10px;
    text-decoration: none; transition: background .18s;
}
.bcba-rep-card__dl svg { width: 17px; height: 17px; }
.bcba-rep-card__dl:hover { background: #ee8d00; color: var(--bh-navy); text-decoration: none; }
.bcba-rep-card__more { font-size: 14px; font-weight: 600; color: var(--bh-navy); text-decoration: none; border-bottom: 1px solid var(--bh-gold); }
.bcba-rep-card__more:hover { color: #8a7223; text-decoration: none; }

/* Listado por categoría (una sola columna, más aireado) */
.bcba-rep-cards--list { grid-template-columns: 1fr; gap: 14px; }
.bcba-rep-cards--list .bcba-rep-card { flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.bcba-rep-cards--list .bcba-rep-card__title { margin: 0; flex: 1 1 100%; }

/* Filtro de año */
.bcba-rep-filter { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.bcba-rep-filter label { font-size: 14px; font-weight: 600; color: var(--bh-navy); }
.bcba-rep-filter select {
    font-family: var(--bh-sans); font-size: 14.5px; color: var(--bh-navy);
    background: var(--bh-white); border: 1px solid var(--bi-border);
    border-radius: 10px; padding: 9px 14px; cursor: pointer;
}
.bcba-rep-filter select:focus { outline: none; border-color: var(--bh-gold); }

/* Sidebar de categorías de reportes */
.bcba-rep-side { position: relative; }
@media (min-width: 1024px) {
    .bcba-rep-side {
        position: sticky; top: 100px;
        background: var(--bh-white); border: 1px solid var(--bi-border);
        border-radius: var(--bi-radius-lg); box-shadow: var(--bi-shadow); padding: 22px 18px;
    }
}
.bcba-rep-side__head {
    font-family: var(--bh-serif); font-size: 19px; font-weight: 700; color: var(--bh-navy);
    padding-bottom: 12px; margin-bottom: 10px; border-bottom: 2px solid var(--bh-gold);
}
.bcba-rep-side__list, .bcba-rep-side__sub { list-style: none; margin: 0; padding: 0; }
.bcba-rep-side__group { margin-bottom: 16px; }
.bcba-rep-side__parent {
    display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
    color: var(--bh-text-muted); margin-bottom: 6px;
}
.bcba-rep-side__item > a {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 9px 12px; border-radius: 10px; font-size: 14.5px; color: var(--bh-navy);
    text-decoration: none; transition: background .18s, color .18s;
}
.bcba-rep-side__item > a:hover { background: var(--bh-bg); text-decoration: none; }
.bcba-rep-side__item.is-current > a { background: var(--bh-navy); color: var(--bh-white); font-weight: 600; }
.bcba-rep-side__count {
    font-size: 12px; font-weight: 600; color: var(--bh-text-muted);
    background: var(--bh-bg); padding: 1px 9px; border-radius: 999px; flex-shrink: 0;
}
.bcba-rep-side__item.is-current .bcba-rep-side__count { background: rgba(255,255,255,.2); color: var(--bh-white); }

/* Paginación */
.bcba-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 32px; }
.bcba-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 42px; height: 42px; padding: 0 12px;
    font-size: 15px; font-weight: 600; color: var(--bh-navy);
    background: var(--bh-white); border: 1px solid var(--bi-border); border-radius: 10px;
    text-decoration: none; transition: background .18s, color .18s, border-color .18s;
}
.bcba-pagination .page-numbers:hover { border-color: var(--bh-gold); background: var(--bh-bg); }
.bcba-pagination .page-numbers.current { background: var(--bh-navy); color: var(--bh-white); border-color: var(--bh-navy); }
.bcba-pagination .page-numbers.dots { border: none; background: transparent; }

/* ═══════════ Columnas configurables por bloque (mantenedor) ═══════════
   Cuando el bloque define "cols", el render agrega .has-cols + la variable
   --bcba-cols. Sin ese dato, cada grid conserva su comportamiento
   responsive automático de siempre. En pantallas chicas el número elegido
   se acota para que nunca desborde. */
.bcba-disc-grid.has-cols,
.bcba-figs.has-cols,
.bcba-gal.has-cols,
.bcba-pubs__grid.has-cols {
    grid-template-columns: repeat(var(--bcba-cols), minmax(0, 1fr));
}
@media (max-width: 900px) {
    .bcba-disc-grid.has-cols,
    .bcba-figs.has-cols,
    .bcba-gal.has-cols,
    .bcba-pubs__grid.has-cols {
        grid-template-columns: repeat(min(var(--bcba-cols), 2), minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .bcba-disc-grid.has-cols,
    .bcba-gal.has-cols,
    .bcba-pubs__grid.has-cols { grid-template-columns: 1fr; }
    /* Las cifras toleran 2 en móvil: son piezas chicas. */
    .bcba-figs.has-cols { grid-template-columns: repeat(min(var(--bcba-cols), 2), minmax(0, 1fr)); }
}

/* Íconos de Material Symbols usados por el bloque Cifras cuando el nombre
   no corresponde a un ícono propio. Calzan con el tamaño del SVG interno. */
.bcba-msym {
    font-family: 'Material Symbols Outlined';
    font-weight: normal; font-style: normal;
    font-size: 24px; line-height: 1;
    letter-spacing: normal; text-transform: none;
    display: inline-block; white-space: nowrap; word-wrap: normal;
    direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.bcba-fig__icon .bcba-msym { font-size: 24px; }

/* ═══════════ Personas: tarjeta destacada explícita ═══════════
   Antes el destaque era implícito (siempre la PRIMERA tarjeta del primer
   grupo, al activar una casilla del bloque): no se entendía por qué una
   tarjeta cambiaba de ancho y de color. Ahora se marca persona por persona
   desde el mantenedor y esta clase pinta exactamente a la marcada. */
.bcba-auth.is-lead {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, var(--bh-navy) 0%, var(--bh-navy-light) 100%);
    border-color: transparent;
}
.bcba-auth.is-lead .bcba-auth__avatar {
    width: 56px; height: 56px; background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.25); color: var(--bh-gold-light); font-size: 20px;
}
.bcba-auth.is-lead .bcba-auth__photo { width: 84px; height: 112px; }   /* mismo 3/4, más grande */
.bcba-auth.is-lead .bcba-auth__name { color: var(--bh-white); font-size: 17px; }
.bcba-auth.is-lead .bcba-auth__role { color: var(--bh-gold-light); }
.bcba-auth.is-lead .bcba-auth__pdf  { color: var(--bh-white); }
.bcba-auth.is-lead .bcba-auth__pdf:hover { color: var(--bh-gold-light); }

/* Columnas configurables del bloque Personas. */
.bcba-board__grid.has-cols { grid-template-columns: repeat(var(--bcba-cols), minmax(0, 1fr)); }
@media (max-width: 900px) {
    .bcba-board__grid.has-cols { grid-template-columns: repeat(min(var(--bcba-cols), 2), minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .bcba-board__grid.has-cols { grid-template-columns: 1fr; }
}

/* ═══════════ Acordeón: variante "Preguntas frecuentes" ═══════════
   El sitio anterior tenía dos modelos diferenciados por color: el común
   (glosario, reglamentos) y el de preguntas. Se elige desde el mantenedor. */
.bcba-accordion--preguntas .bcba-accordion__item {
    background: var(--bh-bg);
    border-left: 3px solid var(--bh-gold);
}
.bcba-accordion--preguntas .bcba-accordion__title { color: var(--bh-navy); }
.bcba-accordion--preguntas .bcba-accordion__item[open] {
    background: var(--bh-white);
    border-left-color: var(--bh-navy);
}
.bcba-accordion--preguntas .bcba-accordion__item[open] > .bcba-accordion__title { color: var(--bh-navy); }

/* ═══════════ Texto + imagen: tamaño de la imagen lateral ═══════════
   Por defecto (md) mantiene el 42% / 360px de siempre. */
.bcba-gob__media--float.is-sm   { width: 28%; max-width: 240px; }
.bcba-gob__media--float.is-lg   { width: 55%; max-width: 480px; }
.bcba-gob__media--float.is-full {
    float: none; width: 100%; max-width: none; margin: 0 0 24px;
}
@media (max-width: 780px) {
    .bcba-gob__media--float.is-sm,
    .bcba-gob__media--float.is-lg { float: none; width: 100%; max-width: none; margin: 0 0 24px; }
}

/* ═══════════ Formulario propio del sitio ═══════════ */
.bcba-form { display: flex; flex-direction: column; gap: 16px; }
.bcba-form__row { display: flex; flex-direction: column; gap: 6px; }
.bcba-form__label { font-size: 13px; font-weight: 600; color: var(--bh-navy); }
.bcba-form__req { color: var(--bh-gold); }
.bcba-form input[type=text], .bcba-form input[type=email], .bcba-form input[type=tel],
.bcba-form input[type=number], .bcba-form input[type=url], .bcba-form textarea, .bcba-form select {
    width: 100%; padding: 11px 14px; font: inherit; font-size: 14.5px;
    color: var(--bh-ink); background: var(--bh-white);
    border: 1px solid var(--bi-border); border-radius: 8px;
    transition: border-color .15s, box-shadow .15s;
}
.bcba-form input:focus, .bcba-form textarea:focus, .bcba-form select:focus {
    outline: none; border-color: var(--bh-navy);
    box-shadow: 0 0 0 3px rgba(0,38,77,.10);
}
.bcba-form textarea { resize: vertical; min-height: 120px; }
.bcba-form__row--check { flex-direction: row; }
.bcba-form__check { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; color: var(--bh-ink); cursor: pointer; }
.bcba-form__check input { margin-top: 3px; flex-shrink: 0; }
/* Honeypot: invisible para personas, visible para bots que leen el HTML. */
.bcba-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bcba-form__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.bcba-form__submit {
    padding: 12px 30px; font: inherit; font-size: 14.5px; font-weight: 600;
    color: var(--bh-white); background: var(--bh-navy);
    border: none; border-radius: 8px; cursor: pointer;
    transition: background .18s, transform .12s;
}
.bcba-form__submit:hover:not(:disabled) { background: var(--bh-navy-light); }
.bcba-form__submit:active:not(:disabled) { transform: translateY(1px); }
.bcba-form__submit:disabled { opacity: .6; cursor: default; }
.bcba-form__msg { font-size: 13.5px; }
.bcba-form__msg.is-ok    { color: #0f7a4a; font-weight: 600; }
.bcba-form__msg.is-error { color: #c0392b; font-weight: 600; }
/* Enviado: se ocultan los campos y queda el agradecimiento. */
.bcba-form.is-sent .bcba-form__row,
.bcba-form.is-sent .bcba-form__submit { display: none; }
.bcba-form.is-sent .bcba-form__msg { font-size: 15.5px; }

/* ── Línea de tiempo: año + línea vertical con puntos + card (texto + foto opcional) ── */
.bcba-timeline { display: flex; flex-direction: column; }
.bcba-timeline__item {
    display: grid;
    grid-template-columns: 90px 24px 1fr;
    column-gap: 20px;
}
.bcba-timeline__year {
    grid-column: 1; align-self: start; margin-top: 4px;
    background: var(--bh-navy); color: var(--bh-white);
    font-family: var(--bh-sans); font-weight: 700; font-size: 15px;
    text-align: center; padding: 9px 8px; border-radius: 8px;
}
.bcba-timeline__dot {
    grid-column: 2; grid-row: 1; position: relative; z-index: 1;
    justify-self: center; margin-top: 22px;
    width: 13px; height: 13px; border-radius: 50%;
    background: var(--bh-navy); box-shadow: 0 0 0 3px var(--bh-white);
}
/* Tramo de línea que atraviesa cada fila; se recorta arriba/abajo en el
 * primer y último hito para que no sobresalga del todo del bloque. */
.bcba-timeline__dot::before {
    content: ''; position: absolute; left: 50%; top: -1000px; bottom: -1000px;
    width: 2px; margin-left: -1px; background: var(--bi-border); z-index: -1;
}
.bcba-timeline__item:first-child .bcba-timeline__dot::before { top: 6px; }
.bcba-timeline__item:last-child .bcba-timeline__dot::before { bottom: calc(100% - 6px); }
.bcba-timeline__card {
    grid-column: 3; margin-bottom: 24px;
    display: flex; align-items: center; gap: 20px;
    background: var(--bh-bg); border: 1px solid var(--bi-border);
    border-radius: var(--bi-radius); padding: 18px 22px;
}
.bcba-timeline__item:last-child .bcba-timeline__card { margin-bottom: 0; }
.bcba-timeline__body { flex: 1; min-width: 0; }
.bcba-timeline__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bh-text-muted); }
.bcba-timeline__text strong { color: var(--bh-navy); font-weight: 700; }
.bcba-timeline__link {
    display: inline-flex; align-items: center; gap: 6px; margin-top: 12px;
    padding: 8px 16px; background: var(--bh-navy); color: var(--bh-white);
    font-size: 13px; font-weight: 600; border-radius: 8px; text-decoration: none;
    transition: background .18s;
}
.bcba-timeline__link:hover { background: var(--bh-navy-light); text-decoration: none; }
.bcba-timeline__img {
    flex-shrink: 0; width: 160px; aspect-ratio: 4/3; border-radius: var(--bi-radius);
    overflow: hidden; background: var(--bh-navy);
}
.bcba-timeline__img .bcba-encuadre { display: block; width: 100%; height: 100%; }
.bcba-timeline__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 700px) {
    .bcba-timeline__item { grid-template-columns: 1fr; row-gap: 10px; }
    .bcba-timeline__year { grid-column: 1; justify-self: start; }
    .bcba-timeline__dot, .bcba-timeline__dot::before { display: none; }
    .bcba-timeline__card { grid-column: 1; flex-direction: column; align-items: stretch; }
    .bcba-timeline__img { width: 100%; aspect-ratio: 16/9; }
}
