/* Tienda web de HIMA Nutrition (6.0.6). Solo el armado de la página: los colores, las letras y los componentes
   (botones, campos, segmentos, casillas, avisos, tarjetas de la tienda, íconos y relieve) vienen de la app en
   /web/marca.css, que arma scripts/build.mjs desde src/04-theme.js. Aquí no van colores nuevos: solo variables. */
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;position:relative;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
button,input,select,textarea{font-family:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.5}
a{color:var(--arrebol-tinta)}
:focus-visible{outline:2px solid var(--foco);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.h1,.h2,.h3,.tm-h,.web-h1{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.01em}

/* El relieve de la marca detrás del encabezado, como en las pestañas de la app */
body>.relieve{height:300px;z-index:0}
.cab,main,.pie{position:relative;z-index:1}

/* Encabezado: logo HIMA Nutrition y el carrito en círculo, como en la pestaña Tienda */
.cab{position:sticky;top:0;z-index:20;background:var(--glass);border-bottom:1px solid var(--line)}
.cab-in,.pie-in,main{width:100%;max-width:1120px;margin:0 auto;padding-left:16px;padding-right:16px}
.cab-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{display:block;color:inherit}
.logo svg{display:block;height:34px;width:auto}
.cab-nav{display:flex;align-items:center;gap:8px}
.cab-l{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r-ctl);color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.cab-l:hover{background:var(--s1)}
.hbtn{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:22px;border:1px solid var(--line2);background:var(--s1);color:var(--ink);text-decoration:none}

main{flex:1;padding-top:20px;padding-bottom:48px;outline:none}
.cargando{color:var(--sub);padding:32px 0}
.col{max-width:600px}

/* Portada */
.web-hero{padding:8px 0 4px}
.web-h1{margin:6px 0 0;font-size:clamp(34px,6vw,60px);line-height:1.02;max-width:16ch}
.web-bajada{margin:12px 0 0;color:var(--sub);font-size:clamp(16px,2.2vw,19px);line-height:1.45;max-width:46ch}
.familia{margin:24px 0 0;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);max-width:760px;background:var(--escarcha)}
.familia img{display:block;width:100%}
.previa main::before{content:"Vista previa: la tienda todavía no está abierta al público";display:block;margin-bottom:16px;padding:10px 12px;border-radius:var(--r-ctl);background:var(--yellow-t);color:var(--yellow-i);font-size:14px;font-weight:700}
.tm-search{margin-top:16px}
.tm-h{margin:26px 0 12px}
.tm-cat.on{border-color:var(--arrebol);box-shadow:inset 0 0 0 1px var(--arrebol)}

/* Encabezado de una línea y de cada paso (atrás + título) */
.paso{display:flex;align-items:center;gap:6px;margin:0 0 8px}
.paso .h2{flex:1;min-width:0;margin:0}
.atras{width:44px;height:44px;margin-left:-10px;display:grid;place-items:center;border:0;border-radius:22px;background:none;color:var(--ink);text-decoration:none}
.tm-cathead{margin-bottom:4px}

/* Cuadrícula: dos columnas en el teléfono (como la app), más en pantallas anchas */
.tm-grid{gap:18px 12px}
.tm-card .tm-p{font-size:15px}
.tm-img.off img{opacity:.45}

/* Ficha del producto */
.ficha{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ficha-fotos{min-width:0}
.ficha .tm-big{max-width:420px}
.ficha-txt .h2{margin:8px 0 2px;font-size:clamp(28px,4.4vw,44px);line-height:1.05}
.ficha-txt p{margin:0;line-height:1.5;max-width:62ch}
.ficha-txt .tm-h{margin:22px 0 6px}
.ficha-txt .ti-mac{max-width:440px;margin-top:10px}
.comprar{margin-top:14px;display:flex;flex-direction:column;gap:8px;max-width:440px}
.poco{color:var(--yellow-i);font-size:14px;font-weight:700;margin-top:6px}
.tm-p.grande{font-size:22px;margin-top:10px}

/* Carrito y datos */
.tm-line{align-items:flex-start}
.tm-line:first-child{border-top:0}
.lista{border-bottom:1px solid var(--line)}
.ti-precio{margin-top:12px}
.ti-precio+.ti-precio{border-top:0;padding-top:4px;margin-top:0}
.ti-precio.total{border-top:1px solid var(--line);padding-top:12px;margin-top:8px;font-size:18px}
.tm-campos{grid-template-columns:minmax(0,1fr)}
.tm-campo .ti-k{margin:0 2px 6px}
.cupon-f{display:flex;gap:8px;margin-top:8px}
.cupon-f .inp{text-transform:uppercase;font-family:var(--f-mono)}
.err{color:var(--red-i);font-size:13px;margin-top:8px}
.opt{margin:8px 0 0}
.seg{margin-top:4px}
.ped{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.ped:first-child{border-top:0}
.estado .ti-precio:first-child{border-top:0;padding-top:0;margin-top:0}
.pre{white-space:pre-wrap;line-height:1.5;margin:0}
.listo{text-align:center}
.listo .bienv-ok{margin:18px auto 8px}
.listo .ti-precio{text-align:left}

/* Foto ampliada: la misma de la app */
.tm-foto-x{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:22px}

/* Avisos (toast) abajo al centro */
.toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;width:min(92vw,420px);pointer-events:none}
.toast.fuera{opacity:0;transition:opacity .3s}

/* Pie */
.pie{border-top:1px solid var(--line);margin-top:24px}
.pie-in{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;min-height:64px;padding-top:14px;padding-bottom:14px;color:var(--sub);font-size:14px}
.pie a{color:var(--sub);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.pie a:hover{color:var(--ink)}

@media (min-width:720px){
  .tm-cats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}
  .ficha{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
  .ficha-fotos{position:sticky;top:84px}
  .ficha .tm-big{max-width:none;margin-top:0}
  .tm-campos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .comprar{flex-direction:row}
  .comprar .btn{flex:1}
}
@media (min-width:1000px){
  .tm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Las tarjetas y miniaturas son enlaces (en la app son botones): sin subrayado */
a.tm-open,a.tm-thumb,a.tm-open:hover{text-decoration:none;color:var(--ink)}
a.tm-thumb{display:block}
a.linkbtn{text-decoration:none}
a.btn{text-decoration:none}
/* Portada mientras la tienda no abre (6.0.7) */
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cta .btn{flex:1 1 200px;max-width:280px}
.bajada-s{margin:-4px 0 12px;max-width:60ch}
.lineas-p .linea-p{cursor:default;min-height:0;padding-bottom:14px}
.lineas-p .linea-p .sub{padding:0 12px;line-height:1.45}
.app-p{display:flex;gap:16px;max-width:760px}
.app-p p{margin:6px 0 0;line-height:1.5}
