/* ============================================================
   DON POLO VINOS — v5 dark microsite (Awwwards-grade)
   ============================================================ */

:root{
  /* palette */
  --bg:#080808;
  --bg-2:#0a0a0c;
  --bg-3:#101013;
  --line:#1c1c20;
  --line-2:#2a2a30;
  --ink:#f5f5f7;
  --ink-2:#b8b8be;
  --ink-3:#76767e;
  --wine:#c1121f;
  --wine-2:#d11a2a;
  --wine-deep:#7a0d15;
  --gold:#c9a96e;
  --gold-2:#d4af37;
  --wa:#25d366;
  --halo-red:rgba(193,18,31,0.40);
  --halo-gold:rgba(201,169,110,0.18);

  /* type */
  --ff-display:"Red Hat Display",system-ui,sans-serif;
  --ff-text:"Red Hat Text",system-ui,sans-serif;

  /* easing */
  --ease:cubic-bezier(0.22,1,0.36,1);

  --nav-h:72px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:var(--ff-text);
  background:var(--bg);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea,select{font-family:inherit;}
::selection{background:var(--wine);color:#fff;}

/* lenis */
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}
.lenis.lenis-stopped{overflow:hidden;}

/* ---------- typography tokens ---------- */
.eyebrow{
  font-family:var(--ff-text);font-weight:600;font-size:0.72rem;
  letter-spacing:0.32em;text-transform:uppercase;line-height:1;color:var(--ink-3);
}
.display-xl{font-family:var(--ff-display);font-weight:900;font-size:clamp(3.2rem,9vw,8.5rem);letter-spacing:-0.03em;line-height:0.92;}
.display-l{font-family:var(--ff-display);font-weight:800;font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-0.025em;line-height:0.96;}
.display-m{font-family:var(--ff-display);font-weight:700;font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:-0.02em;line-height:1.05;}
.body-lg{font-weight:300;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55;color:var(--ink-2);}
.accent-wine{color:var(--wine);}

.gold-rule{height:1px;background:var(--gold);width:48px;border:0;}

/* shared container */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px);}

/* ============================================================
   BUTTONS (shared, load-bearing)
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--ff-text);font-weight:600;font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;
  padding:14px 26px;border-radius:999px;line-height:1;
  transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);
  white-space:nowrap;border:1px solid transparent;position:relative;
}
.btn svg{flex-shrink:0;}
.btn-wine{background:var(--wine);color:#fff;box-shadow:0 6px 24px -10px rgba(193,18,31,0.7);}
.btn-wine:hover{background:var(--wine-2);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(209,26,42,0.8);}
.btn-ghost-dark{background:rgba(255,255,255,0.02);border:1px solid var(--ink-3);color:var(--ink);}
.btn-ghost-dark:hover{border-color:var(--gold);color:#fff;transform:translateY(-2px);}
.btn-whatsapp{background:var(--wa);color:#06301a;}
.btn-whatsapp:hover{filter:brightness(1.08);transform:translateY(-2px);}
.btn-sm{padding:11px 18px;font-size:0.74rem;}

/* ============================================================
   AGE GATE
   ============================================================ */
