/* ══════════════════════════════════════════════════════════════════════════════
   freepage_bn.css — las páginas de contenido de Bolsanica (16-ago-2026, solo PRUEBAS)

   POR QUÉ EXISTE
   Las freepages eran lo último con cara del sitio viejo: el contenido viene de
   `datos/freepage/pages/<nombre>.tpl.php` y es HTML pegado desde Word (MsoNormal,
   <span style="font-size: medium">, tablas de maquetación). Encima el motor las
   envolvía en `<section class="text-center">`, así que TODO salía centrado: párrafos
   largos centrados y listas con la viñeta pegada al margen izquierdo y el texto
   flotando en el medio. Ese `text-center` se cambió por `id="bnfree"` en
   `bodyfreepage.tpl.php`; este archivo es su pareja.

   CÓMO ESTÁ ARMADO — dos capas, y el orden importa
   1) NORMALIZADOR DE HERENCIA (`#bnfree` a secas): le pone tipografía, ancho de
      lectura y aire a CUALQUIER freepage, incluidas las ~15 que todavía tienen el
      HTML de Word adentro y que nadie tocó (bancoBAC, esquemaTrabajo, hogar…).
      Es la capa que hace que arreglar dos páginas arregle veinte.
   2) COMPONENTES `.bnf-*`: los que se escriben a mano en las páginas ya rehechas
      (financiamientos, servicios). Nada de esto pisa a la capa 1.

   ⛔ NO TOCA: `html{font-size:16px}` de foot.tpl.php, `.bnhead`, el pie, ni
      home/listado/ficha (todo va scopeado bajo `#bnfree`).
   ⛔ Rojo + negro juntos JAMÁS (bandera del FSLN). El rojo `--bn-red` solo aparece
      sobre blanco o azul, como en el resto del sitio (el punto de BOLSANICA.).
   Se carga desde `bodyfreepage.tpl.php` con ?v=filemtime, igual que ficha/home/listado.
   ══════════════════════════════════════════════════════════════════════════════ */

/* Mismos tokens que home_bn.css / ficha_bn.css. Se repiten en vez de importarse
   porque en una freepage esos dos archivos NO se cargan. */
#bnfree{
  --bn-blue:#13358c; --bn-blue-700:#0e2a70; --bn-blue-900:#0a1d4d;
  --bn-blue-100:#dfe5f6; --bn-blue-050:#eef1fa;
  --bn-red:#c81d25; --bn-sobre-azul:#c9d4f2;
  --bn-white:#fff; --bn-surface:#f7f8fc; --bn-surface-2:#eaeef7;
  --bn-border:#dde3f0; --bn-border-2:#c6cee1;
  --bn-ink:#171b26; --bn-body:#394050; --bn-muted:#566072;
  --bn-verde:#0d7a43; --bn-ambar:#8a5a00; --bn-ambar-bg:#fff8e6; --bn-ambar-bd:#f0dca8;
  --font-b:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font:var(--font-b); --font-d:var(--font-b);
  --peso-d:800; --track-d:-.02em; --track-rot:.18em;
  --r-sm:6px; --r-md:14px; --r-lg:22px;
  --sh-1:0 1px 2px rgba(10,29,77,.06),0 1px 3px rgba(10,29,77,.08);
  --sh-2:0 4px 12px rgba(10,29,77,.10);
  --sh-3:0 18px 44px rgba(10,29,77,.18);
  --maxw:1280px;
  --lectura:68ch;            /* el ancho de lectura: ~68 caracteres, no 1256px */
  --ease:cubic-bezier(.22,1,.36,1);
  --t-micro:150ms; --t-base:220ms;
}

