/* ============================================================================
   Brooklyn by Janice — Header, footer y navegación
   Port de header-brooklyn.liquid y footer-brooklyn.liquid.
   Los colores y fuentes literales del original se reemplazan por tokens.
   ========================================================================= */

/* ---------- Barra de anuncios ---------- */

.announce {
  position: relative;
  /* Alto medido, no heredado del line-height del cuerpo: la barra es
     decorativa y en un sitio 95,64% móvil cada píxel que ocupa se lo quita
     al primer pantallazo, que es donde se decide la compra. */
  padding: 4px 0;
  background: var(--ink);
  color: var(--sand);
  font-family: var(--mono);
  font-size: .68rem;
  line-height: var(--lh-texto);
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
}

.announce-track {
  display: inline-flex;
  width: max-content;
  animation: bk-marquee 20s linear infinite;
}

.announce-item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding-right: 56px;
}

@keyframes bk-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .announce-track { animation: none; }
}

/* ---------- Header ---------- */

header.site {
  position: sticky;
  top: 0;
  z-index: 50;
  /* Blanco puro (pedido de Janice, 30-08). Era rgba(240,240,240,.92), o sea el
     gris `--paper` del sistema visual viejo, que sobre el papel cálido del
     cuerpo se leía como una franja sucia. Se mantiene semitransparente + blur
     para que el contenido que pasa por debajo se insinúe al hacer scroll. */
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(43, 43, 43, .08);
  transition: transform .28s ease;
}

/* Se oculta al bajar, vuelve al subir — ver initHeaderScroll() en app.js. */
header.site.is-oculto { transform: translateY(-100%); }

/* La barra de admin de WordPress mide 32px y es fija: sin esto, el header
   pegajoso se le mete debajo al estar logueado. */
.admin-bar header.site { top: 32px; }

@media (max-width: 782px) {
  .admin-bar header.site { top: 46px; }
}

/* Grilla de 1fr auto 1fr, no flex con space-between: con flex el logo se
   centra respecto del espacio sobrante y basta que un lado sea más ancho
   —el carrito con su contador— para que quede corrido. Con 1fr a cada lado
   el centro del logo es el centro real de la pantalla.

   El padding lateral descuenta el aire interno del botón redondo (44 - 20
   de ícono = 12 por lado), para que el ÍCONO quede alineado con el borde de
   texto del sitio y no el rectángulo invisible que lo contiene. */
header.site .nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  max-width: var(--container);
  margin-inline: auto;
  padding: 4px max(8px, calc(var(--edge) - 12px));
}

.nav-lado { display: flex; align-items: center; gap: 0; }
.nav-lado--izq { justify-self: start; }
.nav-lado--der { justify-self: end; }

/* 34px, no 26 (pedido de Ignacio, 23-08: «más presencia al centro»).
   El alto del header no cambia: lo fija el botón táctil de 44px, y el logo
   sigue cabiendo dentro de esa fila con aire. La firma es de proporción 3:1,
   así que a 34px mide 102px de ancho — con los cuatro íconos ocupando 176px,
   sobra espacio incluso en la pantalla más angosta que se soporta. */
header.site .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  flex-shrink: 0;
}

header.site .logo img {
  height: 100%;
  width: auto;
}

@media (min-width: 700px) {
  header.site .logo { height: 38px; }
}

/* El botón sigue midiendo 44px —el mínimo táctil— aunque el ícono baje a
   20px: reducir el alto del header no puede pagarse con un blanco de tiro
   más chico en un sitio que es 95,64% móvil. Lo que se recortó es el
   padding del contenedor, no el área tocable. */
.icon-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--ink);
  flex-shrink: 0;
  cursor: pointer;
  transition: background var(--t-fast);
}

.icon-btn:hover { background: rgba(43, 43, 43, .06); }

.cart-btn { position: relative; }

