/* PALEX — sistema de diseño
   Negro, blanco y rojo de los PNG oficiales. Palex Ampliada titula, la
   secundaria informa: la display es de alto contraste y sus trazos finos
   se pierden en texto chico. */

@font-face{font-family:'Palex Ampliada';src:url('/fonts/PalexAmpliada-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Palex Ampliada';src:url('/fonts/PalexAmpliada-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Palex Ampliada';src:url('/fonts/PalexAmpliada-Bold.woff2') format('woff2');font-weight:700;font-display:swap}

:root{
  /* Diseño definitivo del dueño (24-sep): fondo NEGRO, texto e imágenes en
     BLANCO, logo en ROJO y el rojo solo como acento en palabras sueltas.
     Mucho negro, mucho blanco, muy poco rojo: el contraste se lee mejor.
     No hay modo claro ni interruptor — esto no es un "modo oscuro".

     Las páginas usan --fondo y --tinta, no "negro" y "blanco": así el color
     de fondo se decide aquí y en ningún otro lado. */
  --fondo:#000; --tinta:#fff; --rojo:#FF1A1A;
  --negro:#000; --blanco:#fff;
  --gris:#8f8f8f; --grisf:#b9b9b9; --linea:#2a2a2a; --nieve:#111;
  /* Las fotos de producto vienen sobre blanco: su marco es blanco para que
     no queden flotando en un recuadro gris sobre el negro. */
  --foto:#fff;
  --display:'Palex Ampliada',Georgia,serif;
  --texto:'Helvetica Neue',Arial,Helvetica,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --aire:96px; --aire-m:48px;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--fondo)}
body{background:var(--fondo);color:var(--tinta);font-family:var(--texto);
  font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}

.display{font-family:var(--display);font-weight:400;letter-spacing:.05em}
.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);
  display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:18px;height:2px;background:var(--rojo);flex:none}
.env{max-width:1280px;margin:0 auto;padding:0 28px}
.seccion{padding:var(--aire) 0}
@media(max-width:760px){.seccion{padding:var(--aire-m) 0}.env{padding:0 16px}}

/* ── Cabecera ──────────────────────────────────────────────────────────
   Tres zonas: menú a la izquierda, logo rojo al centro, favoritos y carrito
   a la derecha. La arma /js/cabecera.js, una sola vez para todas las
   páginas. */
/* El hueco donde cabecera.js monta todo no debe ser una caja: si lo fuera,
   la cabecera solo se quedaría pegada mientras ese hueco esté en pantalla. */
#cabecera{display:contents}
.cab{position:sticky;top:0;z-index:50;background:var(--fondo);border-bottom:1px solid var(--linea)}
.cab-in{max-width:1280px;margin:0 auto;padding:0 28px;height:64px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.cab-izq{justify-self:start}
.cab-der{justify-self:end;display:flex;align-items:center;gap:6px}
.logo-centro{display:block}
/* 38px es el mínimo al que el trazo del logo se sostiene. */
.logo-centro img{height:40px;width:auto}
.ico-btn{position:relative;display:grid;place-items:center;width:42px;height:42px;
  background:none;border:0;color:var(--tinta);cursor:pointer;text-decoration:none;padding:0}
.ico-btn svg{width:23px;height:23px;display:block}
.ico-btn:hover{color:var(--grisf)}
.ico-btn:focus-visible{outline:2px solid var(--tinta);outline-offset:-2px}
.ico-btn .n{position:absolute;top:3px;right:1px;background:var(--rojo);color:var(--blanco);
  font-weight:700;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;
  font-size:9.5px;padding:0 4px;line-height:1}
@media(max-width:760px){.cab-in{padding:0 10px;height:58px}.logo-centro img{height:38px}}

/* Categorías y buscador, debajo de la cabecera y a la vista de entrada.
   En pantalla ancha, en una fila: categorías a la izquierda, buscador a la
   derecha, bajo la cabecera. En el teléfono, abajo, al alcance del pulgar
   (25-sep): el buscador y, pegadas al borde, las cinco categorías. De
   entrada siempre se ven; si el cliente baja, se esconden, y vuelven en
   cuanto sube (cabecera.js). Logo, menú, corazón y carrito siguen arriba. */
.barra-cats{border-bottom:1px solid var(--linea);background:var(--fondo)}
.barra-in{max-width:1280px;margin:0 auto;padding:0 28px;display:flex;align-items:center;
  justify-content:space-between;gap:24px;min-height:52px}
.cats-bar{display:flex;gap:28px}
.cats-bar a{text-decoration:none;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;color:var(--tinta)}
.cats-bar a:hover{color:var(--grisf)}
.cats-bar a.on{border-bottom-color:var(--rojo)}
.busca{flex:0 1 340px;position:relative}
.busca input{width:100%;background:var(--nieve);border:1px solid var(--linea);color:var(--tinta);
  padding:10px 14px 10px 38px;font:inherit;font-size:13.5px;border-radius:0;-webkit-appearance:none}
.busca input::placeholder{color:var(--gris)}
.busca input:focus{outline:0;border-color:var(--tinta)}
.busca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;
  color:var(--gris);pointer-events:none}