/* ── 1. NORMALIZADOR ──────────────────────────────────────────────────────────
   El motor mete la freepage dentro de `<main>` con 12px de padding lateral y le
   deja 48px de margen arriba al <section>. Las páginas que traen bandas a sangre
   (hero azul, franja de cierre) necesitan salirse de esas dos cosas — pero SOLO
   ellas: `nosotros.tpl.php` ya se acomodó a los 12px con sus propios `margin:0 -15px`
   y `margin-top:-3rem`, y si se los saco por abajo se le desarma el ancho.
   Por eso el escape es OPT-IN (`.bnf-hero` o `.bnf-libre`), nunca por defecto.
   No se usa 100vw: mete scroll horizontal cuando hay barra de scroll visible.
   `.bnf-libre` es más suave: dice "no me metas el ancho ni el padding del bloque",
   pero deja intactos los 12px del <main> y los 48px de arriba, que es justo lo que
   `nosotros` ya tenía descontado. Solo `.bnf-hero` pide el escape completo. */
main:has(#bnfree .bnf-hero){padding-left:0;padding-right:0}
#bnfree:has(.bnf-hero){margin-top:0}

#bnfree{
  font-family:var(--font);
  font-size:1rem;                     /* 16px. Piso innegociable, también en cel. */
  line-height:1.75;
  color:var(--bn-body);
  text-align:left;                    /* la corrección de fondo: se acabó el centrado */
  background:var(--bn-white);
  overflow-wrap:break-word;
}
#bnfree .block{display:block}

/* Word deja `<span style="font-size: small|x-small|medium">` anidados hasta tres
   niveles. Ahí es donde nacía el cuerpo de 12px en el celular. Se neutralizan TODOS
   los tamaños en línea de <span>: la escala la manda esta hoja, no el copy-paste.
   Se limita a <span> a propósito — `nosotros.tpl.php` está rehecha con estilos en
   línea sobre <div>/<h1>/<p> y no debe verse afectada (verificado: 0 spans con
   font-size en esa página). */
#bnfree span[style*="font-size"]{font-size:inherit!important}
/* Justificado: en una columna angosta de celular abre ríos de espacio. A la izquierda. */
#bnfree [style*="justify"]{text-align:left!important}
/* Restos de Word que no aportan nada visual. */
#bnfree .MsoNormal{margin:0 0 1em;line-height:inherit}
#bnfree p:empty,#bnfree p > br:only-child{display:none}

/* Tipografía heredada: cualquier freepage vieja cae acá y ya se lee bien. */
#bnfree h1,#bnfree h2,#bnfree h3,#bnfree h4{
  font-family:var(--font-d);font-weight:var(--peso-d);letter-spacing:var(--track-d);
  color:var(--bn-ink);line-height:1.15;margin:0 0 .6em;text-wrap:balance;
}
#bnfree h1{font-size:clamp(1.9rem,1.35rem + 2.3vw,3rem)}
#bnfree h2{font-size:clamp(1.45rem,1.2rem + 1.1vw,2.1rem);margin-top:1.6em}
#bnfree h3{font-size:clamp(1.12rem,1.05rem + .4vw,1.35rem);margin-top:1.4em}
#bnfree h4{font-size:1.02rem;margin-top:1.2em}
#bnfree p{margin:0 0 1.15em;max-width:var(--lectura)}
#bnfree ul,#bnfree ol{max-width:var(--lectura);margin:0 0 1.3em;padding-left:1.35em}
#bnfree li{margin-bottom:.5em}
#bnfree li::marker{color:var(--bn-blue)}
#bnfree a{color:var(--bn-blue);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;transition:color var(--t-micro) var(--ease)}
#bnfree a:hover{color:var(--bn-red)}
#bnfree a:focus-visible{outline:2px solid var(--bn-blue);outline-offset:3px;border-radius:2px}
#bnfree strong,#bnfree b{font-weight:700;color:var(--bn-ink)}
#bnfree img{max-width:100%;height:auto}
#bnfree hr{border:0;border-top:1px solid var(--bn-border);margin:2.5rem 0}
#bnfree table{max-width:100%;border-collapse:collapse}
/* Las tablas de maquetación de Word: si se desbordan, que scrolleen ellas y no la página. */
#bnfree .bnf-tabla{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* El contenido crudo (las ~15 páginas que todavía tienen el HTML de Word) necesita
   ancho máximo y márgenes: sin esto el texto arranca pegado al borde de la pantalla.
   El ancho del bloque es exactamente la columna de lectura más su padding: si se
   deja en 1280px, el texto (limitado a 68ch) queda pegado a la izquierda y la mitad
   derecha de la pantalla vacía, que es como se veía `casas` recién normalizada. */
