/* assets/ux.css — base de UX y SISTEMA compartido (lab, unidad S). Va DESPUÉS del CSS de cada página y ANTES de su d-*.css.
   Solo colores y tipos de la marca (crema #EFE9DB, espresso #2C261F, sepia #5C4C37 / #786B55, Cormorant, Archivo Narrow).
   No cambia precios ni formularios. Cada bloque dice qué hallazgo resuelve.
   El SISTEMA de la auditoría del dueño (9-oct: escala --t-*, encabezado .casa-bar, pie .casa-pie, flotantes) está al FINAL. */

/* ---------- ESCALA TIPOGRÁFICA ÚNICA (auditoría H5). Cinco escalones; las demás hojas USAN estas variables ---------- */
:root{
  --t-portada:47px;      /* titular de portada */
  --t-seccion:30px;      /* titular de sección y de página: Cormorant 500, redonda (itálica solo en la palabra que la pide) */
  --t-sub:22px;          /* subtítulo: nombre de tarjeta, estante, capítulo */
  --t-cuerpo:17px;       /* texto de lectura */
  --t-ante:13px;         /* antetítulo: Archivo Narrow 600, mayúsculas */
  --t-min:13px;          /* nada baja de aquí */
  --t-serif:'Cormorant Garamond',Georgia,serif;
  --t-flat:'Archivo Narrow',Arial,sans-serif;
  --t-ante-color:#5C4C37;
  --t-ante-track:.22em;
  --casa-bar-h:62px;     /* alto del encabezado compartido (el mismo que tenía la barra: el mapa se mide contra él) */
}
@media (min-width:821px){ :root{ --t-portada:80px; --t-seccion:44px; --t-sub:28px; --t-cuerpo:19px } }