.cart-count {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--wine);
  color: var(--white);
  font-family: var(--mono);
  font-size: .6rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-count.is-empty { display: none; }

/* ---------- Menú móvil a pantalla completa: CSS puro, sin Javascript ----------
   El checkbox tiene que ser hermano directo del drawer para que funcione
   :checked ~ . Sin JS el menú funciona aunque el script falle o llegue tarde.

   Fondo de papel con textura de harina a pantalla completa, no una franja
   lateral — la versión anterior dejaba una porción del contenido de fondo
   asomando porque el drawer medía un % de un contenedor que no era el
   viewport. `inset: 0` deja de depender de ningún padre.

   El fondo es EXACTAMENTE el del home (`--papel` + `--harina`): abrir el menú
   no cambia de mundo, se levanta una capa del mismo papel.
   ⚠️ Al invertir el fondo hubo que revisar el color de TODOS los hijos —es la
   regla de §3.l, aprendida cinco veces en este proyecto: cambiar el fondo de
   un contenedor obliga a repasar cada color que vive dentro. Nada de arena
   (`--sand` da 1,29:1 sobre claro) ni blush como color de texto. */

#bk-menu-toggle {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* El panel arranca DEBAJO del header (30-08, pedido de Ignacio: «que en el menú
   aparezca el header»). Antes era `inset: 0` con z-index 200, o sea tapaba el
   header entero y traía su propio logo y su propia ✕.

   ⚠️ El z-index baja de 200 a 40 —por debajo de los 50 del header— y no es un
   detalle: con 200 el panel seguiría dibujándose encima aunque empiece más
   abajo, y el header quedaría tapado por su franja translúcida.

   El alto se calcula, no se asume: `100dvh` menos el header. `dvh` y no `vh`
   porque en un teléfono la barra del navegador aparece y desaparece, y con
   `vh` el final del menú queda debajo de ella. */
.bk-drawer {
  position: fixed;
  /* 🔴 NO es `var(--sticky-h)`, y esto costó una medición para verlo.
     `--sticky-h` son 53px: SOLO el header. Pero la barra de anuncios va encima
     y NO es fija —se va con el scroll—, así que mientras se ve empuja al
     header hacia abajo: su borde inferior real son 75,8px, no 53. Con el panel
     arrancando en 53 el primer ítem del menú quedaba **16,8px por detrás del
     header**, o sea la primera opción del menú tapada.

     Lo resuelve `--drawer-top`, que app.js pone al abrir con el borde inferior
     medido del header. El respaldo NO es `--sticky-h` sino `--sticky-h + 24`:
     si el JS no corre, se prefiere que sobre aire —un hueco de 24px cuando la
     barra ya se fue— antes que esconder la primera opción. Un menú con una
     opción invisible es peor que un menú con una separación de más. */
  top: var(--drawer-top, calc(var(--sticky-h) + 24px));
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  z-index: 40;
  background: var(--papel);
  background-image: var(--harina);
  background-size: var(--harina-size);
  color: var(--ink);
  transform: translateX(100%);
  transition: transform .22s ease;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
}

#bk-menu-toggle:checked ~ .bk-drawer { transform: translateX(0); }

/* La barra de admin de WordPress mide 32px y es fija: sin esto el panel se le
   mete debajo al estar logueado, igual que le pasaba al header. */
.admin-bar .bk-drawer { top: calc(var(--drawer-top, calc(var(--sticky-h) + 24px)) + 32px); }

@media (max-width: 782px) {
  .admin-bar .bk-drawer { top: calc(var(--drawer-top, calc(var(--sticky-h) + 24px)) + 46px); }
}

/* 🔴 EL HEADER NO PUEDE ESCONDERSE CON EL MENÚ ABIERTO.
   `initHeaderScroll()` le pone `.is-oculto` al bajar, y ahora el header es la
   única forma de cerrar el menú: si se va, la ✕ se va con él y el panel queda
   sin salida. Se le gana con `:has()` sobre el checkbox, que es la misma
   mecánica sin JS que ya usa el bloqueo de scroll de abajo. */