#bnfree > .block{max-width:calc(var(--lectura) + 2 * clamp(1rem,4vw,2.2rem));margin-inline:auto;
  padding:clamp(1.6rem,4vw,2.6rem) clamp(1rem,4vw,2.2rem) clamp(3rem,7vw,4.5rem)}
/* …salvo en las páginas que se maquetan solas y ya traen bandas a sangre:
   las rehechas acá (`.bnf-hero`) y `nosotros`, que lleva `.bnf-libre` en su div raíz. */
#bnfree > .block:has(.bnf-hero),#bnfree > .block:has(.bnf-libre){max-width:none;margin:0;padding:0}

/* ── 2. COMPONENTES ───────────────────────────────────────────────────────────
   Wrap y secciones: mismas medidas que el home (`--maxw` + padding fluido). */
#bnfree .bnf-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.2rem)}
#bnfree .bnf-sec{padding-block:clamp(2.6rem,6vw,4.5rem)}
#bnfree .bnf-sec--tight{padding-block:clamp(1.8rem,4vw,3rem)}
#bnfree .bnf-alt{background:var(--bn-surface)}

/* El rótulo rojo en mayúsculas espaciadas y el punto rojo del h2: la firma de la
   marca, igual que en el home. */
#bnfree .bnf-rotulo{display:block;font-size:.72rem;font-weight:800;
  letter-spacing:var(--track-rot);text-transform:uppercase;color:var(--bn-red);
  margin:0 0 .55rem;max-width:none}
#bnfree .bnf-h2::after{content:".";color:var(--bn-red)}
#bnfree .bnf-bajada{color:var(--bn-muted);font-size:1.02rem;max-width:58ch;margin-bottom:0}

/* Hero: la banda azul de cabecera. Misma receta que la de `nosotros`. */
#bnfree .bnf-hero{background:linear-gradient(135deg,var(--bn-blue) 0%,var(--bn-blue-900) 100%);
  color:#fff;padding-block:clamp(2.8rem,7vw,4.6rem)}
#bnfree .bnf-hero h1{color:#fff;margin-bottom:.5rem}
#bnfree .bnf-hero p{color:var(--bn-sobre-azul);font-size:clamp(1rem,.95rem + .35vw,1.14rem);
  max-width:60ch;margin-bottom:0}
/* el <strong> global va en tinta oscura; sobre el azul del hero tiene que ser blanco */
#bnfree .bnf-hero strong,#bnfree .bnf-hero b,#bnfree .bnf-cta strong{color:#fff}
#bnfree .bnf-hero .bnf-rotulo{color:#ff9ea2}

/* Prosa: la columna de lectura. */
#bnfree .bnf-prosa{max-width:var(--lectura)}
#bnfree .bnf-entrada{font-size:clamp(1.05rem,1rem + .35vw,1.2rem);color:var(--bn-ink);line-height:1.7}

/* Aviso: el bloque de "letra chica". Ámbar, no rojo: es una advertencia útil, no un
   error, y el rojo pleno junto al negro del texto es justo lo que no se usa acá. */
#bnfree .bnf-aviso{background:var(--bn-ambar-bg);border:1px solid var(--bn-ambar-bd);
  border-left:4px solid #d99b0b;border-radius:var(--r-md);
  padding:clamp(1rem,2.5vw,1.4rem) clamp(1rem,3vw,1.6rem);margin:0 0 1.6rem;max-width:var(--lectura)}