@media(max-width:760px){
  .barra-cats{position:fixed;left:0;right:0;bottom:0;z-index:40;border-bottom:0;
    border-top:1px solid var(--linea);
    /* Unos milímetros más arriba del borde del iPhone (dueño, 27-sep: "se
       siente pegadísima a las esquinas de abajo"). */
    padding-bottom:max(8px, calc(env(safe-area-inset-bottom,0px) + 6px));
    box-shadow:0 -10px 30px rgba(0,0,0,.55);transition:transform .22s ease}
  .barra-cats.oculta{transform:translateY(110%)}
  .barra-in{flex-direction:column;align-items:stretch;gap:0;padding:0 12px}
  .cats-bar{justify-content:space-between;gap:4px}
  /* 19-oct, el dueño (video): la barra tapaba los precios de la segunda fila de palas. Más baja:
     categorías y buscador más pegados abajo y el buscador más chico. */
  .cats-bar a{font-size:10.5px;letter-spacing:.05em;padding:7px 0 6px;border-bottom:0;
    border-top:2px solid transparent}
  .cats-bar a.on{border-top-color:var(--rojo)}
  .busca{flex:none;margin-top:3px}
  .busca input{padding:7px 12px 7px 34px;font-size:13px}
  .busca svg{left:11px;width:14px;height:14px}
  /* Lo último de la página no queda debajo de la barra. */
  body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}

/* El menú lateral: logo, eslogan, redes, contacto y la salida a WhatsApp.
   La asesoría vive aquí y al final del pie, a propósito poco visible: la
   tienda debe resolver la duda sola (decisión del dueño, 24-sep). */
.cajon{position:fixed;inset:0;z-index:100;visibility:hidden}
.cajon.abierto{visibility:visible}
.cajon-velo{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .2s}
.cajon.abierto .cajon-velo{opacity:1}
.cajon-panel{position:absolute;top:0;bottom:0;left:0;width:min(340px,86vw);background:var(--fondo);
  border-right:1px solid var(--linea);padding:22px 26px 30px;overflow-y:auto;
  transform:translateX(-100%);transition:transform .24s cubic-bezier(.2,.7,.3,1);
  display:flex;flex-direction:column;gap:26px}
.cajon.abierto .cajon-panel{transform:none}
.cajon-cerrar{align-self:flex-end;margin:-8px -10px -10px 0}
.cajon-quien{text-align:center;border-bottom:1px solid var(--linea);padding-bottom:24px}
.cajon-logo{display:inline-grid;place-items:center;width:92px;height:92px;border-radius:50%;
  border:1px solid var(--linea)}
.cajon-logo img{height:60px;width:auto}
.cajon-nombre{font-family:var(--display);font-size:24px;letter-spacing:.2em;margin-top:14px}
.eslogan{color:var(--grisf);font-size:14px;margin-top:6px}
.cajon-pres{color:var(--grisf);font-size:13.5px;line-height:1.55;margin-top:14px;text-align:left}
.redes{display:flex;gap:10px;justify-content:center;margin-top:16px}
.redes[hidden]{display:none}
.redes a{width:46px;height:46px;border-radius:50%;border:1px solid var(--linea);display:grid;
  place-items:center;color:var(--tinta)}
.redes a:hover{border-color:var(--tinta)}
.redes svg{width:20px;height:20px}
/* Las tres ventajas, dentro del menú: se abren al tocarlas. */
.ventajas{margin-top:-26px}
.ventaja{border-bottom:1px solid var(--linea)}
.ventaja-cab{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;
  color:var(--tinta);cursor:pointer;padding:14px 0;font:inherit;text-align:left}
.ventaja-cab b{color:var(--rojo);font-family:var(--mono);font-size:11px}
.ventaja-cab span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;flex:1}
.ventaja-cab i{font-style:normal;font-size:16px;color:var(--grisf);transition:transform .2s}
.ventaja-cab[aria-expanded="true"] i{transform:rotate(45deg)}
.ventaja-cab:focus-visible{outline:2px solid var(--tinta);outline-offset:2px}
.ventaja-cuerpo{padding:0 0 16px 27px}
.ventaja-cuerpo p{color:var(--grisf);font-size:13.5px;line-height:1.6}
.ventaja-cuerpo .btn{margin-top:12px;padding:12px 16px}
.fila-dato{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:14px;color:var(--grisf)}
.fila-dato svg{width:19px;height:19px;flex:none}
.cajon h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);
  font-weight:400;margin-bottom:10px}