.gate{
  position:fixed;inset:0;z-index:1000;
  display:grid;place-items:center;
  background:var(--bg);overflow:hidden;
}
.gate-bg{position:absolute;inset:0;z-index:0;}
/* sin rojo: textura oscura neutra (grises) */
.gate-bg img{width:100%;height:100%;object-fit:cover;filter:blur(20px) brightness(0.22) grayscale(1);transform:scale(1.1);}
.gate-bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(58% 48% at 50% 40%,rgba(201,169,110,0.10),transparent 70%),
             linear-gradient(#070707 0%,rgba(7,7,7,0.35) 35%,rgba(7,7,7,0.35) 60%,#070707 100%);
}
.gate-col{
  position:relative;z-index:1;width:100%;max-width:480px;
  padding:32px 24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:22px;
}
.gate-col .eyebrow{color:var(--gold);letter-spacing:0.38em;}
/* logo: aro dorado doble, limpio, sin detalle */
.gate-ring{
  position:relative;width:136px;height:136px;border-radius:50%;
  display:grid;place-items:center;overflow:hidden;
  background:#fff;
  box-shadow:0 0 0 2px var(--gold), 0 0 0 6px #080808, 0 0 0 7px rgba(201,169,110,0.55), 0 0 46px rgba(201,169,110,0.18);
}
.gate-logo-img{width:108%;height:108%;object-fit:contain;display:block;}
.gate-wordmark{margin-top:2px;font-family:"Pinyon Script",cursive;font-weight:400;font-size:clamp(2.6rem,6vw,3.6rem);line-height:0.95;color:#fff;letter-spacing:0;text-transform:none;}
.btn-gate-yes{background:var(--gold);color:#1a1308;font-weight:700;border:1px solid var(--gold);}
.btn-gate-yes:hover{background:#dcc188;}
.gate-langs{display:flex;gap:10px;justify-content:center;}
.gate-pill,.lang-pill{
  padding:9px 20px;border-radius:999px;background:transparent;
  border:1px solid var(--line-2);color:var(--ink-2);
  font-weight:600;font-size:0.8rem;letter-spacing:0.04em;
  transition:all .25s var(--ease);
}
.gate-pill:hover,.lang-pill:hover{border-color:var(--ink-3);color:var(--ink);}
.gate-pill.active,.lang-pill.active{background:var(--bg-3);border-color:var(--gold);color:#fff;}
.gate-question{color:#fff;}
.gate-legal{display:flex;align-items:center;gap:9px;justify-content:center;color:var(--ink-2);font-size:0.95rem;max-width:340px;}
.gate-legal svg{color:var(--gold);flex-shrink:0;}
.gate-btns{display:flex;gap:14px;justify-content:center;width:100%;margin-top:4px;}
.gate-btns .btn{flex:1;max-width:170px;}
.gate-blocked{display:flex;flex-direction:column;align-items:center;gap:18px;}
.gate-blocked .lock{color:var(--ink-3);}

/* ============================================================
   SPLASH
   ============================================================ */
.splash{
  position:fixed;inset:0;z-index:900;
  background:#080808;display:grid;place-items:center;overflow:hidden;
}
.splash-halo{
  position:absolute;width:480px;max-width:96vw;aspect-ratio:1;top:48%;left:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(50% 50% at 50% 50%,rgba(193,18,31,0.55) 0%,rgba(201,169,110,0.26) 38%,transparent 70%);
  filter:blur(8px);z-index:0;
}
.splash-stack{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;}
.splash-video{
  width:auto;max-width:min(220px,52vw);max-height:46vh;object-fit:contain;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,0.6));
}
.splash-mark{display:flex;flex-direction:column;align-items:center;gap:12px;}
.splash-mark .wordmark{font-family:var(--ff-display);font-weight:800;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:0.16em;color:#fff;}
.splash-skip{
  position:absolute;top:24px;right:26px;z-index:3;
  color:var(--ink-3);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;
  transition:color .25s var(--ease);
}
.splash-skip:hover{color:var(--ink);}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:80;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:0 clamp(20px,5vw,48px);
  transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(8,8,10,0.72);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
}
.nav-wordmark{
  font-family:"Pinyon Script",cursive;font-weight:400;font-size:2rem;line-height:0.9;color:#fff;
  letter-spacing:0;text-transform:none;justify-self:start;cursor:pointer;position:relative;padding-bottom:5px;
}
.nav-wordmark::after{content:"";position:absolute;left:3px;right:10px;bottom:0;height:2px;background:var(--gold);}
.nav-links{display:flex;gap:32px;justify-self:center;}
.nav-link{
  position:relative;font-weight:600;font-size:0.82rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ink-2);transition:color .2s var(--ease);padding:6px 0;
}
.nav-link::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--wine);transition:left .18s var(--ease),right .18s var(--ease);}
.nav-link:hover{color:#fff;}
.nav-link:hover::after{left:0;right:0;}
.nav-right{display:flex;align-items:center;gap:14px;justify-self:end;}
.nav-lang{position:relative;}
.nav-lang-btn{display:flex;align-items:center;gap:5px;color:var(--ink-2);font-weight:600;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;padding:8px 10px;border-radius:8px;transition:color .2s var(--ease);}
.nav-lang-btn:hover{color:#fff;}
.nav-lang-menu{
  position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-3);border:1px solid var(--line);
  border-radius:12px;padding:6px;display:flex;flex-direction:column;min-width:120px;
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.8);
}
.nav-lang-menu button{text-align:left;padding:9px 12px;border-radius:8px;color:var(--ink-2);font-size:0.85rem;font-weight:500;transition:all .18s var(--ease);}
.nav-lang-menu button:hover{background:var(--bg-2);color:#fff;}
.nav-lang-menu button.active{color:var(--gold);}
.nav-cart{position:relative;color:var(--ink);padding:8px;display:grid;place-items:center;transition:color .2s var(--ease);}
.nav-cart:hover{color:var(--wine-2);}
.cart-badge{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;
  background:var(--wine);color:#fff;font-size:11px;font-weight:700;border-radius:999px;
  display:grid;place-items:center;line-height:1;
}
.nav-burger{display:none;color:#fff;padding:8px;}

/* mobile sheet */
.nav-sheet{
  position:fixed;inset:0;z-index:90;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease);
}
.nav-sheet.open{opacity:1;pointer-events:auto;}
.nav-sheet a{font-family:var(--ff-display);font-weight:700;font-size:2rem;color:var(--ink);letter-spacing:-0.02em;}
.nav-sheet a:active{color:var(--wine-2);}
.nav-sheet-close{position:absolute;top:22px;right:24px;color:#fff;padding:8px;}
.nav-sheet-langs{display:flex;gap:10px;margin-top:18px;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;
  padding:calc(var(--nav-h) + 20px) 0 60px;
}
/* halos detrás de la botella: ocultos — el fondo del video es negro y se funde con el fondo
   oscuro del sitio (sin difuminado rojo), evitando bordes/recuadros en Safari */
.hero-halo,.hero-halo-core{display:none;}
/* layout en DOS columnas: vino a la izquierda, textos a la derecha */
.hero-grid{
  position:relative;z-index:2;width:min(1240px,92vw);
  display:grid;grid-template-columns:0.82fr 1fr;gap:clamp(24px,4vw,72px);align-items:center;
}
.hero-col-bottle{position:relative;display:flex;justify-content:center;align-items:center;will-change:transform;}
/* specs-intro que flanquean el vino centrado y luego se difuminan */
.hero-intro{position:absolute;inset:0;z-index:4;pointer-events:none;}
.intro-spec{position:absolute;display:flex;flex-direction:column;gap:8px;}
.hero-intro .spec-label{font-weight:600;font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-3);}
.hero-intro .spec-val{font-family:var(--ff-display);font-weight:800;font-size:clamp(1.4rem,2.05vw,2.05rem);letter-spacing:-0.01em;line-height:1.05;color:#fff;}
.intro-spec.lt{left:8%;top:33%;}
.intro-spec.lb{left:8%;top:54%;}
.intro-spec.rt{right:8%;top:33%;text-align:right;align-items:flex-end;}
.intro-spec.rb{right:8%;top:54%;text-align:right;align-items:flex-end;}
@media(max-width:880px){.hero-intro{display:none;}}
.hero-col-bottle{background:var(--bg);} /* respaldo oscuro dentro del grupo para el screen */
.hero-video{
  z-index:1;width:min(340px,44vw);aspect-ratio:406/720;height:auto;
  object-fit:cover;object-position:center;
  /* screen: el negro del video se mapea EXACTO al fondo oscuro del grupo, a cualquier
     brillo (no depende de igualar píxeles). Una máscara muy suave atenúa el glow gris. */
  mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse 70% 96% at 50% 50%, #000 56%, transparent 90%);
          mask-image:radial-gradient(ellipse 70% 96% at 50% 50%, #000 56%, transparent 90%);
  will-change:transform;
}
.hero-col-text{display:flex;flex-direction:column;align-items:flex-start;gap:22px;text-align:left;will-change:transform,opacity;}
.hero-eyebrow-row{display:flex;align-items:center;gap:14px;}
.hero-title{color:#fff;text-align:left;text-shadow:0 4px 30px rgba(0,0,0,0.6);font-size:clamp(2.3rem,4.4vw,4rem);line-height:1.02;}
.hero-title .l1,.hero-title .l2{display:block;}
.hero-specs{display:grid;grid-template-columns:1fr 1fr;gap:22px 36px;width:100%;max-width:460px;}
.hero-specs .spec{display:flex;flex-direction:column;gap:7px;}
.hero-specs .spec-label{font-weight:600;font-size:0.68rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--ink-3);}
.hero-specs .spec-val{font-family:var(--ff-display);font-weight:800;font-size:clamp(1.4rem,2.1vw,2rem);letter-spacing:-0.01em;line-height:1;color:#fff;}
.hero-specs .spec-tick{height:1px;width:40px;background:var(--gold);}
.hero-sub{max-width:44ch;text-align:left;color:var(--ink-2);}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;}
.spec-grid{display:none;}
@media(max-width:880px){
  .hero{padding:calc(var(--nav-h) + 28px) 0 48px;}
  .hero-grid{grid-template-columns:1fr;gap:22px;justify-items:center;}
  .hero-col-text{align-items:center;text-align:center;gap:18px;}
  .hero-title{text-align:center;}
  .hero-specs{max-width:400px;gap:16px 28px;}
  .hero-sub{text-align:center;}
  .hero-ctas{justify-content:center;}
  .hero-halo,.hero-halo-core{left:50%;}
  /* botella vertical un poco más pequeña en celular + máscara generosa (hereda) → entra completa */
  .hero-video{width:min(195px,50vw);aspect-ratio:406/720;height:auto;object-fit:cover;}
  .hero-halo{width:300px;height:300px;}
  .hero-halo-core{width:180px;height:180px;}
  /* specs: cada bloque centrado (label, valor y la línea dorada alineados) */
  .hero-specs .spec{align-items:center;text-align:center;}
  .hero-specs .spec-tick{align-self:center;}
}
@media(max-width:560px){
  .hero-title{font-size:clamp(2.2rem,9vw,3rem);}
  .hero-specs{grid-template-columns:1fr 1fr;gap:18px 18px;max-width:340px;}
  .hero-ctas{flex-direction:column;width:100%;max-width:300px;}
  .hero-ctas .btn{width:100%;justify-content:center;}
}

/* scroll hint */
.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;}
.scroll-hint .eyebrow{font-size:0.66rem;}
.scroll-line{position:relative;width:1px;height:36px;background:linear-gradient(var(--gold),transparent);overflow:hidden;}
.scroll-line::after{content:"";position:absolute;top:0;left:-1px;width:3px;height:8px;border-radius:2px;background:var(--gold);animation:scrollDot 1.8s var(--ease) infinite;}
@keyframes scrollDot{0%{transform:translateY(-10px);opacity:0;}30%{opacity:1;}100%{transform:translateY(36px);opacity:0;}}

/* ============================================================
   MANIFIESTO
   ============================================================ */
.manifiesto{padding:18vh 0;background:var(--bg);position:relative;overflow:hidden;text-align:center;}
/* video de fondo a TODO el ancho, más visible, difuminado SUAVE */
.manifiesto-bg{position:absolute;inset:0;z-index:0;opacity:0.42;object-fit:cover;width:100%;height:100%;filter:blur(1.5px);}
/* scrim para mantener el texto legible sin esconder el video */
.manifiesto::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,10,0.6),rgba(8,8,10,0.42) 50%,rgba(8,8,10,0.62));}
.manifiesto-inner{position:relative;z-index:1;max-width:30ch;margin:0 auto;}
.manifiesto-quote{
  font-family:var(--ff-display);font-weight:800;font-size:clamp(1.5rem,3vw,2.7rem);line-height:1.3;letter-spacing:-0.02em;color:#fff;
}
.manifiesto-quote .word{display:inline-block;opacity:0.12;transform:translateY(12px);margin-right:0.22em;}
.manifiesto-quote .word.lit{color:var(--wine);}