#bnfree .bnf-aviso .bnf-aviso-tit{display:block;font-weight:800;color:var(--bn-ambar);
  font-size:.78rem;letter-spacing:var(--track-rot);text-transform:uppercase;margin-bottom:.5rem}
#bnfree .bnf-aviso p:last-child{margin-bottom:0}

/* Checklist: las viñetas dejan de ser puntos y pasan a ser marcas de "documento
   que tenés que llevar". Es el patrón del rubro (una lista de requisitos se lee
   tildando, no leyendo). */
#bnfree .bnf-check{list-style:none;padding-left:0;margin:0;max-width:none}
#bnfree .bnf-check li{position:relative;padding-left:1.85rem;margin-bottom:.7rem;line-height:1.6}
#bnfree .bnf-check li::before{content:"";position:absolute;left:0;top:.42em;
  width:1.15rem;height:1.15rem;border-radius:5px;background:var(--bn-blue-050);
  border:1px solid var(--bn-blue-100)}
#bnfree .bnf-check li::after{content:"";position:absolute;left:.36rem;top:.62em;
  width:.32rem;height:.62rem;border:solid var(--bn-blue);border-width:0 2px 2px 0;
  transform:rotate(45deg)}

/* Tarjeta destacada (los 4 documentos que piden todos los bancos). */
#bnfree .bnf-panel{background:#fff;border:1px solid var(--bn-border);border-radius:var(--r-lg);
  padding:clamp(1.2rem,3vw,1.9rem);box-shadow:var(--sh-1)}
#bnfree .bnf-panel h3{margin-top:0}

/* Índice de bancos: fichas-ancla en vez de un muro sin puerta de entrada. */
#bnfree .bnf-indice{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  list-style:none;padding:0;margin:0;max-width:none}
#bnfree .bnf-indice a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  background:#fff;border:1px solid var(--bn-border);border-radius:var(--r-md);
  padding:.85rem 1rem;text-decoration:none;color:var(--bn-ink);font-weight:700;font-size:.95rem;
  box-shadow:var(--sh-1);transition:border-color var(--t-micro) var(--ease),
  box-shadow var(--t-micro) var(--ease),transform var(--t-micro) var(--ease)}
#bnfree .bnf-indice a:hover{border-color:var(--bn-blue);box-shadow:var(--sh-2);transform:translateY(-2px);color:var(--bn-blue)}
#bnfree .bnf-indice a::after{content:"↓";color:var(--bn-red);font-weight:800}

/* Tarjeta de banco.
   Es un <details open>: en escritorio se ve todo desplegado (que es como se compara),
   y un script chico lo pliega SOLO en pantallas angostas, donde los cuatro bancos
   desplegados son 10.000px de scroll. El estado por defecto del HTML es ABIERTO: si
   el JS no corre, la pagina se ve completa igual. El plegado es mejora, nunca puerta. */
#bnfree .bnf-banco{background:#fff;border:1px solid var(--bn-border);border-radius:var(--r-lg);
  box-shadow:var(--sh-1);overflow:hidden;margin-bottom:clamp(1.4rem,3vw,2rem);scroll-margin-top:90px}
#bnfree .bnf-banco-head{display:flex;align-items:center;gap:clamp(.9rem,2.5vw,1.4rem);flex-wrap:wrap;
  padding:clamp(1.1rem,3vw,1.6rem);border-bottom:1px solid var(--bn-border);background:var(--bn-surface)}
#bnfree summary.bnf-banco-head{list-style:none;cursor:default}
#bnfree summary.bnf-banco-head::-webkit-details-marker{display:none}
#bnfree details.bnf-banco:not([open]) .bnf-banco-head{border-bottom-color:transparent}
/* El chevron y el cursor de "esto se abre" solo aparecen cuando el script esta vivo
   y realmente hay algo que plegar. Sin JS no se promete una interaccion que no existe. */