body:has(#bk-menu-toggle:checked) header.site.is-oculto { transform: none; }

/* 🔴 LOS DOS FLOTANTES SE ESCONDEN CON EL MENÚ ABIERTO.
   El conversor de moneda va en z-index 55 y el lanzador de Brook en 60; el
   panel bajó a 40 para quedar bajo el header, así que los dos pasaron a
   dibujarse ENCIMA del menú — montados justo sobre el botón «Ver Ebooks», que
   es el CTA que cierra el panel. Se vio en la primera captura del menú
   abierto: el círculo USD a la izquierda del botón y la B de Brook a la
   derecha, los dos por delante.

   No se arregla subiendo el panel —volvería a tapar el header, que es
   exactamente lo que se acaba de pedir que no pase—: se esconden, que además
   es lo correcto. Con el menú abierto no hay página debajo sobre la que
   convertir un precio ni sobre la que preguntar nada; son capas de servicio
   de la página, no del menú.

   `visibility` y no solo `opacity`: un elemento transparente sigue recibiendo
   toques, así que el botón del panel quedaría con dos zonas muertas. */
body:has(#bk-menu-toggle:checked) .moneda-fab,
body:has(#bk-menu-toggle:checked) .brook-fab,
body:has(#bk-menu-toggle:checked) .brook--flotante {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* La hamburguesa pasa a ✕ mientras el menú está abierto (30-08). Los dos
   íconos y los dos nombres accesibles viven en el marcado; acá se decide cuál
   se ve. `~` alcanza al header porque el checkbox ahora va ANTES que él. */
.menu-toggle .menu-toggle-cerrar { display: none; }
#bk-menu-toggle:checked ~ header.site .menu-toggle .menu-toggle-abrir { display: none; }
#bk-menu-toggle:checked ~ header.site .menu-toggle .menu-toggle-cerrar { display: block; }

/* `.screen-reader-text` ya está fuera de pantalla, así que para el texto no
   sirve `display: block` — hay que devolverle su propia caja oculta. */
#bk-menu-toggle:checked ~ header.site .menu-toggle span.menu-toggle-cerrar { display: inline; }
.menu-toggle span.menu-toggle-cerrar { display: none; }

/* Bloquea el scroll del fondo mientras el menú está abierto — misma regla
   :checked, sin una línea de Javascript. */
body:has(#bk-menu-toggle:checked) { overflow: hidden; }

/* Acá vivían `.bk-drawer-top`, `.bk-drawer-logo`, `.bk-drawer-logo-link` y
   `.bk-drawer-cerrar` — la cabecera propia del panel. Se BORRARON, no se
   dejaron comentadas, al pasar el header por encima del menú (30-08): ninguna
   de esas clases existe ya en `header.php`.

   No es higiene. Este proyecto perdió tres sesiones depurando CSS muerto que
   no estaba inerte y ganaba por especificidad (~200 líneas en
   `home-brooklyn.css` el 19-08, ~150 en `cart.css` el 26-08, ~320 del checkout
   el 26-08). El CSS que ya no se usa no estorba hasta que gana.

   Con ellas se va también el comentario de la trampa de `woocommerce-layout.css`
   —`.woocommerce-page img { height: auto }` deformaba el logo del panel en
   carrito, checkout y mi cuenta—. Deja de aplicar porque ese logo ya no existe;
   la trampa sigue viva para cualquier otra imagen del tema. */


/* Por clase y no por nombre de etiqueta (`.bk-drawer nav`): el panel completo
   pasó a ser el `<nav>`, así que un selector por etiqueta apuntaba al
   contenedor equivocado. */
.bk-drawer-nav {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 6px 24px 0;
  overflow-y: auto;
}

/* El menú va en <ul> por accesibilidad (los <li> sueltos no se anuncian como
   lista); el reset global ya le quita las viñetas. */
.bk-drawer-menu { display: flex; flex-direction: column; }

.bk-drawer-link {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  /* Más contenido que antes (23-08): con cinco entradas a 25px el panel se
     leía como un cartel. Bajar el titular y apretar el interlineado deja las
     cinco cómodas en pantalla y la lista se lee más sutil. */
  padding: 15px 0 14px;
  border-bottom: 1px solid rgba(43, 43, 43, .10);
  color: var(--ink);
  text-decoration: none;
}

.bk-drawer-item { display: flex; flex-direction: column; gap: 5px; }

.bk-drawer-titulo {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.05;
  color: var(--ink);
}

.bk-drawer-nota {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cacao);
}

.bk-drawer-flecha { font-size: 16px; line-height: 1; color: var(--cacao); }

/* ⚠️ El primer ítem NO se destaca (23-08, pedido de Ignacio): las cinco
   entradas del menú se ven iguales. «Ebooks» salía en vino y a 34px por ser el
   70% del tráfico, y con «Acceso alumnos» sumado a la lista esa jerarquía
   hacía leer el resto como secundario. Si alguna vez vuelve, va por posición
   (`li:first-child`) y nunca por texto, para que siga al orden del admin.

   Las pastillas de TikTok e Instagram (`.bk-drawer-social`) también salieron:
   el menú existe para llevar a una página del sitio, y dos links que sacan a
   la visitante del dominio no ayudan a eso. */

/* Sin `border-top` (23-08): la línea separaba el cierre del último ítem del
   menú y duplicaba a la que ese ítem ya trae abajo, o sea dos rayas casi
   seguidas antes de la promesa. */
.bk-drawer-cierre {
  flex: 0 0 auto;
  padding: 22px 24px calc(30px + env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bk-drawer-frase {
  margin: 0;
  font-family: var(--script);
  font-style: italic;
  font-size: 23px;
  line-height: 1.3;
  color: var(--wine);
  text-align: center;
}

/* El remate de la promesa. Va en Young Serif y no en la itálica del resto:
   dentro de una línea en cursiva, la cursiva no destaca nada —hay que salirse
   de ella—. Mismo vino, así que no agrega un color al panel. */
.bk-drawer-remate {
  /* En su propia línea, siempre: el corte lo decide el marcado y no el ancho
     de la pantalla, así que la promesa se lee igual en cualquier teléfono. */
  display: block;
  font-family: var(--serif);
  font-style: normal;
  font-weight: 400;
}

/* Botón invertido respecto de antes: sobre papel el CTA tiene que ser el
   vino sólido, que es el único color de acción del sitio (§3.l). */
.bk-drawer-cta {
  background: var(--wine);
  color: var(--papel);
  border-radius: 999px;
  text-align: center;
  padding: 17px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}
/* El menú hamburguesa vive en TODOS los anchos.
   Antes el escritorio mostraba links de texto y escondía el drawer; con el
   logo al centro esa fila ya no existe, así que la navegación es siempre la
   misma pieza. En escritorio el panel se sigue viendo a pantalla completa
   pero su contenido se encolumna: estirado a 1280px, un menú de 5 ítems con
   1.000px de vacío al lado se lee como una página rota, no como un menú. */
@media (min-width: 900px) {
  .bk-drawer-nav,
  .bk-drawer-cierre > * {
    max-width: 620px;
    margin-inline: auto;
    width: 100%;
  }

  /* Sin padding lateral propio: las líneas del menú y el borde de la
     cabecera tienen que caer en la misma vertical, si no la columna se lee
     desalineada. El aire ya lo da el max-width. */
  .bk-drawer-nav { padding-inline: 0; }

  .bk-drawer-cierre { align-items: center; }
  .bk-drawer-cta { width: 100%; }
}

/* ============================================================================
   FOOTER — recompuesto con «La Carta» (27-08)
   ----------------------------------------------------------------------------
   Era una caja gris oscura genérica: fondo tinta liso, sin un solo acento de
   marca, con tres grupos de enlaces apilados a 26px de separación y 6px entre
   cada enlace. **En móvil medía ~700px de alto**, o sea más que el contenido de
   varias de las páginas que cierra, y era lo primero que se veía al llegar al
   final de una compra.

   Tres cambios, ninguno con un recurso nuevo:

   1. **Filete vino arriba y textura de harina.** El mismo par que ya separa las
      secciones del sitio. El footer deja de ser una caja pegada y pasa a ser el
      cierre de la página.
   2. **Los enlaces se compactan en dos columnas** desde 400px. Son tres grupos
      de dos a cuatro ítems: apilarlos en una columna era gastar media pantalla
      para no decir nada más.
   3. **Los grises fríos salen de la paleta.** `#9d9494`, `#d9d2d2`, `#bdb6b6`,
      `#555` y `#3e3838` eran cinco grises inventados en un footer que vive
      sobre `--ink`. Se reemplazan por el papel de la marca a distintas
      opacidades, que es lo mismo que ya hace el bloque vino de la entrega.

   ⚠️ Contraste verificado sobre `--ink` (#2B2B2B): papel al 70% da 8,0:1 y al
   55% da 5,4:1 — los dos sobre AA. Nada baja de ahí.
   ========================================================================= */

.bk-footer footer {
  position: relative;
  background: var(--ink);
  background-image: var(--harina);
  background-size: var(--harina-size);
  color: var(--sand);
  padding: 30px 0 18px;
  border-top: 2px solid var(--wine);
}

.bk-footer .wrap {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--edge);
}

.foot-grid {
  display: grid;
  gap: 22px 20px;
  grid-template-columns: 1fr;
}

/* Dos columnas apenas hay ancho: los cuatro grupos de enlaces son cortos y en
   una sola columna estiraban el footer a ~700px en un teléfono. La marca ocupa
   la fila entera arriba; los grupos se reparten debajo en un 2x2 exacto — que
   es justo la razón de ser de la cuarta columna (pedido de Ignacio, 27-08):
   con tres grupos quedaba un hueco abajo a la derecha. */
/* 340px y no 400: a 390px —la anchura de referencia del proyecto— el footer
   seguía apilado en una columna y medía ~570px, o sea más que el contenido de
   la página que cierra. Medido antes y después. */
@media (min-width: 340px) {
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .foot-grid > :first-child { grid-column: 1 / -1; }
}

/* Tablet: las cuatro columnas en una fila, con la marca todavía a ancho
   completo encima. Medido a 768px: metiendo también la marca en esa fila, cada
   columna quedaba en 101px y «Política de reembolso», «Términos del servicio» y
   «Janice Del Aguila» partían en dos líneas — un menú de dos palabras por
   renglón se lee como una lista del doble de largo. */
@media (min-width: 760px) {
  .foot-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 24px;
  }
}

/* Escritorio: marca + las cuatro columnas en una sola fila. Recién desde 1000px
   hay ancho para las cinco celdas sin partir ningún enlace. La marca ya no pesa
   1.4fr: se le fija un mínimo de lectura y las cuatro columnas se reparten el
   resto en partes iguales. */
@media (min-width: 1000px) {
  .foot-grid {
    grid-template-columns: minmax(190px, 1.15fr) repeat(4, minmax(0, 1fr));
    gap: 30px;
  }
  .foot-grid > :first-child { grid-column: auto; }
}

/* Arapey (--script) en vez del logo: es la misma fuente editorial que ya lleva
   la frase de marca del hero, así que el footer cierra el sitio con el mismo
   acento en vez de repetir el trazado fijo del isotipo — que además, invertido
   a blanco sobre tinta, perdía nitidez. Sallim queda fuera a propósito: es de
   uso exclusivo del logo real, no del tema (ver memory-brooklyn.md §2). */
.foot-logo {
  display: inline-block;
  font-family: var(--script);
  font-style: italic;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--papel);
  letter-spacing: .01em;
}

.bk-footer p.tag {
  font-family: var(--body);
  font-size: 13.5px;
  line-height: var(--lh-texto);
  color: rgba(251, 247, 242, .62);
  margin-top: 6px;
  max-width: 34ch;
}

.foot-lista { display: flex; flex-direction: column; gap: 0; }

/* Los títulos de columna, en el mismo registro que `.carta-filete` y que el
   rótulo del bloque de entrega: mono chica, muy espaciada, en mayúsculas.

   ⚠️ Con `.foot-col h2` a secas —(0,1,1)— esta regla PERDÍA dentro de «Mi
   cuenta», donde `.woocommerce-account h2` pesaba lo mismo y cargaba después:
   los tres títulos salían en Young Serif de 22px. Se arregló acotando aquella
   (ver `cuenta.css`), y acá se sube a (0,2,0) con la clase repetida para que
   ninguna hoja por página pueda volver a ganarle por un empate. */
.foot-col h2.foot-titulo,
.foot-col h2 {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(251, 247, 242, .55);
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px dotted rgba(251, 247, 242, .22);
}

.foot-col a {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  padding: 6px 0;
  color: rgba(251, 247, 242, .78);
  transition: color var(--t-fast);
}

.foot-col a:hover { color: var(--blush); }

.foot-social { display: flex; gap: 10px; margin-top: 14px; }

.foot-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(251, 247, 242, .28);
  color: rgba(251, 247, 242, .8);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--t-fast), color var(--t-fast), background var(--t-fast);
}

.foot-social a:hover {
  border-color: var(--blush);
  color: var(--wine);
  background: var(--blush);
}

.foot-bottom {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px dotted rgba(251, 247, 242, .22);
  display: flex;
  /* UNA SOLA FILA (pedido de Ignacio, 27-08): la razon social no se parte
     nunca. Antes era `wrap` y en movil caia en dos lineas. */
  flex-wrap: nowrap;
  justify-content: center;
  align-items: baseline;
  font-family: var(--mono);
  /* El tamano se ajusta al ancho disponible en vez de desbordar: la fuente es
     monoespaciada, la fila son 46 caracteres a 0,6em de avance (= 27,6em) mas
     los 16px de padding. Al salir «Ñuñoa, Chile» (30-08) desaparecieron 12
     caracteres y el gap, asi que la fila ya no encoge en ningun ancho del parque
     — el clamp se queda igual como red de seguridad, con piso de 8px.
     El letter-spacing se va a 0 acá: a 0,03em por caracter son ~1,7em extra de
     linea, o sea medio punto de tamano regalado en el ancho que aprieta. */
  font-size: clamp(8px, calc((100vw - 16px) / 27.6), .72rem);
  letter-spacing: 0;
  /* 5,4:1 sobre el ink del footer. El #8e8585 anterior daba 3,94:1: bajo el
     mínimo para un texto de 11,5px, y ahí vive el aviso de copyright. */
  color: rgba(251, 247, 242, .55);
}

/* `.wrap` pone `--edge` (24px en movil) a cada lado. Acá se recorta a 8px:
   son 32px de ancho recuperados, que a 390px valen casi un punto de tamano de
   letra en la unica fila que no puede partirse. */
.foot-bottom.foot-bottom {
  padding-inline: 8px;
}

/* La razón social no se parte por dentro (pedido de Ignacio, 23-08): a 390px
   cabía justo, pero a 360 y a 320 —iPhone SE y buena parte del parque Android,
   y acá el 95,6% del tráfico es móvil— partía dejando «SpA» solo en la segunda
   línea, que es lo peor que puede hacer un nombre legal. El tamaño de la fila
   lo calcula `.foot-bottom`. */
.foot-bottom span {
  white-space: nowrap;
}