.cajon-lista a{display:flex;align-items:flex-start;gap:12px;line-height:1.4;padding:10px 0;text-decoration:none;
  font-size:14px;border-bottom:1px solid var(--linea)}
.cajon-lista a:last-child{border-bottom:0}
.cajon-lista a:hover{color:var(--grisf)}
.cajon-lista svg{width:19px;height:19px;flex:none}
.cajon-ayuda{margin-top:auto}

/* ── Tipografía ── *//* ── Tipografía ── */
h1.t{font-family:var(--display);font-weight:400;font-size:clamp(34px,6vw,68px);
  line-height:1.04;letter-spacing:.04em}
h2.t{font-family:var(--display);font-weight:400;font-size:clamp(24px,3.4vw,38px);
  letter-spacing:.05em;line-height:1.14}
h3.t{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.03em}
.plomo{color:var(--grisf);max-width:58ch;margin-top:12px}

/* ── Botones ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:0;cursor:pointer;font-family:inherit;font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;padding:16px 28px;text-decoration:none;
  transition:opacity .15s,background .15s,color .15s}
/* El botón principal es blanco, no rojo: el rojo se guarda para acentos
   contados. El secundario es un contorno. */
.btn-primario{background:var(--tinta);color:var(--fondo)}
.btn-secundario{background:none;color:var(--tinta);border:1px solid var(--tinta)}
.btn-linea{background:none;border:1px solid currentColor}
.btn:hover:not(:disabled){opacity:.82}
.btn:disabled{background:#2a2a2a;color:#777;border-color:#2a2a2a;cursor:not-allowed;opacity:1}
.btn-bloque{width:100%}

/* ── Rejilla de producto ──
   Disposición fija, por decisión del dueño: 3 por hilera en el teléfono y 5
   en iPad y escritorio, cada uno con su título y su precio. Que se vea la
   mayor cantidad de producto en el menor tiempo. Sin botones para cambiar
   la vista: los pidió en un video y los retiró en el siguiente. */
.rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}
@media(min-width:768px){.rejilla{grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 18px}}
.tarjeta{text-decoration:none;display:block;min-width:0}
.tarjeta .marco{background:var(--foto);aspect-ratio:1;display:grid;place-items:center;
  padding:10%;overflow:hidden;position:relative}
.tarjeta .marco img{max-height:100%;width:auto;object-fit:contain;
  transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.tarjeta:hover .marco img{transform:scale(1.045)}
.tarjeta .nom{font-size:12.5px;line-height:1.35;margin-top:9px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tarjeta .pre{font-weight:700;font-size:14px;margin-top:4px;letter-spacing:.01em;
  font-variant-numeric:tabular-nums}
.tarjeta .pre s{font-weight:400;color:var(--gris);font-size:.85em;margin-left:6px}
@media(max-width:767px){
  .tarjeta .nom{font-size:11px;margin-top:6px}
  .tarjeta .pre{font-size:12px;margin-top:2px}
  .tarjeta .pre s{display:block;margin-left:0}
}
.aviso-promo{margin:4px 0 16px;padding:10px 14px;border-left:3px solid var(--rojo);font-size:13.5px;line-height:1.5}
.oferta{position:absolute;left:0;top:0;background:var(--rojo);color:var(--blanco);
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;z-index:2}

/* ── Filtros ── */
/* ── Filtros ──────────────────────────────────────────────────────────
   Eran tres filas de fichas idénticas —vitrinas, categorías y marcas— sin
   nada que dijera cuál era cuál: el cliente tenía que adivinar qué estaba
   tocando. Y eran cajas grises genéricas debajo de un hero con serif y rojo.

   Ahora cada eje lleva su rótulo en el mismo micro-tipo que el resto del
   sitio, y lo activo se rellena en negro: una sola señal, sin ambigüedad. */
.filtros-bloque{border-top:1px solid var(--linea);padding-top:20px;margin-bottom:26px}
/* En el teléfono los filtros van plegados: abiertos ocupaban una pantalla
   entera antes del primer producto. En pantalla grande se abren solos. */
.filtros-plegable > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;
  gap:10px;border:1px solid var(--linea);padding:9px 14px;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--grisf);margin-bottom:18px}