.js-bnfree #bnfree summary.bnf-banco-head{cursor:pointer;position:relative;padding-right:3rem}
.js-bnfree #bnfree summary.bnf-banco-head::after{content:"";position:absolute;right:1.4rem;top:50%;
  width:.6rem;height:.6rem;margin-top:-.4rem;border:solid var(--bn-blue);border-width:0 2px 2px 0;
  transform:rotate(45deg);transition:transform var(--t-base) var(--ease)}
.js-bnfree #bnfree details.bnf-banco[open] summary.bnf-banco-head::after{transform:rotate(-135deg);margin-top:-.2rem}
.js-bnfree #bnfree summary.bnf-banco-head:hover{background:var(--bn-blue-050)}
.js-bnfree #bnfree summary.bnf-banco-head:focus-visible{outline:2px solid var(--bn-blue);outline-offset:-3px}
#bnfree .bnf-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:132px;height:60px;background:#fff;border:1px solid var(--bn-border);border-radius:var(--r-sm);padding:.5rem}
#bnfree .bnf-logo img{max-width:100%;max-height:100%;object-fit:contain}
/* AVANZ no tiene archivo de logo en el servidor (themes/ol/images/AVANZ.jpg no existe):
   antes se veía el ícono roto con el alt. Hasta que Oliver suba el logo, va el
   nombre compuesto, que es mejor que una imagen rota. */
#bnfree .bnf-logo--texto{font-family:var(--font-d);font-weight:800;font-size:1.15rem;
  letter-spacing:var(--track-d);color:var(--bn-blue)}
#bnfree .bnf-banco-tit{flex:1 1 240px;min-width:0}
#bnfree .bnf-banco-tit h2{margin:0;font-size:clamp(1.2rem,1.05rem + .7vw,1.6rem)}
#bnfree .bnf-banco-tit .bnf-rotulo{margin-bottom:.3rem}
#bnfree .bnf-banco-body{padding:clamp(1.1rem,3vw,1.8rem)}
#bnfree .bnf-banco-body > p:first-child{margin-top:0}

/* Datos duros del banco en fila: solo se muestran los que el texto realmente da.
   Un banco sin cifras publicadas no lleva la fila vacía. */
#bnfree .bnf-datos{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  list-style:none;padding:0;margin:0 0 1.6rem;max-width:none}
#bnfree .bnf-datos li{background:var(--bn-blue-050);border:1px solid var(--bn-blue-100);
  border-radius:var(--r-md);padding:.8rem 1rem;margin:0}
#bnfree .bnf-datos .bnf-dato-k{display:block;font-size:.72rem;font-weight:800;
  letter-spacing:var(--track-rot);text-transform:uppercase;color:var(--bn-muted);margin-bottom:.25rem}
#bnfree .bnf-datos .bnf-dato-v{display:block;font-family:var(--font-d);font-weight:800;
  font-size:1.05rem;letter-spacing:var(--track-d);color:var(--bn-blue);line-height:1.25}

/* Cada banco ya tiene su propia página con las condiciones duras (prima, plazo, tasa,
   monto). Desde acá se enlaza en vez de duplicar la cifra en dos lugares: si mañana
   cambia el plazo de un banco, se corrige en un solo archivo. */
#bnfree .bnf-ficha{margin:1.6rem 0 0;padding-top:1.2rem;border-top:1px solid var(--bn-border);max-width:none}
#bnfree .bnf-ficha a{font-weight:700;text-decoration:none}
#bnfree .bnf-ficha a::after{content:" →"}
#bnfree .bnf-ficha a:hover{text-decoration:underline}

/* Los grupos de requisitos: a dos columnas cuando hay lugar, para que la página deje
   de ser un rollo de 4 metros. */