/* ============================================================
   SECTION HEADER (shared)
   ============================================================ */
.sec{position:relative;}
.sec-head{text-align:center;max-width:760px;margin:0 auto 64px;display:flex;flex-direction:column;align-items:center;gap:18px;}
.sec-head .eyebrow-row{display:flex;align-items:center;gap:14px;}
.sec-head h2{color:#fff;}
.sec-head p{max-width:54ch;}

/* ============================================================
   TIENDA / STORE
   ============================================================ */
.store{position:relative;background:var(--bg);padding:clamp(70px,11vh,130px) 0;}
.store .sec-head{margin-bottom:26px;}
.store-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:54px;}
.filter-pill{
  padding:10px 22px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);
  font-weight:600;font-size:0.78rem;letter-spacing:0.05em;cursor:pointer;transition:all .25s var(--ease);
}
.filter-pill:hover{border-color:var(--ink-3);color:#fff;}
.filter-pill.active{background:var(--wine);border-color:var(--wine);color:#fff;}

/* ===== layout VERTICAL: una sección por categoría ===== */
.store-cats{display:flex;flex-direction:column;gap:clamp(56px,8vh,96px);}
.store-cat{--accent:#d11a2a;scroll-margin-top:90px;}
.store-cat.cat-vinos{--accent:#d11a2a;}
.store-cat.cat-piscos{--accent:#c9a96e;}
.store-cat.cat-macerados{--accent:#cf7f42;}
.store-cat.cat-cremas{--accent:#d68fa0;}
.store-cat-head{display:flex;align-items:center;gap:20px;margin-bottom:30px;}
.store-cat-titles{display:flex;align-items:baseline;gap:14px;flex-shrink:0;}
.store-cat-name{font-family:var(--ff-display);font-weight:900;text-transform:uppercase;letter-spacing:-0.01em;
  font-size:clamp(1.7rem,3.4vw,2.8rem);line-height:1;color:var(--accent);}
.store-cat-count{font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-3);}
.store-cat-rule{flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:left center;}

.store-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:24px;align-items:start;}

/* card — caja BLANCA con la botella (foto de fondo blanco fundida con multiply) */
.store-card{
  width:100%;background:#ffffff;
  border:1px solid rgba(0,0,0,0.06);border-radius:20px;padding:22px;
  display:flex;flex-direction:column;
  box-shadow:0 26px 54px -34px rgba(0,0,0,0.9);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease);
  position:relative;overflow:hidden;
}
.store-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -28px rgba(0,0,0,0.95);}
.store-card-media{position:relative;flex:none;height:230px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:#fff;border-radius:14px;}
.store-card-img{position:relative;z-index:1;max-height:100%;max-width:72%;object-fit:contain;
  mix-blend-mode:multiply; /* el fondo blanco de la foto se funde con la card blanca */
  transition:transform .4s var(--ease);}
.store-card:hover .store-card-img{transform:translateY(-4px) scale(1.04);}
.store-card-line{font-weight:700;font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;color:#9a7b86;margin-bottom:6px;}
.store-card-name{font-family:var(--ff-display);font-weight:800;font-size:1.3rem;line-height:1.08;color:#171015;margin-bottom:12px;}
.store-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.store-chip{font-size:0.68rem;color:#6f5560;border:1px solid rgba(0,0,0,0.12);border-radius:999px;padding:5px 12px;letter-spacing:0.02em;}
.store-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto;}
.store-price{display:flex;flex-direction:column;gap:3px;}
.store-price .lbl{font-size:0.64rem;letter-spacing:0.16em;text-transform:uppercase;color:#9a7b86;}
.store-price .amt{font-family:var(--ff-display);font-weight:800;font-size:1.45rem;color:#7a1226;line-height:1;}
.store-add{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border-radius:999px;
  background:var(--wine);color:#fff;font-weight:700;font-size:0.82rem;letter-spacing:0.02em;cursor:pointer;border:none;
  transition:transform .2s var(--ease),background .2s var(--ease);}
.store-add:hover{transform:translateY(-2px);background:#d11a2a;}
.store-add.added{background:#1f7a3d;}

/* borde de color por categoría (vinos = blanco/neutro; el resto su color) */
.store-card[data-cat="piscos"]{border:2px solid rgba(201,169,110,0.85);}
.store-card[data-cat="macerados"]{border:2px solid rgba(181,103,58,0.85);}
.store-card[data-cat="cremas"]{border:2px solid rgba(214,143,160,0.9);}

@media(max-width:560px){
  .store-cat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .store-card{padding:13px;}
  .store-card-media{height:140px;margin-bottom:12px;}
  .store-card-name{font-size:0.98rem;margin-bottom:10px;}
  .store-card-line{font-size:0.58rem;}
  .store-chips{display:none;}
  .store-price .amt{font-size:1.2rem;}
  .store-add{padding:9px 13px;font-size:0.74rem;}
  .store-card-foot{flex-direction:column;align-items:stretch;gap:10px;}
  .store-add{justify-content:center;}
  .store-cat-head{gap:12px;margin-bottom:20px;}
  .store-cat-name{font-size:1.5rem;}
}
/* PREMIUM: vinos de alta gama (borde dorado + sello) */
.store-card.premium{border:2px solid var(--gold);
  box-shadow:0 30px 60px -34px rgba(0,0,0,0.9),0 0 0 1px rgba(201,169,110,0.45),0 0 34px -6px rgba(201,169,110,0.4);}
.store-card.premium:hover{transform:translateY(-8px);
  box-shadow:0 44px 72px -28px rgba(0,0,0,0.95),0 0 0 1px rgba(201,169,110,0.7),0 0 42px -4px rgba(201,169,110,0.55);}
.store-premium-tag{position:absolute;top:14px;left:14px;z-index:3;display:inline-flex;align-items:center;gap:5px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#1a1308;font-weight:800;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;box-shadow:0 4px 14px rgba(201,169,110,0.5);}
.store-premium-tag svg{color:#1a1308;flex-shrink:0;}
/* chip activo toma el color de su categoría */
.filter-pill.cat-piscos.active{background:#b08f45;border-color:#b08f45;}
.filter-pill.cat-macerados.active{background:#a85d30;border-color:#a85d30;}
.filter-pill.cat-cremas.active{background:#c47189;border-color:#c47189;}

/* ===== "Don Polo" script + TERRAZAS RESTOBAR + VENDIMIA ===== */
.script-brand{font-family:"Pinyon Script",cursive;font-weight:400;color:var(--gold);text-transform:none;letter-spacing:0;font-size:1.22em;line-height:0.82;}
.terrazas{background:var(--bg-2);padding:clamp(80px,10vh,130px) 0;}
.vendimia{padding:clamp(80px,10vh,130px) 0;}
.terrazas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.terrazas-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.terrazas-grid{grid-template-columns:1fr;}}
.event-card{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;cursor:pointer;background:#000;
  border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(0,0,0,0.9);transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
.event-card:hover{transform:translateY(-6px);border-color:rgba(201,169,110,0.45);box-shadow:0 34px 64px -26px rgba(0,0,0,0.95);}
.event-video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.event-card:hover .event-video{transform:scale(1.05);}
.event-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0.05) 45%,rgba(0,0,0,0.72));}
.event-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;background:rgba(201,169,110,0.92);color:#1a1308;box-shadow:0 8px 24px rgba(0,0,0,0.5);
  border:none;padding:0;cursor:pointer;z-index:3;transition:transform .3s,background .3s;}
.event-play svg{margin-left:2px;}
.event-card:hover .event-play{transform:translate(-50%,-50%) scale(1.08);background:var(--gold);}
.event-card.playing{cursor:default;}
.event-card.playing:hover{transform:none;}
.event-card.playing:hover .event-video{transform:none;}
.event-video[controls]{object-fit:contain;background:#000;}
.event-name{position:absolute;left:18px;bottom:16px;z-index:2;font-family:var(--ff-display);font-weight:800;font-size:1.25rem;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,0.7);}
.vendimia-feature{border-radius:18px;overflow:hidden;margin-bottom:24px;border:1px solid var(--line);box-shadow:0 30px 64px -30px rgba(0,0,0,0.9);}
.vendimia-feature video{width:100%;aspect-ratio:16/9;height:auto;max-height:80vh;object-fit:contain;background:#000;display:block;}
.vendimia-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:16px;}
.vendimia-img{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--bg-3);border:1px solid var(--line);}
.vendimia-img.tall{grid-row:span 2;aspect-ratio:auto;}
.vendimia-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);}
.vendimia-img:hover img{transform:scale(1.07);}
@media(max-width:760px){.vendimia-grid{grid-template-columns:1fr 1fr;}.vendimia-img.tall{grid-row:auto;aspect-ratio:4/3;}}

/* toast */
.toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);
  background:var(--bg-3);border:1px solid var(--line-2);border-radius:14px;
  padding:12px 16px;display:flex;align-items:center;gap:14px;z-index:120;
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.85);opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.toast-check{width:30px;height:30px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;flex-shrink:0;}
.toast-text{font-size:0.86rem;color:var(--ink);}
.toast-view{color:var(--gold);font-weight:600;font-size:0.8rem;letter-spacing:0.04em;}

/* ============================================================
   STATS
   ============================================================ */
.stats{padding:14vh 0;background:var(--bg-2);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.stat{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.stat-num{font-family:var(--ff-display);font-weight:800;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-0.02em;color:#fff;line-height:1;}
.stat-tick{height:1px;width:40px;background:var(--gold);}
.stat-label{font-weight:600;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-3);}

/* ============================================================
   HISTORIA / TIMELINE
   ============================================================ */
.historia{padding:18vh 0;background:var(--bg);}
.timeline{position:relative;max-width:1000px;margin:0 auto;}
.timeline-svg{position:absolute;left:50%;top:0;transform:translateX(-50%);height:100%;width:4px;z-index:0;overflow:visible;}
.timeline-node{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:90px;z-index:1;}
.timeline-node:last-child{margin-bottom:0;}
.timeline-content{opacity:0;}
.timeline-content .year{font-family:var(--ff-display);font-weight:800;font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-0.025em;color:#fff;line-height:0.9;margin-bottom:10px;}
.timeline-content .tl-title{font-family:var(--ff-display);font-weight:700;font-size:1.2rem;color:var(--gold);margin-bottom:12px;letter-spacing:-0.01em;}
.timeline-content p{color:var(--ink-2);max-width:38ch;}
.timeline-node.left .timeline-content{grid-column:1;text-align:right;justify-self:end;}
.timeline-node.left .timeline-content p{margin-left:auto;}
.timeline-node.right .timeline-content{grid-column:3;text-align:left;}
.timeline-marker{
  grid-column:2;width:16px;height:16px;border-radius:50%;background:var(--bg);
  border:2px solid var(--gold);position:relative;z-index:2;justify-self:center;
  transition:background .4s var(--ease),box-shadow .4s var(--ease);
}
.timeline-marker.lit{background:var(--wine);box-shadow:0 0 18px var(--halo-red);}

/* ============================================================
   LOCALES
   ============================================================ */
.locales{padding:16vh 0;background:var(--bg-2);}
.locales-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.local-card{
  background:var(--bg-3);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  display:flex;flex-direction:column;opacity:0;
}
.local-map{position:relative;}
.local-map iframe{
  width:100%;height:300px;border:0;display:block;
  filter:invert(0.9) hue-rotate(180deg) brightness(0.9) contrast(0.95) saturate(0.6);
}
.local-info{padding:26px;display:flex;flex-direction:column;gap:12px;}
.local-tag{font-weight:600;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--wine);}
.local-name{color:#fff;}
.local-meta{display:flex;flex-direction:column;gap:8px;margin-top:2px;}
.local-meta-row{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:0.92rem;}
.local-meta-row svg{color:var(--gold);flex-shrink:0;}
.local-btns{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap;}
.local-btns .btn{flex:1;min-width:140px;}
.btn-wa-ghost{background:transparent;border:1px solid rgba(37,211,102,0.45);color:var(--wa);}
.btn-wa-ghost:hover{background:rgba(37,211,102,0.1);border-color:var(--wa);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--bg-2);padding:80px 0 36px;position:relative;}
.footer-rule{height:1px;background:var(--gold);width:100%;transform:scaleX(0);transform-origin:left;margin-bottom:60px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:56px;}
.footer-brand .wordmark{font-family:"Pinyon Script",cursive;font-weight:400;font-size:2.8rem;line-height:0.9;color:#fff;letter-spacing:0;text-transform:none;margin-bottom:14px;}
.footer-brand .f-tagline{color:var(--gold);font-size:0.85rem;letter-spacing:0.04em;margin-bottom:14px;}
.footer-brand p{color:var(--ink-2);font-size:0.92rem;max-width:34ch;margin-bottom:22px;}
.footer-social{display:flex;gap:12px;}
.social-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);color:var(--ink-2);display:grid;place-items:center;transition:all .25s var(--ease);}
.social-btn:hover{border-color:var(--wine);color:#fff;}
.social-btn.wa{color:var(--wa);}
.social-btn.wa:hover{border-color:var(--wa);}
.footer-col h4{font-weight:600;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col a,.footer-col li{color:var(--ink-2);font-size:0.92rem;transition:color .2s var(--ease);}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.footer-bottom .copy{color:var(--ink-3);font-size:0.82rem;}
.footer-alert{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:0.75rem;justify-content:center;}
.footer-alert svg{color:var(--wine);flex-shrink:0;}

/* float WA */
.float-wa{
  position:fixed;right:22px;bottom:22px;z-index:70;
  width:56px;height:56px;border-radius:50%;background:var(--wa);color:#06301a;
  display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(37,211,102,0.6);
  transition:transform .25s var(--ease);
}
.float-wa:hover{transform:scale(1.08);}

/* ============================================================
   CART DRAWER (load-bearing classes) — dark
   ============================================================ */
.cart-overlay{
  position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.62);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease);
}
.cart-overlay.open{opacity:1;pointer-events:auto;}
.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:201;width:min(440px,92vw);
  background:var(--bg-3);border-left:1px solid var(--line);
  display:flex;flex-direction:column;transform:translateX(100%);
  transition:transform .4s var(--ease);box-shadow:-30px 0 60px -20px rgba(0,0,0,0.7);
}
.cart-drawer.open{transform:translateX(0);}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line);}
.cart-header h3{font-family:var(--ff-display);font-weight:700;font-size:1.3rem;color:#fff;}
.cart-close{color:var(--ink-2);padding:6px;border-radius:8px;transition:all .2s var(--ease);}
.cart-close:hover{color:#fff;background:var(--bg-2);}
.cart-body{flex:1;overflow-y:auto;padding:18px 24px;}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100%;text-align:center;padding:40px 0;}
.cart-empty-icon{width:72px;height:72px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--wine);}
.cart-empty p{color:var(--ink-2);}
.cart-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.cart-item-img{width:64px;height:80px;border-radius:10px;background:radial-gradient(circle at 50% 60%,rgba(193,18,31,0.22),var(--bg-2) 70%);border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;overflow:hidden;}
.cart-item-img img{width:100%;height:100%;object-fit:contain;padding:6px;filter:drop-shadow(0 4px 6px rgba(0,0,0,0.5));}
.cart-item-info{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;}
.cart-item-line{font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3);}
.cart-item-name{font-family:var(--ff-display);font-weight:600;font-size:0.98rem;color:#fff;line-height:1.2;}
.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;}
.qty-control{display:flex;align-items:center;gap:4px;border:1px solid var(--line-2);border-radius:999px;padding:3px;}
.qty-btn{width:26px;height:26px;border-radius:50%;color:var(--ink-2);display:grid;place-items:center;transition:all .18s var(--ease);}
.qty-btn:hover{background:var(--bg-2);color:#fff;}
.qty-val{min-width:22px;text-align:center;font-weight:600;font-size:0.9rem;color:#fff;}
.cart-item-price{font-family:var(--ff-display);font-weight:700;font-size:1rem;color:#fff;}
.cart-item-remove{align-self:flex-start;color:var(--ink-3);font-size:0.78rem;transition:color .2s var(--ease);text-decoration:underline;text-underline-offset:2px;}
.cart-item-remove:hover{color:var(--wine-2);}
.cart-foot{padding:22px 24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px;}
.cart-foot .btn{width:100%;}
.cart-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.cart-total-label{color:var(--ink-2);font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;}
.cart-total-amt{font-family:var(--ff-display);font-weight:800;font-size:1.5rem;color:#fff;}

/* ============================================================
   MODAL (order + success) — dark
   ============================================================ */
.modal-overlay{
  position:fixed;inset:0;z-index:210;background:rgba(0,0,0,0.72);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:grid;place-items:center;padding:24px;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.modal-overlay.open{opacity:1;pointer-events:auto;}
.modal{
  width:min(560px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;
  background:var(--bg-3);border:1px solid var(--line);border-radius:22px;
  transform:translateY(16px) scale(0.98);transition:transform .35s var(--ease);
  box-shadow:0 40px 80px -30px rgba(0,0,0,0.85);
}
.modal-overlay.open .modal{transform:translateY(0) scale(1);}
.modal-head{padding:22px 28px 6px;flex-shrink:0;}
.modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.modal-head h3{font-family:var(--ff-display);font-weight:700;font-size:1.4rem;color:#fff;margin-bottom:6px;}
.modal-head p{color:var(--ink-2);font-size:0.88rem;line-height:1.5;}
.modal-body{padding:14px 28px;display:flex;flex-direction:column;gap:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group label{font-weight:600;font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-3);}
.form-group input,.form-group textarea{
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:11px;
  padding:12px 14px;color:var(--ink);font-size:0.92rem;transition:border-color .2s var(--ease);resize:none;
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-3);}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--wine);}
.radio-group{display:flex;gap:12px;}
.radio-option{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:13px;border:1px solid var(--line-2);border-radius:11px;color:var(--ink-2);
  font-size:0.88rem;font-weight:500;cursor:pointer;transition:all .2s var(--ease);
}
.radio-option svg{color:var(--ink-3);}
.radio-option:hover{border-color:var(--ink-3);}
.radio-option.selected{border-color:var(--wine);background:rgba(193,18,31,0.1);color:#fff;}
.radio-option.selected svg{color:var(--wine);}
.pay-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.pay-method{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  padding:12px 14px;border:1px solid var(--line-2);border-radius:11px;text-align:left;transition:all .2s var(--ease);
}
.pay-method:hover{border-color:var(--ink-3);}
.pay-method.selected{border-color:var(--wine);background:rgba(193,18,31,0.1);}
.pay-method-name{font-weight:600;font-size:0.9rem;color:#fff;}
.pay-method-sub{font-size:0.74rem;color:var(--ink-3);}
.modal-total-box{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;
}
.modal-total-label{font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;}
.modal-total-amt{font-family:var(--ff-display);font-weight:800;font-size:1.6rem;color:#fff;line-height:1;}
.modal-foot{padding:16px 28px 22px;display:flex;gap:14px;flex-shrink:0;border-top:1px solid var(--line);background:var(--bg-3);}
.modal-foot .btn{flex:1;}
.success-check{
  width:84px;height:84px;border-radius:50%;background:rgba(37,211,102,0.12);border:1px solid rgba(37,211,102,0.4);
  color:var(--wa);display:grid;place-items:center;margin:0 auto 20px;
}

/* ============================================================
   REVEAL helper
   ============================================================ */
[data-reveal]{opacity:0;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1023px){
  .spec-block{position:static;max-width:none;align-items:flex-start;text-align:left;}
  .spec-block.tr,.spec-block.br{align-items:flex-start;text-align:left;}
  .spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;width:100%;max-width:420px;margin:0 auto;}
  .hero-bottom{position:relative;bottom:auto;margin-top:30px;}
  .hero-top{position:relative;top:auto;margin-bottom:20px;}
  .hero{display:flex;flex-direction:column;justify-content:flex-start;}
  .hero-video{max-height:46vh;margin:10px auto;}
  .hero-layer{position:relative;inset:auto;padding:0 20px;}
  .scroll-hint{display:none;}
}

@media (max-width:860px){
  .nav-links{display:none;}
  .nav-burger{display:grid;place-items:center;}
  .nav-lang{display:none;}
  /* el wordmark script tiene su peso visual abajo (+ línea dorada): bajamos los
     iconos un poco para que queden ópticamente alineados con "Don Polo" */
  .nav-right{transform:translateY(4px);}
  .stats-grid{grid-template-columns:1fr 1fr;gap:40px 20px;}
  .timeline-svg{left:9px;transform:none;width:2px;}
  .timeline-node{grid-template-columns:20px 1fr;gap:22px;margin-bottom:54px;align-items:start;}
  .timeline-marker{grid-column:1;align-self:start;margin-top:14px;justify-self:start;}
  .timeline-node.left .timeline-content,.timeline-node.right .timeline-content{grid-column:2;text-align:left;justify-self:start;}
  .timeline-node.left .timeline-content p{margin-left:0;}
  .timeline-content .year{font-size:clamp(2.2rem,12vw,3.2rem);}
  .locales-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .footer-brand{grid-column:1 / -1;}
}

@media (max-width:860px){
  .footer{padding-bottom:96px;} /* clear the floating WhatsApp button over the +18 notice */
}

@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .pay-methods{grid-template-columns:1fr;}
  .gate-btns{flex-direction:column;}
  .gate-btns .btn{max-width:none;}
  .hero-video{max-height:42vh;}
  .modal-foot{flex-direction:column;}
  .manifiesto{padding:12vh 0;}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.001ms !important;transition-duration:0.001ms !important;}
  [data-reveal],.timeline-content,.local-card,.manifiesto-quote .word{opacity:1 !important;transform:none !important;}
}