.filtros-plegable > summary::-webkit-details-marker{display:none}
.filtros-plegable > summary::after{content:'+';font-size:14px;line-height:1}
.filtros-plegable[open] > summary::after{content:'−'}
.filtros-plegable > summary:hover{border-color:var(--tinta);color:var(--tinta)}
.filtros-eje{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:start;
  padding:11px 0}
.filtros-eje + .filtros-eje{border-top:1px solid var(--linea)}
/* `display:grid` de la regla de arriba gana al [hidden] del navegador, y el
   eje de tallas salía vacío en las palas con solo su rótulo colgando. */
.filtros-eje[hidden]{display:none}
.filtros-eje > .rot{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gris);padding-top:10px;white-space:nowrap}
@media(max-width:700px){
  .filtros-eje{grid-template-columns:1fr;gap:7px}
  .filtros-eje > .rot{padding-top:0}
}

.filtros{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.filtro{background:none;border:1px solid var(--linea);padding:8px 15px;cursor:pointer;
  font:inherit;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--grisf);
  transition:border-color .14s,background .14s,color .14s}
.filtro:hover{border-color:var(--tinta);color:var(--tinta)}
.filtro:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}
.filtro.on{border-color:var(--tinta);background:var(--tinta);color:var(--fondo)}
/* El conteo no compite con la etiqueta: va detrás, más chico y en numerales
   de ancho fijo para que las fichas no bailen al cambiar de filtro. */
.filtro .n{font-size:10px;opacity:.5;margin-left:7px;letter-spacing:.04em;
  font-variant-numeric:tabular-nums}
.filtro.on .n{opacity:.65}

/* Lo puesto, y cómo quitarlo. Sin esto hay que mirar tres filas para saber
   qué está filtrado. */
.filtros-puestos{display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  margin-bottom:18px;min-height:30px}
.puesto{display:inline-flex;align-items:center;gap:9px;background:var(--tinta);
  color:var(--fondo);padding:7px 9px 7px 14px;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase}
.puesto button{background:none;border:0;color:inherit;font:inherit;font-size:14px;
  line-height:1;cursor:pointer;opacity:.6;padding:0 3px}
.puesto button:hover{opacity:1}
/* 9-oct (auditoría): la × de un filtro medía 14 px; el área para el dedo crece sin cambiar el dibujo. */
.puesto button{position:relative}
.puesto button::after{content:'';position:absolute;inset:-13px -10px}
/* Para lectores de pantalla y buscadores: se lee, no se ve. */
.solo-lector{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.puesto button:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}
.limpiar{background:none;border:0;font:inherit;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gris);cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;padding:7px 4px}
.limpiar:hover{color:var(--tinta)}

/* ── Compartir ── */
.compartir{display:inline-flex;align-items:center;gap:9px;background:none;color:var(--tinta);border:1px solid var(--tinta);
  padding:9px 16px;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.compartir:hover{background:var(--tinta);color:var(--fondo)}
.brindis{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(14px);
  background:var(--tinta);color:var(--fondo);padding:15px 26px;font-size:12px;letter-spacing:.06em;
  opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:92vw;text-align:center}
.brindis.ver{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Formularios ── */
.campo{margin-bottom:16px}
.campo label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gris);margin-bottom:6px}
.campo input,.campo select{width:100%;border:1px solid var(--linea);padding:13px 14px;
  font:inherit;font-size:14px;background:var(--nieve);color:var(--tinta);border-radius:0}
.campo input:focus,.campo select:focus{outline:0;border-color:var(--tinta)}
.campo.mal input{border-color:var(--rojo)}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:640px){.fila{grid-template-columns:1fr}}

/* ── Utilidades ── */
.num{font-variant-numeric:tabular-nums}
.chip{display:inline-block;font-size:10px;letter-spacing:.11em;text-transform:uppercase;
  padding:4px 10px;border:1px solid;white-space:nowrap}