#bnfree .bnf-grupos{display:grid;gap:clamp(1.2rem,3vw,2rem);grid-template-columns:1fr}
@media(min-width:860px){#bnfree .bnf-grupos--2{grid-template-columns:1fr 1fr}}
#bnfree .bnf-grupo h3,#bnfree .bnf-solo{margin-top:0;margin-bottom:.9rem;padding-bottom:.55rem;
  border-bottom:2px solid var(--bn-blue-100);font-size:1rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--bn-blue)}
#bnfree .bnf-grupo h3 + .bnf-check{margin-bottom:1.8rem}
#bnfree .bnf-grupo .bnf-check:last-child{margin-bottom:0}
/* Una lista larga y plana (BDF) no se parte en dos <ul> con un titulo huerfano:
   se deja UNA lista y la parte el navegador en columnas. Asi el orden se conserva. */
@media(min-width:860px){#bnfree .bnf-check--cols{columns:2;column-gap:clamp(1.2rem,3vw,2rem)}
  #bnfree .bnf-check--cols li{break-inside:avoid}}

/* Grilla de tarjetas (servicios). Mismo componente que las tarjetas de `nosotros`. */
#bnfree .bnf-cards{display:grid;gap:clamp(1rem,2.5vw,1.5rem);grid-template-columns:1fr;
  list-style:none;padding:0;margin:0;max-width:none}
@media(min-width:620px){#bnfree .bnf-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){#bnfree .bnf-cards--3{grid-template-columns:repeat(3,1fr)}}
#bnfree .bnf-card{position:relative;display:flex;flex-direction:column;gap:.55rem;
  background:#fff;border:1px solid var(--bn-border);border-radius:var(--r-lg);
  padding:clamp(1.2rem,3vw,1.6rem);box-shadow:var(--sh-1);margin:0;
  transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),
  transform var(--t-base) var(--ease)}
#bnfree .bnf-card:hover{border-color:var(--bn-blue-100);box-shadow:var(--sh-2);transform:translateY(-3px)}
#bnfree .bnf-card:focus-within{border-color:var(--bn-blue);box-shadow:var(--sh-2)}
#bnfree .bnf-card h3{margin:0;font-size:1.08rem;line-height:1.3}
#bnfree .bnf-card p{margin:0;color:var(--bn-muted);font-size:.95rem;line-height:1.65;max-width:none}
#bnfree .bnf-card-num{font-family:var(--font-d);font-weight:800;font-size:.78rem;
  letter-spacing:var(--track-rot);color:var(--bn-red)}
/* Toda la tarjeta es clickeable cuando lleva enlace, sin anidar <a> dentro de <a>. */
#bnfree .bnf-card .bnf-mas{margin-top:auto;padding-top:.5rem;font-weight:700;font-size:.9rem;
  color:var(--bn-blue);text-decoration:none}
#bnfree .bnf-card .bnf-mas::after{content:" →"}
#bnfree .bnf-card .bnf-mas::before{content:"";position:absolute;inset:0}
#bnfree .bnf-card .bnf-mas:hover{color:var(--bn-red)}

/* Fila de chips (los servicios que se coordinan, no se prestan directo). */
#bnfree .bnf-chips{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:0;max-width:none}
#bnfree .bnf-chips li{background:#fff;border:1px solid var(--bn-border-2);border-radius:var(--r-sm);
  padding:.5rem .95rem;font-weight:600;font-size:.94rem;color:var(--bn-ink);margin:0}

/* Banda de cierre. */
#bnfree .bnf-cta{background:var(--bn-blue);color:#fff;text-align:center}
#bnfree .bnf-cta h2{color:#fff;margin-bottom:.6rem}
#bnfree .bnf-cta p{color:var(--bn-sobre-azul);max-width:52ch;margin:0 auto 1.6rem}
#bnfree .bnf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:#fff;color:var(--bn-blue);font-weight:800;font-size:1rem;
  padding:.85rem 1.9rem;border-radius:var(--r-md);text-decoration:none;box-shadow:var(--sh-2);
  transition:transform var(--t-micro) var(--ease),box-shadow var(--t-micro) var(--ease)}
