/* Carne Seca Jalos · carnesecajalos.com
   Sistema: Bebas Neue (display) + Archivo (texto/UI).
   Colores tomados del producto: café del Toro, rojo y azul de las bolsas, papel de la etiqueta y amarillo del sello de precio. */

@font-face{font-family:"Bebas Neue";src:url("../fonts/bebas-neue-latin-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-wdth-wght.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}

:root{
  --toro:#1c110c;        /* café oscuro del Toro: fondo base */
  --toro-2:#2a1912;
  --toro-3:#3a241a;
  --chile:#e0261b;       /* bolsa roja */
  --chile-d:#9b1a12;
  --chile-dd:#5e0f0a;
  --azul:#1d6cf2;        /* bolsa azul / fuego azul */
  --azul-l:#55b6ff;
  --azul-d:#0b3a8f;
  --papel:#f4e9d2;       /* papel de la etiqueta */
  --papel-d:#e3d2ae;
  --tinta:#2b1a12;       /* texto sobre papel */
  --precio:#ffd223;      /* sello de precio */
  --blanco:#ffffff;
  --gris:#cdbfb6;
  --display:"Bebas Neue",Impact,"Arial Narrow Bold",sans-serif;
  --text:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1240px;
  --gutter:clamp(16px,4vw,40px);
  --radius:18px;
  --header-h:72px;
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px)}
body{margin:0;background:var(--toro);color:var(--blanco);font-family:var(--text);font-size:17px;line-height:1.6;font-stretch:96%;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--precio);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--precio);color:var(--toro);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Tipografía ---------- */
.display{font-family:var(--display);font-weight:400;line-height:.86;letter-spacing:.01em;text-transform:uppercase;margin:0}
/* letras "3D" como en las promos de la marca */
.extrude{text-shadow:0 2px 0 var(--chile-d),0 4px 0 var(--chile-dd),0 6px 0 #3d0905,0 14px 26px rgba(0,0,0,.45)}
.extrude-blue{text-shadow:0 2px 0 var(--azul-d),0 4px 0 #082a68,0 6px 0 #061d48,0 14px 26px rgba(0,0,0,.45)}
.h-xl{font-size:clamp(68px,13.5vw,212px)}
.h-lg{font-size:clamp(56px,9vw,150px)}
.h-md{font-size:clamp(44px,6.2vw,96px)}
.h-sm{font-size:clamp(34px,4vw,60px)}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:58ch}
.muted{color:var(--gris)}
.tag{display:inline-block;font-weight:700;font-stretch:80%;font-size:15px;letter-spacing:.02em}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;text-decoration:none;font-family:var(--display);font-size:clamp(24px,2.4vw,30px);letter-spacing:.03em;line-height:1;padding:18px 30px 16px;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),background-color .2s}
.btn-buy{background:var(--precio);color:var(--toro);box-shadow:0 6px 0 #b8920c,0 14px 30px rgba(0,0,0,.35)}
.btn-buy:hover{transform:translateY(-2px);box-shadow:0 8px 0 #b8920c,0 18px 34px rgba(0,0,0,.4)}
.btn-buy:active{transform:translateY(4px);box-shadow:0 2px 0 #b8920c,0 8px 18px rgba(0,0,0,.3)}
.btn-ghost{background:transparent;color:var(--blanco);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-red{background:var(--chile);color:#fff;box-shadow:0 6px 0 var(--chile-dd),0 14px 30px rgba(0,0,0,.3)}
.btn-blue{background:var(--azul);color:#fff;box-shadow:0 6px 0 #062b6e,0 14px 30px rgba(0,0,0,.3)}
.btn-red:hover,.btn-blue:hover{transform:translateY(-2px)}
.btn-red:active,.btn-blue:active{transform:translateY(4px);box-shadow:0 2px 0 rgba(0,0,0,.4)}
.btn svg{width:22px;height:22px;flex:none}
.btn.is-loading{opacity:.75;pointer-events:none}

/* Sello de precio (estrella amarilla de las promos) */
.burst{--s:150px;width:var(--s);height:var(--s);display:grid;place-items:center;text-align:center;color:var(--chile);background:var(--precio);
  clip-path:polygon(50% 0%,57.5% 11.3%,69.1% 3.8%,71.5% 17.2%,85% 14.6%,82.4% 28%,96.2% 30.9%,88.7% 42.5%,100% 50%,88.7% 57.5%,96.2% 69.1%,82.4% 72%,85% 85.4%,71.5% 82.8%,69.1% 96.2%,57.5% 88.7%,50% 100%,42.5% 88.7%,30.9% 96.2%,28.5% 82.8%,15% 85.4%,17.6% 72%,3.8% 69.1%,11.3% 57.5%,0% 50%,11.3% 42.5%,3.8% 30.9%,17.6% 28%,15% 14.6%,28.5% 17.2%,30.9% 3.8%,42.5% 11.3%);
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.35));transform:rotate(-8deg)}
.burst b{display:block;font-family:var(--display);font-weight:400;font-size:calc(var(--s)*.34);line-height:.9;letter-spacing:.01em;text-shadow:0 2px 0 #fff3b0}
.burst b sup{font-size:.5em;vertical-align:.7em}
.burst span{display:block;font-weight:800;font-stretch:75%;font-size:calc(var(--s)*.085);color:var(--toro);text-transform:uppercase;letter-spacing:.02em;margin-top:2px}

/* ---------- Encabezado ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--header-h);display:flex;align-items:center;transition:background-color .3s,box-shadow .3s,transform .3s}
.site-header.is-solid{background:rgba(28,17,12,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.site-header .wrap{display:flex;align-items:center;gap:18px;max-width:1400px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.brand-name{font-family:var(--display);font-size:28px;line-height:.9;letter-spacing:.02em}
.brand-name small{display:block;font-size:15px;color:var(--precio);letter-spacing:.06em}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font-weight:700;font-stretch:82%;font-size:16px;text-decoration:none;padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.88)}
.nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.header-actions{display:flex;align-items:center;gap:8px;margin-left:8px}
.lang{font-weight:800;font-stretch:80%;font-size:15px;text-decoration:none;padding:9px 11px;border-radius:10px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.lang:hover{box-shadow:inset 0 0 0 1.5px #fff}
.bag-btn{position:relative;display:inline-flex;align-items:center;gap:8px;border:0;background:var(--precio);color:var(--toro);font-weight:800;font-stretch:80%;font-size:16px;padding:10px 14px;border-radius:12px}
.bag-btn svg{width:20px;height:20px}
.bag-count{min-width:22px;height:22px;display:inline-grid;place-items:center;border-radius:11px;background:var(--toro);color:var(--precio);font-size:13px;padding:0 6px}
.menu-btn{display:none;border:0;background:transparent;padding:8px;margin-left:auto}
.menu-btn svg{width:28px;height:28px}

/* ---------- 1. Película con scroll ---------- */
.film{position:relative;height:420vh;background:#000}
.film-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.film-canvas,.film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-canvas{opacity:0;transition:opacity .4s}
.film.is-ready .film-canvas{opacity:1}
.film.is-ready .film-poster{opacity:0;transition:opacity .4s .2s}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 58%,rgba(0,0,0,.7) 100%);pointer-events:none}
.film-copy{position:absolute;inset:0;display:grid;place-items:end start;padding:0 var(--gutter) clamp(90px,15vh,150px);pointer-events:none}
.beat{grid-area:1/1;max-width:min(20ch,92vw);opacity:0;transform:translateY(24px);will-change:opacity,transform}
.beat.h-xl{font-size:clamp(60px,16vw,180px)}
.beat-sub{display:block;font-family:var(--text);font-weight:700;font-stretch:85%;text-transform:none;font-size:clamp(17px,1.7vw,22px);letter-spacing:0;line-height:1.35;margin-top:18px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.film-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:700;font-stretch:80%;font-size:14px;color:rgba(255,255,255,.9);transition:opacity .3s}
.film-cue i{width:2px;height:38px;background:linear-gradient(var(--precio),transparent);animation:cue 1.6s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.film-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.12)}
.film-bar span{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--chile),var(--precio),var(--azul))}

/* ---------- 2. Caída y choque de las bolsas ---------- */
.drop{position:relative;height:260vh;background:var(--toro)}
.drop-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(60% 55% at 28% 55%,rgba(224,38,27,.42),transparent 70%),radial-gradient(60% 55% at 72% 55%,rgba(29,108,242,.42),transparent 70%),var(--toro)}
.drop-word{position:absolute;top:50%;font-family:var(--display);font-size:clamp(150px,30vw,460px);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.14);white-space:nowrap;pointer-events:none;will-change:transform}
.drop-word-l{right:52%;transform:translateY(-50%)}
.drop-word-r{left:52%;transform:translateY(-50%)}
.drop-stage{position:relative;width:min(1100px,100%);height:100%;will-change:transform}
.drop-stage.is-shaking{animation:shake .42s cubic-bezier(.36,.07,.19,.97) both}
@keyframes shake{10%,90%{transform:translate3d(-2px,1px,0)}20%,80%{transform:translate3d(4px,-2px,0)}30%,50%,70%{transform:translate3d(-7px,3px,0)}40%,60%{transform:translate3d(7px,-3px,0)}}
.drop-bag{position:absolute;top:50%;left:50%;width:clamp(170px,23vw,330px);height:auto;margin:0;transform:translate3d(-50%,-170vh,0);filter:drop-shadow(0 30px 40px rgba(0,0,0,.55));will-change:transform}
.drop-flash{position:absolute;top:50%;left:50%;width:70vmin;height:70vmin;margin:-35vmin 0 0 -35vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,250,220,.95) 0%,rgba(255,210,35,.7) 22%,rgba(224,38,27,.35) 45%,rgba(29,108,242,0) 70%);opacity:0;transform:scale(.2);pointer-events:none;mix-blend-mode:screen}
.drop.is-hit .drop-flash{animation:flash .7s ease-out both}
@keyframes flash{0%{opacity:0;transform:scale(.2)}18%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
.sparks{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}
.spark{position:absolute;left:0;top:0;width:var(--w,14px);height:var(--h,6px);border-radius:3px;background:var(--c,var(--chile));opacity:0}
.spark.lime{width:22px;height:22px;border-radius:50% 50% 0 50%;background:radial-gradient(circle at 70% 70%,#d8f58a 0 35%,#8ac926 36% 60%,#3c7d10 61%)}
.drop.is-hit .spark{animation:spark .9s cubic-bezier(.12,.75,.3,1) both}
@keyframes spark{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r))}}
.drop-cta{position:absolute;inset:auto 0 clamp(34px,7vh,70px) 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;opacity:0;transform:translateY(30px);pointer-events:none;transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}
.drop.is-done .drop-cta{opacity:1;transform:none;pointer-events:auto}
.drop-title{font-size:clamp(52px,8vw,124px)}
.drop-title .r{color:var(--chile);text-shadow:0 3px 0 #fff,0 10px 24px rgba(0,0,0,.4)}
.drop-title .b{color:var(--azul-l);text-shadow:0 3px 0 #fff,0 10px 24px rgba(0,0,0,.4)}
.drop-title .o{color:#fff}
.drop-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center}
.drop .burst{--s:118px}
.drop-note{margin:0;font-weight:700;font-stretch:85%;color:rgba(255,255,255,.85)}

/* ---------- Secciones generales ---------- */
.section{padding:clamp(76px,10vw,140px) 0;position:relative}
.section-head{display:grid;gap:18px;margin-bottom:clamp(34px,5vw,60px)}

/* ---------- 3. Sabores ---------- */
.lineup{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.flavor{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding:clamp(90px,10vw,130px) clamp(22px,4vw,64px) clamp(44px,5vw,70px);overflow:hidden;isolation:isolate}
.flavor-red{background:radial-gradient(80% 60% at 50% 45%,#ff4a30 0%,var(--chile) 40%,var(--chile-d) 100%)}
.flavor-blue{background:radial-gradient(80% 60% at 50% 45%,#3f8dff 0%,var(--azul) 40%,var(--azul-d) 100%)}
.flavor::before{content:"";position:absolute;inset:0;z-index:-1;background:url("../img/carne-seca-jalos-red-chile-lime-explosion-1080.webp") center/cover;opacity:.18;mix-blend-mode:luminosity}
.flavor-blue::before{background-image:url("../img/carne-seca-jalos-blue-fuego-1080.webp")}
.flavor-title{font-size:clamp(60px,8vw,128px)}
.flavor-bag{justify-self:center;align-self:center;width:min(78%,330px);filter:drop-shadow(0 34px 44px rgba(0,0,0,.5));transform:rotate(-4deg);transition:transform .5s var(--ease-out)}
.flavor-blue .flavor-bag{transform:rotate(4deg)}
.flavor:hover .flavor-bag{transform:rotate(0) scale(1.03)}
.flavor .burst{position:absolute;top:clamp(170px,22vw,240px);right:clamp(16px,4vw,56px);--s:clamp(104px,11vw,140px)}
.flavor-info{display:grid;gap:14px}
.flavor-name{font-weight:800;font-stretch:80%;font-size:20px;margin:0}
.flavor-desc{margin:0;max-width:44ch;color:rgba(255,255,255,.92)}
.specs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.specs li{font-weight:700;font-stretch:82%;font-size:14px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.buy-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.stepper{display:inline-flex;align-items:center;border-radius:14px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.stepper button{width:46px;height:52px;border:0;background:transparent;font-size:24px;font-weight:700}
.stepper button:hover{background:rgba(255,255,255,.12)}
.stepper output{min-width:34px;text-align:center;font-weight:800;font-size:19px}
.stepper button:first-child{border-radius:13px 0 0 13px}
.stepper button:last-child{border-radius:0 13px 13px 0}

/* ---------- Banda de datos ---------- */
.band{background:var(--precio);color:var(--toro);overflow:hidden}
.band ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin:0;padding:18px var(--gutter);list-style:none}
.band li{font-family:var(--display);font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:.02em;display:flex;align-items:center;gap:34px}
.band li+li::before{content:"";width:12px;height:12px;background:var(--chile);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);margin-left:-22px}

/* ---------- 4. Etiqueta (lo que trae la bolsa) ---------- */
.label-sec{background:var(--toro-2)}
.label-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:center}
.label-card{position:relative;background:var(--papel);color:var(--tinta);border-radius:14px;padding:clamp(26px,3.6vw,46px);box-shadow:0 30px 60px rgba(0,0,0,.4);outline:3px double #8c5a2e;outline-offset:-14px;background-image:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.55),transparent 60%),repeating-linear-gradient(90deg,rgba(140,90,46,.035) 0 2px,transparent 2px 6px)}
.label-card h2{color:var(--chile-d);font-size:clamp(46px,5.4vw,78px);text-align:center;text-shadow:0 2px 0 #fff}
.label-facts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:0}
.label-facts li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:2px solid rgba(43,26,18,.85);font-weight:800;font-stretch:82%;font-size:clamp(17px,1.5vw,20px)}
.label-facts li:first-child{border-top:8px solid var(--tinta)}
.label-facts li span:last-child{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,34px);letter-spacing:.02em;color:var(--chile-d)}
.label-note{margin:14px 0 0;font-size:13.5px;line-height:1.45;color:#5a4334}
.label-copy{display:grid;gap:22px}
.label-copy .h-md{color:#fff}
.ingredients{font-size:15px;color:var(--gris);line-height:1.6;margin:0}
.ingredients strong{color:#fff}

/* ---------- 5. El Toro ---------- */
.toro-sec{background:linear-gradient(180deg,var(--toro) 0%,#120a07 100%);overflow:hidden}
.toro-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.toro-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(240px,27vw,360px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px var(--gutter) 28px;margin-top:clamp(28px,4vw,48px);scrollbar-width:thin;scrollbar-color:var(--chile) transparent}
.toro-card{position:relative;scroll-snap-align:start;border-radius:var(--radius);overflow:hidden;aspect-ratio:9/14;background:#000;margin:0}
.toro-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.toro-card:hover img{transform:scale(1.04)}
.toro-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-family:var(--display);font-size:34px;line-height:.95;letter-spacing:.02em}
.toro-card figcaption small{display:block;font-family:var(--text);font-weight:600;font-stretch:88%;font-size:14px;letter-spacing:0;color:rgba(255,255,255,.8);margin-top:4px}

/* ---------- 6. Historia ---------- */
/* foto a la derecha que se funde con el fondo; texto a la izquierda */
.story{position:relative;min-height:88vh;display:grid;align-items:center;overflow:hidden;background:#120a07}
.story img{position:absolute;top:0;right:0;width:64%;height:100%;object-fit:cover;object-position:62% 35%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%)}
.story .wrap{position:relative;z-index:1;padding-block:clamp(90px,10vw,140px)}
.story-copy{max-width:600px;display:grid;gap:22px}
.story h2{font-size:clamp(56px,7.4vw,120px)}

/* ---------- 7. Cómo pedir (es una secuencia real: va numerada) ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:step}
.steps li{counter-increment:step;position:relative;background:var(--toro-2);border-radius:var(--radius);padding:30px 26px 28px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.steps li::before{content:counter(step);display:block;font-family:var(--display);font-size:86px;line-height:.8;color:var(--precio);margin-bottom:14px}
.steps h3{font-family:var(--display);font-weight:400;font-size:36px;line-height:.95;letter-spacing:.02em;margin:0 0 10px}
.steps p{margin:0;color:var(--gris)}
.order-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}

/* ---------- 8. Dónde comprar ---------- */
.where{background:var(--chile);background:radial-gradient(120% 90% at 85% 10%,#ff5139 0%,var(--chile) 45%,var(--chile-d) 100%)}
.where-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:center}
.where figure{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35);transform:rotate(-2deg);background:#000}
.where figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.where figcaption{padding:10px 14px;font-size:14px;background:#000;color:rgba(255,255,255,.8)}
.where-copy{display:grid;gap:22px}
.where .lead{color:#fff}
.store-box{background:rgba(0,0,0,.24);border-radius:var(--radius);padding:22px 24px;display:grid;gap:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.store-box p{margin:0}
.store-box a{font-weight:800}

/* ---------- 9. Preguntas ---------- */
.faq-list{display:grid;gap:12px;max-width:900px}
.faq-list details{background:var(--toro-2);border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;font-weight:800;font-stretch:85%;font-size:19px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--display);font-size:36px;line-height:.6;color:var(--precio);transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 22px 22px;color:var(--gris);max-width:70ch}
.faq-list details a{color:var(--precio)}

/* ---------- 10. Mayoreo (franja) ---------- */
.wholesale-band{background:var(--papel);color:var(--tinta)}
.wholesale-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-block:clamp(44px,6vw,72px)}
.wholesale-band h2{color:var(--chile-d)}
.wholesale-band p{margin:8px 0 0;max-width:52ch}
.btn-dark{background:var(--toro);color:var(--precio);box-shadow:0 6px 0 #000,0 14px 30px rgba(0,0,0,.25)}
.btn-dark:hover{transform:translateY(-2px)}

/* ---------- 11. Cierre ---------- */
.final{position:relative;overflow:hidden;text-align:center;background:radial-gradient(55% 70% at 22% 70%,rgba(224,38,27,.55),transparent 70%),radial-gradient(55% 70% at 78% 70%,rgba(29,108,242,.55),transparent 70%),var(--toro)}
.final .wrap{display:grid;justify-items:center;gap:22px}
.final-bags{display:flex;justify-content:center;align-items:end;gap:0;margin-top:12px}
.final-bags img{width:clamp(130px,16vw,220px);filter:drop-shadow(0 26px 34px rgba(0,0,0,.5))}
.final-bags img:first-child{transform:rotate(-9deg) translateX(14px)}
.final-bags img:last-child{transform:rotate(9deg) translateX(-14px)}

/* ---------- Pie ---------- */
.site-footer{background:#120a07;padding:64px 0 120px;font-size:15px;color:var(--gris)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px}
.footer-grid h3{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:.04em;color:#fff;margin:0 0 12px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-grid a{text-decoration:none}
.footer-grid a:hover,.link-btn:hover{color:#fff;text-decoration:underline}
.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.footer-brand .brand-name{color:#fff;font-size:34px}
.footer-brand p{margin:12px 0 0;max-width:34ch}
.footer-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;font-size:13.5px}
.footer-legal a{color:#fff}

/* ---------- Carrito ---------- */
.cart{position:fixed;inset:0;z-index:90;visibility:hidden}
.cart.is-open{visibility:visible}
.cart-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .3s}
.cart.is-open .cart-scrim{opacity:1}
.cart-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--papel);color:var(--tinta);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s var(--ease-out);box-shadow:-20px 0 50px rgba(0,0,0,.35)}
.cart.is-open .cart-panel{transform:none}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:2px solid var(--tinta)}
.cart-head h2{font-size:44px;color:var(--chile-d)}
.cart-close{border:0;background:transparent;width:44px;height:44px;border-radius:12px;font-size:30px;line-height:1;color:var(--tinta)}
.cart-close:hover{background:rgba(43,26,18,.08)}
.cart-items{list-style:none;margin:0;padding:12px 22px;display:grid;gap:12px;overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:12px;border-radius:16px;background:#fff8ea;box-shadow:inset 0 0 0 1px rgba(43,26,18,.12)}
.cart-item img{width:64px;height:auto}
.cart-item h3{margin:0;font-family:var(--display);font-weight:400;font-size:28px;line-height:.95;letter-spacing:.02em}
.cart-item p{margin:2px 0 0;font-size:14px;color:#6b5243}
.cart-item .stepper{background:#fff;box-shadow:inset 0 0 0 1.5px rgba(43,26,18,.3)}
.cart-item .stepper button{width:40px;height:44px;color:var(--tinta)}
.cart-item .stepper button:hover{background:rgba(43,26,18,.07)}
.cart-item .stepper output{color:var(--tinta);min-width:28px}
.cart-foot{padding:18px 22px 22px;border-top:2px solid var(--tinta);display:grid;gap:12px;background:var(--papel-d)}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-stretch:85%;font-size:19px}
.cart-total output{font-family:var(--display);font-weight:400;font-size:40px;color:var(--chile-d);letter-spacing:.02em}
.cart-note{margin:0;font-size:14px;line-height:1.45;color:#5a4334}
.cart-foot .btn{width:100%}
.cart-foot .btn[disabled]{opacity:.5;pointer-events:none}
.cart-empty{margin:0;font-size:15px;color:#6b5243}

/* ---------- Chat ---------- */
.chat-fab{position:fixed;right:20px;bottom:22px;z-index:70;display:flex;align-items:center;gap:10px}
.chat-tip{background:#fff;color:var(--tinta);border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.3;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:220px;opacity:0;transform:translateX(10px);transition:opacity .35s,transform .35s;pointer-events:none}
.chat-tip strong{display:block}
.chat-fab.show-tip .chat-tip{opacity:1;transform:none}
.chat-btn{width:64px;height:64px;border-radius:50%;border:0;background:var(--chile);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(255,255,255,.9),0 12px 30px rgba(0,0,0,.4);position:relative}
.chat-btn svg{width:30px;height:30px}
.chat-btn::after{content:"";position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:50%;background:#2fd36b;box-shadow:0 0 0 3px #fff}
.chat-btn.is-loading{opacity:.7}
body.chat-open .chat-fab{opacity:0;pointer-events:none}
.toast{position:fixed;left:50%;bottom:100px;z-index:100;transform:translate(-50%,20px);background:#fff;color:var(--tinta);border-radius:14px;padding:14px 18px;box-shadow:0 14px 40px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-width:min(420px,calc(100% - 32px));font-size:15px}
.toast.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:var(--chile-d);font-weight:800}

/* Barra fija en celular */
.mbar{display:none}

/* ---------- Página de mayoreo ---------- */
.ws-hero{position:relative;min-height:86vh;display:grid;align-items:end;overflow:hidden;background:#000}
.ws-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:.7}
.ws-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--toro) 0%,rgba(28,17,12,.6) 45%,rgba(28,17,12,.2) 100%)}
.ws-hero .wrap{position:relative;z-index:1;padding-top:140px;padding-bottom:60px;display:grid;gap:22px}
.perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.perks li{background:var(--toro-2);border-radius:var(--radius);padding:26px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.perks h3{font-family:var(--display);font-weight:400;font-size:34px;line-height:.95;margin:0 0 10px;color:var(--precio)}
.perks p{margin:0;color:var(--gris)}
.ws-form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
.ws-form{background:var(--papel);color:var(--tinta);border-radius:var(--radius);padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:1fr 1fr;gap:14px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.ws-form .full{grid-column:1/-1}
.ws-form label{display:grid;gap:6px;font-weight:800;font-stretch:85%;font-size:15px}
.ws-form input,.ws-form select,.ws-form textarea{font:inherit;font-weight:500;font-stretch:96%;font-size:16px;color:var(--tinta);background:#fff;border:2px solid rgba(43,26,18,.25);border-radius:12px;padding:12px 14px;width:100%}
.ws-form textarea{min-height:96px;resize:vertical}
.ws-form input:focus,.ws-form select:focus,.ws-form textarea:focus{outline:none;border-color:var(--chile)}
.ws-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ws-form .btn{grid-column:1/-1}
.ws-form .form-msg{grid-column:1/-1;margin:0;font-size:15px;min-height:1.2em}
.ws-form .form-msg.ok{color:#1d7a3c;font-weight:700}
.ws-form .form-msg.err{color:var(--chile-d);font-weight:700}
.ws-form small{font-weight:500;color:#6b5243}
.legal-page{max-width:820px;padding-top:calc(var(--header-h) + 60px)}
.legal-page h1{margin-bottom:28px}
.legal-page h2{font-family:var(--display);font-weight:400;font-size:34px;margin:34px 0 8px}
.legal-page p,.legal-page li{color:var(--gris)}

/* ---------- Responsivo ---------- */
@media (max-width:1080px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .header-actions{margin-left:0}
  .label-grid,.where-grid,.ws-form-wrap{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .site-header.menu-open .nav{display:flex;position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;background:rgba(28,17,12,.98);padding:12px var(--gutter) 22px;gap:2px;box-shadow:0 20px 40px rgba(0,0,0,.4)}
  .site-header.menu-open .nav a{font-size:20px;padding:14px 10px}
  .where figure{max-width:460px;justify-self:center}
  .story{display:block;min-height:0}
  .story img{position:relative;width:100%;height:auto;aspect-ratio:16/10;object-position:62% 30%;
    -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
  .story .wrap{margin-top:-90px;padding-block:0 76px}
}
@media (max-width:760px){
  :root{--header-h:64px}
  body{font-size:16px}
  .brand-name{font-size:24px}
  .brand-name small{font-size:13px}
  .brand img{width:38px;height:38px}
  .header-actions .lang{display:none}
  .bag-btn .bag-label{display:none}
  .film{height:380vh}
  .film-copy{padding-bottom:120px}
  .lineup{grid-template-columns:1fr}
  .flavor{min-height:auto;padding-top:70px}
  .flavor .burst{top:120px}
  .steps,.perks{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .ws-form{grid-template-columns:1fr}
  .drop{height:230vh}
  .drop-bag{width:clamp(140px,40vw,200px)}
  .drop .burst{--s:96px}
  .drop-cta{bottom:calc(86px + env(safe-area-inset-bottom))}
  .story img{aspect-ratio:4/5}
  .chat-fab{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(28,17,12,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 -1px 0 rgba(255,255,255,.1)}
  .mbar button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 10px;font-weight:800;font-stretch:82%;font-size:16px}
  .mbar .m-chat{background:var(--chile);color:#fff}
  .mbar .m-bag{background:var(--precio);color:var(--toro)}
  .mbar svg{width:20px;height:20px}
  .toast{bottom:90px}
  body.chat-open .mbar{display:none}
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .film{height:100vh}
  .film-canvas{display:none}
  .film .beat-1{opacity:1;transform:none}
  .film-cue,.film-bar{display:none}
  .drop{height:auto}
  .drop-sticky{position:relative;height:auto;min-height:100vh;padding:60px 0}
  .drop-word{display:none}
  .drop-bag{position:relative;top:auto;left:auto;transform:none!important;display:inline-block;width:clamp(140px,22vw,260px);margin:0 -10px}
  .drop-stage{display:flex;justify-content:center;align-items:center;height:auto;padding-bottom:280px}
  .drop-cta{opacity:1;transform:none;pointer-events:auto}
}