.c-accion{border-color:var(--rojo);color:var(--rojo)}
.c-espera{border-color:#d8b400;color:#e3c233}
.c-neutro{border-color:#555;color:var(--grisf)}
.c-cierre{border-color:#3a3a3a;color:#777}
.nota{padding:15px 18px;border-left:2px solid var(--rojo);background:var(--nieve);
  font-size:12px;line-height:1.65;color:var(--grisf)}

/* ── Pie ── */
.pie{background:var(--fondo);color:var(--grisf);padding:52px 0 30px;margin-top:var(--aire);
  border-top:1px solid var(--linea)}
.pie a{color:var(--grisf);text-decoration:none;font-size:12px;line-height:2}
.pie a:hover{color:var(--tinta)}
.pie-rej{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px}
.pie-logo img{height:48px;width:auto}
.pie h4{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta);margin-bottom:12px}
.pie-bajo{border-top:1px solid var(--linea);margin-top:38px;padding-top:20px;font-size:11px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--gris)}
@media(max-width:760px){.pie-rej{grid-template-columns:1fr 1fr}}

/* ── Movimiento ──
   Duraciones de la dirección creativa. Con movimiento reducido, todo
   aparece de inmediato y sin desplazamiento. */
[data-revelar]{opacity:0;transform:translateY(12px);
  transition:opacity .42s ease-out,transform .42s cubic-bezier(.2,.7,.3,1)}
[data-revelar].visible{opacity:1;transform:none}
.entra{animation:entraArriba .52s cubic-bezier(.2,.7,.3,1) both}
.entra-2{animation-delay:.09s}
.entra-3{animation-delay:.18s}
.entra-4{animation-delay:.27s}
@keyframes entraArriba{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-art img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
  [data-revelar]{opacity:1;transform:none}
}

/* Vitrinas: las colecciones del negocio, por encima de categoría y marca.
   Se distinguen de los otros filtros porque no son taxonomía del producto
   sino criterio de quien vende. */


/* Tallas de calzado: la pregunta es "¿tienen del 44?", no "enséñame las Nox". */
.tallas-caja{margin-bottom:22px}
.tallas-abrir{background:var(--tinta);color:var(--fondo);border:1px solid var(--tinta);
  border-radius:2px;padding:11px 18px;font:inherit;font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:11px}
.tallas-abrir:hover{background:var(--grisf);border-color:var(--grisf)}
.tallas-abrir .fl{font-size:9px;opacity:.7}
.tallas-quitar{background:none;border:0;font:inherit;font-size:12px;color:var(--grisf);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin-left:14px}
.tallas-quitar:hover{color:var(--tinta)}
.tallas-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  gap:8px;margin-top:14px}
.tn{background:var(--fondo);color:var(--tinta);border:1px solid var(--linea);border-radius:2px;
  padding:12px 10px;font:inherit;cursor:pointer;text-align:left;transition:border-color .12s}
.tn:hover{border-color:var(--tinta)}
.tn.on{border-color:var(--tinta);background:var(--nieve)}
.tn b{display:block;font-family:var(--display);font-size:22px;line-height:1;
  font-variant-numeric:tabular-nums}
.tn span{display:block;font-size:11px;color:var(--grisf);margin-top:5px}
.tn i{display:block;font-style:normal;font-size:10.5px;color:var(--gris);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tallas-pie{font-size:11.5px;color:var(--gris);margin-top:11px}
/* Tenis: Hombre / Mujer (27-sep). Dos pestañas grandes, arriba de todo. */
.genero-tabs{display:inline-flex;border:1px solid var(--tinta);margin-bottom:14px}
.genero-tabs button{background:var(--fondo);color:var(--tinta);border:0;font:inherit;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;padding:12px 30px;cursor:pointer;min-width:140px}
.genero-tabs button + button{border-left:1px solid var(--tinta)}
.genero-tabs button span{font-size:11px;opacity:.55;margin-left:4px;letter-spacing:0}
.genero-tabs button.on{background:var(--tinta);color:var(--fondo)}
.genero-tabs button:not(.on):hover{background:var(--nieve)}
@media (max-width:560px){.genero-tabs{display:flex;width:100%}.genero-tabs button{flex:1;min-width:0;padding:13px 8px}}
/* Varias tallas a la vez: la elegida se marca con ✓. */
.tn.on{box-shadow:inset 0 0 0 1px var(--tinta)}
.tn.on b::after{content:'✓';font-family:var(--cuerpo, inherit);font-size:13px;margin-left:6px;vertical-align:middle}
.tallas-listo{display:inline-block;margin-left:10px;background:var(--tinta);color:var(--fondo);border:0;border-radius:2px;
  font:inherit;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;cursor:pointer}
.tallas-listo:hover{background:var(--grisf)}
@media (max-width:560px){.tallas-rejilla{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))}
  .tallas-listo{display:block;width:100%;margin:10px 0 0;padding:13px}}

/* Sin zoom al tocar un campo en el iPhone (pedido del dueño, 28-sep: "no
   quiero zoom al momento de buscar, ni en la web ni en la bodega"). Safari
   acerca la pantalla si la letra del campo mide menos de 16 px; en pantallas
   táctiles todos los campos van a 16 px. En computadora no cambia nada. */
@media (hover:none) and (pointer:coarse){
  input, select, textarea{font-size:16px !important}
}