#bnfree .bnf-btn:hover{color:var(--bn-blue-700);transform:translateY(-2px);box-shadow:var(--sh-3)}
#bnfree .bnf-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
#bnfree .bnf-btn--linea{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.65);box-shadow:none}
#bnfree .bnf-btn--linea:hover{background:#fff;color:var(--bn-blue)}
#bnfree .bnf-cta-acciones{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}

/* Foto de apoyo: el respiro entre bloques de datos. Un producto de deseo no aguanta
   cuatro pantallas seguidas de requisitos sin una imagen en medio. */
#bnfree .bnf-figura{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
#bnfree .bnf-figura img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
#bnfree .bnf-split{display:grid;gap:clamp(1.4rem,4vw,2.6rem);grid-template-columns:1fr;align-items:center}
@media(min-width:900px){#bnfree .bnf-split{grid-template-columns:1fr 1fr}}

/* ── Celular ──────────────────────────────────────────────────────────────────
   El piso de 16px vale también acá: nada de bajar el cuerpo para que "quepa". */
@media(max-width:640px){
  #bnfree{font-size:1rem;line-height:1.7}
  #bnfree .bnf-logo{width:112px;height:52px}
  #bnfree .bnf-datos{grid-template-columns:1fr}
  #bnfree .bnf-indice{grid-template-columns:1fr 1fr}
  #bnfree .bnf-banco{scroll-margin-top:74px}
  /* Los rotulos en mayusculas no bajan de 12px en el celular: por debajo de eso
     dejan de leerse aunque no sean cuerpo de texto. */
  #bnfree .bnf-rotulo,#bnfree .bnf-datos .bnf-dato-k,#bnfree .bnf-card-num{font-size:.75rem}
  /* Piso de 16px para el CUERPO, tambien en las paginas que se rehicieron antes
     (`nosotros`, las cinco de bancos, `esquemaTrabajo`, las de servicios): traen
     `font-size:0.9rem` en linea, o sea 14.4px medidos, y en el celular eso no se lee.
     Solo se sube en pantalla chica: en escritorio se respeta el diseño que ya existia,
     y no se tocan titulos, rotulos ni contadores, que ahi el tamaño es intencional. */
  #bnfree .bnf-libre p,#bnfree .bnf-libre li{font-size:1rem!important;line-height:1.7!important}
  /* Word deja imágenes flotadas con anchos fijos: en 390px eso es scroll horizontal. */
  #bnfree img[style*="float"]{float:none!important;display:block;margin:0 0 1.2rem!important;width:auto!important;max-width:100%}
  #bnfree [width]{max-width:100%}
}

@media(prefers-reduced-motion:reduce){
  #bnfree *{transition:none!important;animation:none!important}
  #bnfree .bnf-card:hover,#bnfree .bnf-indice a:hover,#bnfree .bnf-btn:hover{transform:none}
}

/* Impresión: los requisitos del banco se imprimen y se llevan al banco. */
@media print{
  #bnfree{color:#000}
  #bnfree .bnf-hero{background:none;color:#000;padding-block:0}
  #bnfree .bnf-hero h1,#bnfree .bnf-hero p{color:#000}
  #bnfree .bnf-cta,#bnfree .bnf-indice{display:none}
  #bnfree .bnf-banco{break-inside:avoid;box-shadow:none;border:1px solid #999}
  /* Si el celular dejo bancos plegados, al imprimir se abren igual (ademas del
     beforeprint del script): lo que se imprime es la lista completa, siempre. */
  #bnfree details.bnf-banco > .bnf-banco-body{display:block!important}
  .js-bnfree #bnfree summary.bnf-banco-head::after{display:none}
}