/* ---------- H5 · selector de ciudad: se cierra con ×, tocando fuera o con Esc ---------- */
.ciu-bg{touch-action:none;overscroll-behavior:contain}
.ciu{position:relative}
.ciu .ux-x{position:absolute;top:4px;right:4px;width:44px;height:44px;min-height:44px;padding:0;margin:0;
  display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1;color:#5C4C37;cursor:pointer}
.ciu .ux-x:hover{background:rgba(44,38,31,.08);color:#2C261F}
.ciu .ux-x:focus-visible{outline:2px solid #2C261F;outline-offset:-4px}
.ciu h3{padding:0 36px}

/* ---------- H7 · lo que flota se aparta cuando pasa un botón de compra por debajo ---------- */
.ux-aparta{opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:opacity .18s ease,visibility 0s .18s!important}

/* ---------- H11 · blancos táctiles >= 44 px (en cualquier pantalla) ---------- */
.pcard .add{min-height:44px}                                        /* tienda: «Agregar» 78x42 */
.iadd,#addCopita,#addVaso,.chips button,#backlink{min-height:44px}   /* recetario */
.iadd,#addCopita,#addVaso{box-sizing:border-box}
#backlink{display:inline-flex;align-items:center}
.mlt-rem{min-height:44px;min-width:44px}                            /* maleta: «Quitar» 58x28 */
.vskip{display:inline-flex;align-items:center;min-height:44px;font-size:14px}   /* mapa: «Saltar» y «Volver arriba» */
.ns-cta{display:inline-flex;align-items:center;min-height:44px}
.pcx{width:44px;height:44px;top:0;right:6px;display:flex;align-items:center;justify-content:center;padding:0}   /* recetario: × de la postal 17x29 */
.cePop-bg .cePop-stp button{width:44px;height:44px}                 /* «Pruébala primero»: ± de 32 px */
.cePop-bg .cePop-ln{grid-template-columns:minmax(0,1fr) auto auto}
.alt{display:inline-flex;align-items:center;min-height:44px}

/* ---------- H11 · textos de lectura >= 14 px (celular y tableta) ---------- */
@media (max-width:820px){
  .pcard .lugar{font-size:14px;letter-spacing:.4px}                 /* tienda: «Shikoku, Japón» */
  .pcard .nota{font-size:14px}
  .sechead .num,.sechead .cnt{font-size:14px}
  .mk.flat{font-size:14px}
  .iadd,#addCopita,#addVaso,.iany,.flabel,.iname .tag,.shead .num,.merchshow .mk,.iname .num{font-size:14px}   /* recetario */
  .mlt-rem{font-size:14px}
  .promo i,.nia-sello,.sello-clasico,summary .mk{font-size:14px!important}
  .vskip.flat{min-height:55px}                                      /* .flat aplana 0,8 en Y: 55 px se ven como 44 */
  .vskip-group{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:8px}   /* en fila: dos de 44 px apilados tapaban el botón de la postal */
  /* inicio y atlas (las postales del mapa, .pf-back, NO se tocan: su texto está medido en vw y se saldría del papel) */
  .scard .sk,.scard .tag,.pcard .tag,.rrec .rk,.rrec .rl,.rrec .rn,.rrec .ro,.pcard.pinfo .vb,.voz footer,.exp-merch span,
  .coords-bg,.car-hint,.vhint,.viajar-intro .baja,.snav .snav-label,.nosotros .ns-cta,
  .sabores .shead p.rinde,.sabores .shead p.rinde span,.vbottle .tag{font-size:14px}
}

/* ---------- H11 (remate) · lo que quedaba bajo 14 px en celular ---------- */
.rk .flat,.shead .rl span,.mlt-sug .t,.mlt-chip span i,#trackForm label{font-size:14px}
.mlt-promo i,#cjxPromo i{font-size:14px!important}   /* caja.js lo trae a 12,5 px en línea */
.pcard.pinfo .vk i,.pcard.pfoto .pf-back .fx i{font-style:normal}

/* ---------- H11 (remate) · el mapa del viaje en celular ----------
   REGRESIÓN que se corrige aquí: al subir la receta de la postal a 14 px la postal creció y se metía bajo la barra
   (en 390x664 tapaba el rótulo del destino y la foto; en 360x640 la foto desaparecía). Ahora la postal tiene techo:
   nunca pasa de la barra, y lo que cede es la foto (se recorta, no se deforma). La receta no se achica. */
@media (max-width:820px){
  .pcard.pinfo{display:flex;flex-direction:column;align-items:flex-start;
    max-height:calc(100svh - 222px - env(safe-area-inset-bottom))}
  .pcard.pinfo>*{flex:0 0 auto}
  .pcard.pinfo .rph{flex:0 1 auto;align-self:stretch;min-height:52px}
  .pcard.pinfo .vk{font-size:14px;letter-spacing:.02em;line-height:1.2}
  .pcard.pinfo .vb{line-height:1.4;margin-bottom:9px}
  /* reverso de la foto: 14 px de lectura (antes 10,3 y «toca para volver» a 7,8). El nombre del sirope ya está en el
     rótulo y en la postal de al lado: aquí solo queda la instrucción. */
  .pcard.pfoto .pf-back{justify-content:flex-start;padding:9px 8px 0 10px}
  .pcard.pfoto .pf-back h4{font-size:15.5px;line-height:1.08;margin:0 0 3px}
  .pcard.pfoto .pf-back p{font-size:14px;line-height:1.15}
  .pcard.pfoto .pf-back .fx{font-size:14px;letter-spacing:0;margin-top:5px;line-height:1.1;opacity:1;white-space:nowrap}
  .pcard.pfoto .pf-back .fx i{display:none}
  .pcard.pfoto.flip .pf-hint{opacity:0}
}
@media (max-width:389px){ .pcard.pfoto .pf-back .fx{letter-spacing:-.25px} }
@media (max-width:374px){ .pcard.pfoto .pf-back .fx{display:none} }   /* no cabe sin meterse bajo la botella */
/* celulares bajos: la postal llega hasta la barra, así que el rótulo del destino se corre a la izquierda (sobre la
   foto del lugar) para que se lea entero, y la etiqueta de la receta deja el nombre que ya dice el rótulo */
@media (max-width:820px) and (max-height:819px){
  .pcard.pinfo{bottom:0;padding:11px 12px 12px;max-height:calc(100svh - 219px - env(safe-area-inset-bottom))}
  .pcard.pinfo .rph{margin-bottom:8px}
  .pcard.pinfo .vk{margin-bottom:6px}
  .pcard.pinfo .vk i{display:none}
  .pcard.pinfo .add{padding-top:8px;padding-bottom:8px}
  .vref{left:8px;font-size:19px;padding:7px 13px;transform:translateY(-8px)}
  .vref.on{transform:none}
}
@media (max-width:374px) and (max-height:819px){ .pcard.pinfo{width:57%} .vref{font-size:17.5px;padding:7px 10px} }

/* ---------- H11 (remate) · escritorio: los mismos textos de lectura a 14 px ----------
   La portada del inicio y el formulario de pago no entran (están medidos al píxel y en revisión aparte). */
@media (min-width:821px){
  .pcard .lugar{font-size:14px;letter-spacing:.4px}
  .pcard .nota,.sechead .num,.sechead .cnt,
  .iadd,.iany,.flabel,.iname .tag,.shead .num,.merchshow .mk,.mlt-rem,
  .scard .sk,.scard .tag,.vbottle .tag,.rrec .rk,.rrec .rl,.rrec .rn,.rrec .ro,
  .pcard.pinfo .vb,.pcard.pinfo .vk,.pcard.pfoto .pf-back .fx,
  .voz footer,.exp-merch span,.car-hint,.vhint,.viajar-intro .baja,.snav .snav-label,.nosotros .ns-cta,
  .sabores .shead p.rinde,.sabores .shead p.rinde span{font-size:14px}
  .promo i,.nia-sello,.sello-clasico,summary .mk{font-size:14px!important}
}

/* ───────── Mapa del viaje (Diego, 7-oct): el nombre de la referencia nunca queda detrás de las postales,
   y cada botella lleva su ficha de capacidad (510 ml · 17 bebidas · 3 L de soda). ───────── */
.vref{z-index:9}
.vbottle .ficha{position:absolute;top:calc(100% - 4px);left:50%;translate:-50% 0;rotate:2deg;display:flex;flex-direction:column;
  align-items:center;gap:1px;white-space:nowrap;padding:6px 10px 5px;background:#efe6d2 url('../img/papel-postal.webp') center/cover;
  border:1px solid rgba(92,76,55,.38);box-shadow:0 4px 10px rgba(44,38,31,.22);color:#2C261F;
  font-family:'Archivo Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.9px;line-height:1.25}
.vbottle .ficha b{font-size:14px;font-weight:600;letter-spacing:1.2px}
.vbottle .ficha i{font-style:normal;font-size:12px;color:#5C4C37}

/* ───────── Recetas del mapa: jerarquía tipográfica (Diego, 7-oct). Antes era un solo párrafo a máquina de 10,5–12 px.
   Ahora: nombre grande · ingredientes en lista (cantidad en Archivo Narrow, ingrediente en Cormorant) · preparación aparte.
   Mismas palabras, misma secuencia. ───────── */
.pcard.pinfo h3{font-size:26px;line-height:1.05;margin:0 0 7px}
.pcard.pinfo .ving{list-style:none;margin:0 0 7px;padding:0;align-self:stretch;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;line-height:1.2;color:#2C261F}
.pcard.pinfo .ving li{display:grid;grid-template-columns:3.2em 1fr;column-gap:7px;align-items:baseline;padding:3.5px 0;
  border-bottom:1px solid rgba(92,76,55,.22)}
.pcard.pinfo .ving b{font-family:'Archivo Narrow',Arial,sans-serif;font-weight:600;font-size:14.5px;letter-spacing:.3px;white-space:nowrap}
.pcard.pinfo .ving small{font-size:.84em;font-style:italic;color:#5C4C37}
.pcard.pinfo .vmet{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.25;
  color:#5C4C37;margin:0 0 10px}
.pcard.pinfo .add{align-self:stretch}
@media (min-width:960px){
  /* la ficha de la botella en dos renglones */
  .vbottle .ficha{flex-direction:row;flex-wrap:wrap;justify-content:center;column-gap:7px;width:max-content;max-width:190px;padding:7px 13px 6px;left:40%}
  .vbottle .ficha b{flex-basis:100%;text-align:center;font-size:15px}
  .vbottle .ficha i{font-size:12.5px}
  .vbottle .ficha i+i::before{content:"· ";}
  .vbottle{bottom:calc(3% + 40px)}
  /* la postal de la receta tiene techo (no tapa el nombre ni se mete bajo la barra): lo que cede es la foto */
  .pcard.pinfo{display:flex;flex-direction:column;align-items:flex-start;max-height:calc(97.6svh - 286px)}
  .pcard.pinfo>*{flex:0 0 auto}
  .pcard.pinfo .rph{flex:0 1 auto;align-self:stretch;min-height:64px}
  .pcard.pinfo .vk{font-size:11.5px}
  .pcard.pinfo h3{font-size:33px;margin:2px 0 10px}
  .pcard.pinfo .ving{font-size:19px;margin-bottom:10px}
  .pcard.pinfo .ving li{grid-template-columns:3.5em 1fr;padding:5px 0}
  .pcard.pinfo .ving b{font-size:15.5px}
  .pcard.pinfo .vmet{font-size:17px;margin-bottom:12px}
}
@media (min-width:960px) and (max-height:800px){
  /* ventanas bajas de escritorio (portátil con barra de marcadores ≈ 615–700 px): el lienzo baja, la lista va a dos
     columnas y ceden las FOTOS, nunca el texto */
  .vstop{bottom:calc(84px + env(safe-area-inset-bottom))}
  .pcard.pinfo{max-height:calc(97.6svh - 218px)}
  .pcard.pinfo h3{font-size:28px;margin-bottom:6px}
  .pcard.pinfo .ving{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;margin-bottom:7px}
  .pcard.pinfo .ving li{padding:3px 0}
  .pcard.pinfo .vmet{margin-bottom:10px}
  .pcard.pfoto .ph{aspect-ratio:auto;height:clamp(170px,calc(97.6svh - 284px),358px)}
  .pcard.pinfo .rph{min-height:34px}
  .vbottle{width:clamp(96px,calc((97.6svh - 280px) / 2.41),150px);bottom:calc(3% + 44px)}
}
@media (max-width:820px){
  .pcard.pinfo .ving li{grid-template-columns:2.75em 1fr}
  .pcard.pinfo .rph{min-height:40px}
}
@media (max-width:820px) and (max-height:700px){
  /* celulares bajos: la receta más larga (5 ingredientes) también cabe sin salirse de la postal */
  .pcard.pinfo h3{font-size:24px;margin-bottom:5px}
  .pcard.pinfo .ving{font-size:16px;margin-bottom:6px}
  .pcard.pinfo .ving li{padding:2.5px 0}
  .pcard.pinfo .vmet{font-size:14.5px;line-height:1.2;margin-bottom:8px}
}

/* ───────── «El equipaje del viajero» y lo de abajo: letra más grande (Diego, 7-oct: «la letra es muy chiquita») ───────── */
.equipaje h2{margin-bottom:26px}
.eq{padding:15px 16px;gap:15px}
.eq img{width:54px;height:68px}
.eq .tx{line-height:1.2}
.eq .tx b{font-size:21px}
.eq .tx span{font-size:16.5px;color:#5C4C37;display:block;margin-top:3px}
.eq .add{font-size:17px;padding:11px 18px}
.bitacora a{font-size:22px;padding:17px 2px}
@media (min-width:960px){
  .equipaje{max-width:900px}
  .eq{padding:20px 24px;gap:24px}
  .eq img{width:76px;height:96px}
  .eq .tx b{font-size:27px}
  .eq .tx span{font-size:20px}
  .eq .add{font-size:19px;padding:13px 24px;min-height:52px}
  .bitacora{max-width:640px}
  .bitacora a{font-size:25px;padding:19px 2px}
}
@media (max-width:374px) and (max-height:700px){ .pcard.pinfo .rph{min-height:24px} }   /* 360×640 con la receta más larga */

/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   SISTEMA — auditoría del dueño (9-oct-2026), unidad S. Hallazgos 1 (flotantes), 5 (tipografía) y 7 (una sola casa).
   El papel con fibra se queda. Ningún color ni tipografía nuevos. Las hojas d-*.css van DESPUÉS y pueden afinar.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */

/* ---------- H7 · UN encabezado: firma real · Tienda · Recetario · Preguntas (≥1024) · Mi maleta · menú ----------
   Marcado: <nav class="navbar casa-bar"> a.firma>img · div.casa-der> div.pm-bar[data-pm-bar] · a.ncart · button.pmb
   En el inicio (#navbar) la posición fija, la entrada (.on) y el paso a sólida (.solid) siguen siendo de index.html. */
.casa-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;
  min-height:var(--casa-bar-h);padding:8px 16px;font-family:var(--t-serif);line-height:1}
.casa-bar:not(#navbar){position:sticky;top:0;z-index:40;margin:0;background:rgba(239,233,219,.93);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:0;border-bottom:1px solid rgba(92,76,55,.22)}
.casa-bar .firma{display:inline-flex;align-items:center;flex:0 0 auto;min-height:44px;text-decoration:none;border:0}
.casa-bar .firma img{display:block;width:clamp(100px,31vw,124px);height:auto;opacity:1}
#navbar.casa-bar .firma{opacity:0;pointer-events:none;transition:opacity .35s ease}   /* sin firma duplicada sobre la portada */
#navbar.casa-bar.solid .firma{opacity:1;pointer-events:auto}
.casa-bar .casa-der{display:flex;align-items:center;gap:10px;min-width:0}
.casa-bar .ncart{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;min-height:44px;padding:0 15px;margin:0;
  border:0;border-radius:2px;background:#2C261F;color:#EFE9DB;opacity:1;font-family:var(--t-serif);font-size:17px;font-weight:400;
  font-style:normal;letter-spacing:.2px;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}
.casa-bar .ncart [data-caja-badge]{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-width:22px;width:auto;height:22px;margin:0;padding:0 5px;border-radius:11px;background:#EFE9DB;color:#2C261F;
  font-family:var(--t-flat);font-size:13px;font-weight:600;letter-spacing:0;line-height:1}
.casa-bar .ncart:focus-visible,.casa-bar .firma:focus-visible{outline:2px solid #2C261F;outline-offset:3px}
@media (max-width:480px){ .casa-bar .ncart{font-size:16px;padding:0 13px;gap:7px} }
.pmb{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;flex:0 0 auto;box-sizing:border-box;
  width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(92,76,55,.35);border-radius:2px;
  background:rgba(246,239,226,.92);cursor:pointer}
.pmb span{display:block;width:17px;height:2px;background:#2C261F;border-radius:2px;transition:transform .25s,opacity .25s}
.pmb.on span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pmb.on span:nth-child(2){opacity:0}
.pmb.on span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.pmb:focus-visible{outline:2px solid #2C261F;outline-offset:3px}
.pm-bar{display:none}
.pm-bar a{color:#2C261F;text-decoration:none}
@media (min-width:1024px){
  .casa-bar{padding:7px 32px}
  .casa-bar .firma img{width:140px}
  .casa-bar .casa-der{gap:12px}
  .pm-bar{display:flex;align-items:center;gap:2px;margin:0 10px 0 0}
  .pm-bar a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:#2C261F;text-decoration:none;
    font-family:var(--t-serif);font-size:18px;letter-spacing:.3px;border-bottom:1px solid transparent}
  .pm-bar a:hover{border-bottom-color:rgba(44,38,31,.55)}
  .pm-bar a[aria-current="page"]{border-bottom-color:#2C261F}
  .pm-bar a:focus-visible{outline:2px solid #2C261F;outline-offset:-3px}
}
/* enlace secundario bajo el encabezado («← Seguir comprando», «← Bar Viajero»): texto, no botón */
.casa-volver{box-sizing:border-box;max-width:none;margin:0;padding:2px 16px 0;font-family:var(--t-serif);text-align:left}
.casa-volver a{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:#5C4C37;
  font-size:17px;letter-spacing:.2px;text-decoration:none}
.casa-volver a:hover{color:#2C261F;text-decoration:underline;text-underline-offset:4px}
.casa-volver #backlink[href="/"]{display:none}   /* en el recetario solo aparece cuando hay a dónde volver (?from=…) */
@media (min-width:1024px){ .casa-volver{padding:4px 32px 0} }

/* ---------- H7 · UN pie: firma real, los mismos enlaces, la letra legal de la página y su versión ----------
   Marcado: <footer class="casa-pie"> a.pie-firma>img · nav.flinks · [button#ciuPill.ciu-pill] · p… · p#ver */
footer.casa-pie{box-sizing:border-box;max-width:none;width:auto;margin:56px 0 0;padding:38px 24px calc(34px + env(safe-area-inset-bottom));
  text-align:center;background:transparent;border-top:1px solid rgba(92,76,55,.22);color:#5C4C37;font-family:var(--t-serif)}
footer.casa-pie .pie-firma{display:inline-block;margin:0 0 14px;border:0;text-decoration:none}
footer.casa-pie .pie-firma img{display:block;width:148px;height:auto;margin:0;opacity:1}
footer.casa-pie .flinks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 4px;max-width:920px;margin:0 auto 10px;
  font-family:var(--t-serif);font-size:17px;letter-spacing:0}
footer.casa-pie .flinks a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0 10px;color:#2C261F;
  font-family:var(--t-serif);font-size:17px;letter-spacing:0;text-transform:none;text-decoration:underline;
  text-decoration-color:rgba(92,76,55,.45);text-decoration-thickness:1px;text-underline-offset:4px}
footer.casa-pie .flinks a:hover{text-decoration-color:#2C261F}
footer.casa-pie p{max-width:60ch;text-wrap:balance;margin:0 auto 8px;font-family:var(--t-serif);font-size:15.5px;font-style:normal;line-height:1.55;color:#5C4C37;opacity:1}
footer.casa-pie #ver{margin:14px auto 0;opacity:1;font-family:var(--t-flat);font-size:var(--t-ante);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5C4C37}
footer.casa-pie #ver:empty{display:none}
/* la ciudad de envío ya no flota: es un renglón del pie (y está en el menú y en el encabezado de la tienda) */
footer.casa-pie .ciu-pill{position:static;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;
  margin:0 auto 6px;padding:0 8px;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
  color:#5C4C37;font-family:var(--t-flat);font-size:var(--t-ante);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:underline;text-decoration-color:rgba(92,76,55,.45);text-underline-offset:4px;cursor:pointer}
footer.casa-pie .ciu-pill:hover{color:#2C261F;text-decoration-color:#2C261F}
/* tienda: «Envíos · ciudad · cambiar» del encabezado también en tableta y escritorio (antes ahí solo estaba la pastilla) */
@media (min-width:620px){
  .thead .ciu-aqui{display:flex;align-items:center;justify-content:center;min-height:44px;margin:8px auto 0;padding:0 10px;background:none;border:0;
    font-family:var(--t-flat);font-size:var(--t-ante);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5C4C37;cursor:pointer}
  .thead .ciu-aqui u{text-underline-offset:3px}
  .thead .ciu-aqui:focus-visible{outline:2px solid #2C261F;outline-offset:-6px}
}
@media (min-width:960px){
  footer.casa-pie{margin-top:72px;padding-top:46px}
  footer.casa-pie p{font-size:16.5px}
  footer.casa-pie .flinks a{font-size:18px}
}

/* ---------- H7 · UN fondo base (el recetario y el rastreo iban en un papel más amarillo) ---------- */
body{background-color:#EFE9DB}

/* ---------- H1 · FLOTANTES: nunca más de uno a la vez, y ninguno sobre un titular o un botón de compra ----------
   · WhatsApp (.wa-burbuja): redondo, 44 px, el mismo en todas las páginas. Se oculta en el ritual y en el mapa
     (html.ux-escena) y mientras un titular o un botón de compra pasa por debajo (.ux-aparta, lo pone ux.js).
   · Sonido (#sndBtn, lo crea ambiente.js): 32 px a la vista dentro de un blanco táctil de 44; SOLO en ritual y mapa.
     Fuera de ahí se prende/apaga desde el menú.
   · La pastilla «Envíos · ciudad» ya no flota (ver pie). */
.wa-burbuja{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;width:44px;height:44px;padding:0;gap:0;border-radius:50%;background:rgba(239,233,219,.96);color:#2C261F;
  border:1px solid rgba(92,76,55,.35);box-shadow:0 6px 16px rgba(44,38,31,.18);text-decoration:none;
  transition:opacity .18s ease,visibility 0s}
.wa-burbuja span{display:none}
.wa-burbuja svg{width:20px;height:20px;flex:0 0 20px;fill:#5C4C37}
.wa-burbuja:active{transform:scale(.97)}
.wa-burbuja:focus-visible{outline:2px solid #2C261F;outline-offset:3px}
html.ux-escena .wa-burbuja{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s .18s}
#sndBtn{left:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:44px!important;height:44px!important;padding:0;
  background:transparent!important;border:0!important;box-shadow:none!important;color:#2C261F!important;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s .2s!important}
#sndBtn::before{content:"";position:absolute;left:6px;top:6px;width:32px;height:32px;box-sizing:border-box;border-radius:50%;
  background:rgba(239,233,219,.96);border:1px solid rgba(92,76,55,.35);box-shadow:0 4px 10px rgba(44,38,31,.16)}
#sndBtn svg{position:relative;width:16px;height:16px}
#sndBtn:focus-visible{outline:2px solid #2C261F;outline-offset:-4px}
html.ux-escena #sndBtn{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s!important}

/* ---------- H5 · ESCALA: titulares de sección y de página → --t-seccion, Cormorant 500, redonda ---------- */
.viajar-intro h2,.nosotros h2,.sabores .shead h2,.voces h2,.cierre-amb h2,.equipaje h2,
.thead h1,.mhead h1,.fhead h1,.completa h2,.stage .cover h1,.card>#titulo{
  font-family:var(--t-serif);font-size:var(--t-seccion);font-weight:500;font-style:normal;line-height:1.1;letter-spacing:0}
.thead h1 em,.fhead h1 em,.viajar-intro h2 em,.nosotros h2 em{font-style:italic}
/* subtítulos → --t-sub: nombre de tarjeta de la colección, estante de la tienda, capítulo de la carta */
.scard h3,.sechead h2,.shead h2,.claim-voces{font-size:var(--t-sub);font-weight:500;line-height:1.12}
/* cuerpo → --t-cuerpo */
.viajar-intro p,.nosotros p,.sabores .shead p:not(.rinde):not(.k),.voz p,.cierre-amb p,.completa p,.thead p,.thead .explica,
.fhead p,details .ans,.stage .cover .sub,.card>#msg{font-size:var(--t-cuerpo)}
.sabores .shead p:not(.rinde):not(.k){color:#5C4C37}                       /* sepia claro sobre crema daba 4,3:1 */

/* antetítulos → Archivo Narrow 600, --t-ante, mayúsculas, sepia oscuro #5C4C37 (7:1). Una sola voz en todo el sitio.
   (!important: «La colección» y «Diario de a bordo» traen 11 px en línea.) No entran el formulario de pago ni los pop-ups. */
.k:where(:not(.wpay .k):not(.cePop-bg .k):not(.cop .k):not(.ciu .k)){
  font-family:var(--t-flat)!important;font-size:var(--t-ante)!important;font-weight:600;font-style:normal!important;
  letter-spacing:var(--t-ante-track);text-transform:uppercase;color:var(--t-ante-color)}
.cierre-amb .k,.completa .k{color:inherit}                                  /* sobre el café van en crema */
.viajar-intro .k,.thead .k,.fhead .k,.mhead .k{max-width:none}               /* en un renglón: heredaban el ancho del párrafo y se partían */
.portada .k{letter-spacing:.14em}                                           /* a 13 px no debe crecer hacia la estampilla */
.cover .k{color:#5C4C37;letter-spacing:var(--t-ante-track)}
.stage .cover .k,.card>.k{display:block;transform:scaleY(.85);transform-origin:center}   /* rastreo y gracias no traen .flat */
.scard .sk,.rrec .rk,.rk .flat,.flabel,.shead .rl span,.iname .tag,.merchshow .mk,.faqs .grp .flat,#trackForm label{
  font-family:var(--t-flat);font-size:var(--t-ante);font-weight:600;font-style:normal;letter-spacing:.16em;text-transform:uppercase}
.flabel,.shead .rl span,.iname .tag,.merchshow .mk,#trackForm label{color:#5C4C37}

/* nada bajo 13 px */
.zarpar .flat,.vbottle .ficha i,.pcard.pinfo .vk,.pcard.pinfo .vk i,.shead .num,.sechead .num,.sechead .cnt{font-size:var(--t-min)}
@media (max-width:820px){ .sechead .num,.sechead .cnt{font-size:14px} }

/* ---------- H5 · CONTRASTE ≥ 4,5:1 en texto pequeño, sin colores nuevos ---------- */
/* a) sepia claro #786B55 sobre crema (4,3:1) → sepia #5C4C37 (7:1) */
.zarpar .flat,.viajar-intro .baja,.car-hint,.sabores .shead p.rinde span,.rrec .ro,.sechead .cnt,.bitacora a span,.mlt-rem,.mlt-chip span i{color:#5C4C37}
/* b) ámbar #966A28 como texto pequeño (3,85–4,1:1) → sepia; el ámbar queda para estado y filetes */
.rrec .rk,.sechead .num,.pcard .lugar,summary .mk,.card>.k{color:#5C4C37}
.pcard.clasico .lugar{color:#2C261F}                                        /* sobre el papel kraft */
.shead .num{color:#5C4C37}                                                  /* recetario: «— 01 —» iba al 40 % */
.gar b{color:#2C261F}                                                       /* verde sobre verde claro: 3,98:1 */
.card .foot{color:#5C4C37}                                                  /* gracias: tinta al 45 % */
/* c) rótulo y precio del mapa: crema sobre el acento del destino daba 3,5–3,8:1 en cuatro destinos. Ahora van en tinta
      sobre el papel de la casa, y el acento queda de filete (3 px). El bloque de color sigue en el botón grande. */
.vstop[data-stop] .vk,.vstop[data-stop] .tag{background:#efe6d2 url('../img/papel-postal.webp') center/cover;color:#2C261F;
  border:1px solid rgba(92,76,55,.3);border-left-width:3px}
.vstop[data-stop="0"] .vk,.vstop[data-stop="0"] .tag{border-left-color:#C96A5E}
.vstop[data-stop="1"] .vk,.vstop[data-stop="1"] .tag{border-left-color:#C8641E}
.vstop[data-stop="2"] .vk,.vstop[data-stop="2"] .tag{border-left-color:#9E2B25}
.vstop[data-stop="3"] .vk,.vstop[data-stop="3"] .tag{border-left-color:#5C8A5E}
.vstop[data-stop="4"] .vk,.vstop[data-stop="4"] .tag{border-left-color:#C4647E}
.vstop[data-stop="5"] .vk,.vstop[data-stop="5"] .tag{border-left-color:#B08D5B}
.vstop[data-stop="6"] .vk,.vstop[data-stop="6"] .tag{border-left-color:#C9A227}
/* d) «Aplicar» (código de premio): crema sobre ámbar daba 3,95:1 y era lo más saturado de la maleta → borde tinta */
#mltCodBtn,#cjxCodBtn{background:transparent!important;color:#2C261F!important;border:1px solid #2C261F!important}
/* e) rastreo: el botón iba casi negro (#20140E); el de la casa es espresso */
.stage .buscar{background:#2C261F;color:#EFE9DB}
.stage .cover{padding-top:34px}

@media print{ .casa-bar,.casa-volver,.wa-burbuja,#sndBtn,.pmp{display:none!important} }
header.bar{background:rgba(239,233,219,.93)}   /* páginas de receta (recetas/*.html): la barra sobre el mismo fondo base */

/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════
   REMATE (ronda 2 del dueño, 9-oct) — cabos del sistema. Solo presentación.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════ */
/* a) Escritorio: la barra ya trae Tienda · Recetario · Preguntas · Mi maleta, y al lado seguía el botón de menú con
      los mismos enlaces (redundancia nueva). El botón se queda —ahí viven Inicio, Rastrear, la ciudad de envío y el
      sonido— pero callado (sin caja) y su panel ya no repite lo que la barra muestra (lo oculta menu.js). */
@media (min-width:1024px){
  .casa-bar .pmb{border-color:transparent;background:transparent;margin-left:-4px}
  .casa-bar .pmb:hover,.casa-bar .pmb.on{border-color:rgba(92,76,55,.35);background:rgba(246,239,226,.92)}
}
/* b) Las «×» de cierre (cajón de la maleta, postal de receta, «Pruébala primero», pago, regalo) salían en la fuente
      del sistema y casi negras: van en Cormorant y tinta, como la del selector de ciudad. */
button.cjx-x,button.pcx,button.cePop-x,.wpay button.x,button.cop-x{font-family:'Cormorant Garamond',Georgia,serif!important;color:#2C261F!important}
/* c) Nada bajo 13 px tampoco dentro de los pop-ups («Pruébala primero» traía 10–12,5 px; el pago, 11,5–12 px). */
.cePop-bg .cePop-eyebrow,.cePop-bg .cePop-ln .pr,.cePop-bg .cePop-ln .pr s,.cePop-bg .cePop-ln .free,.cePop-bg .cePop-regalo .s,
.cePop-bg .cePop-sug button,.cePop-bg .cePop-tot .lbl{font-size:13px}
.wpay-bg .wpay p.k,.wpay-bg .wpay label,.wpay-bg .wpay .safe,.wpay-bg .wpay .chk small,.wpay-bg .wpay small.hint,
.wpay-bg .wpay .legalfine,.wpay-bg .wpay p.fact,.wpay-bg .wpay .wp-tit{font-size:13px}
/* d) Garantía (preguntas): la caja verde clara de trazo punteado no era de la casa → nota de papel liso con filete
      verde (el verde de «aprobado», que ya existe). */
.gar .in{background:#F4EEDD;border:1px solid rgba(92,76,55,.25);border-left:3px solid #1f7a4d;border-radius:2px}
/* e) El encabezado pegajoso, casi opaco: lo que pasa por detrás no se lee encima. */
.casa-bar:not(#navbar){background:rgba(239,233,219,.98)}
.cePop-bg .cePop-eyebrow{letter-spacing:.1em;padding-right:40px}   /* a 13 px cabe en un renglón y no toca la × */
