
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
:root {
  --bg:        #fdf8f2;
  --bg2:       #f5ede0;
  --bg3:       #ede4d3;
  --card:      #ffffff;
  --grn:       #2d6a4f;
  --grn-dk:    #1b4332;
  --grn-lt:    #52b788;
  --grn-pl:    #d8f3dc;
  --txt:       #1a1a1a;
  --txt2:      #5a5a5a;
  --txt3:      #9a9a9a;
  --wa:        #25D366;
  --shd:       rgba(10,40,20,.10);
  --shd2:      rgba(10,40,20,.18);
  --f:         'Poppins',sans-serif;
}
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--txt); font-family:var(--f); font-weight:400; line-height:1.6; overflow-x:hidden; cursor:auto; }

/* CURSOR */
.cursor { display:none; }
.cursor-f { display:none; }

/* NAV */
.nav { position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:16px 56px;transition:background .4s,padding .4s,box-shadow .4s;background:rgba(253,248,242,.9);backdrop-filter:blur(12px); }
.nav.scrolled { background:rgba(253,248,242,.97);padding:10px 56px;box-shadow:0 2px 20px var(--shd); }
.nav-logo { display:flex;align-items:center; }
.nav-logo img { height:64px;width:auto;max-width:240px;display:block;object-fit:contain;flex-shrink:0; }
.nav-links { display:flex;gap:36px;list-style:none; }
.nav-links a { color:var(--txt2);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:color .2s;cursor:pointer; }
.nav-links a:hover { color:var(--grn); }
.nav-cta { background:var(--grn);border:none;color:#fff;font-family:var(--f);font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:10px 22px;border-radius:100px;cursor:pointer;transition:all .25s; }
.nav-cta:hover { background:var(--grn-dk);transform:translateY(-1px);box-shadow:0 6px 20px rgba(45,106,79,.35); }

/* HERO */
.hero {
  min-height: 100vh;
  background: var(--bg);
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  overflow: hidden;
  padding: 0 72px;
  padding-top: 80px;
  z-index: 2;
}
.hero-blob {
  position: absolute;
  top: 50%; right: 4%;
  width: 46%; padding-bottom: 46%;
  transform: translateY(-50%);
  background: radial-gradient(circle, #f5ddd9 0%, var(--bg2) 60%, transparent 80%);
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
}
.hero-glow { display:none; }
.hero-content { position:relative;z-index:2; }
.h-eye {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .7rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase;
  color: var(--grn); margin-bottom: 20px;
}
.h-eye::before { display:none; }
.h-title {
  font-size: clamp(2.8rem, 5.5vw, 5.8rem);
  font-weight: 800; line-height: 1.05;
  color: var(--txt);
  margin-bottom: 20px; letter-spacing: -.03em;
}
.h-title span { display:block; }
.h-title .accent { color: var(--grn); }
.h-sub {
  color: var(--txt2); font-size: .95rem; line-height: 1.8;
  max-width: 420px; margin-bottom: 40px; font-weight: 400;
}
.h-btns { display:flex; gap:14px; margin-bottom: 0; }

.btn { display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--f);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:13px 26px;border-radius:100px;text-decoration:none;cursor:pointer;transition:all .25s;border:none; }
.btn-w {
  background: var(--grn); color: #fff;
  box-shadow: 0 6px 20px rgba(45,106,79,.35);
}
.btn-w:hover {
  background: var(--grn-dk); color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(45,106,79,.4);
}
.btn-o {
  background: #fff; color: var(--txt);
  border: 1.5px solid var(--bg3);
}
.btn-o:hover { border-color: var(--grn); color: var(--grn); }

/* Hero right: product image */
.hero-vis {
  position: relative; z-index: 2;
  display: flex; justify-content: center; align-items: center;
}
.h-img-w { position: relative; animation: fy 4s ease-in-out infinite; }
@keyframes fy { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }
.h-img-w img {
  width: 780px; max-width: 100%;
  filter: drop-shadow(0 32px 52px rgba(10,40,20,.18));
}
.h-badge {
  position: absolute; bottom: 30px; left: -24px;
  background: #fff; border-radius: 18px; padding: 14px 18px;
  box-shadow: 0 8px 32px rgba(10,40,20,.14);
  min-width: 136px;
}
.h-badge-lbl { font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3); }
.h-badge-val { font-size:1.25rem;font-weight:800;color:var(--grn-dk); }
.h-badge-sub { font-size:.68rem;color:var(--txt3);font-weight:400; }
.h-badge2 {
  position: absolute; top: 20px; right: -10px;
  background: var(--grn); color: #fff;
  border-radius: 14px; padding: 10px 16px;
  box-shadow: 0 6px 20px rgba(45,106,79,.35);
  font-size: .72rem; font-weight: 700; letter-spacing: .04em;
  text-align: center; min-width: 100px;
}
.h-badge2 span { display:block; font-size:1.3rem; font-weight:800; line-height:1.1; }

.hero-hint {
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--txt3);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;z-index:2;
}
.hint-line {
  width:1px;height:40px;
  background:linear-gradient(to bottom, var(--txt3), transparent);
  animation:hp 2s ease-in-out infinite;
}
@keyframes hp{0%,100%{opacity:.4}50%{opacity:.9}}

/* STATS */
.stats { background:var(--grn);padding:42px 56px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2; }
.s-item { display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;text-align:center; }
.s-num { font-size:2.5rem;font-weight:800;color:#fff;line-height:1; }
.s-lbl { font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6); }
.s-div { width:1px;height:42px;background:rgba(255,255,255,.2);margin:0 32px; }

/* PRODUCTS */
.prod-out { position:relative;background:var(--bg2);z-index:1; }
.prod-stick { position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;z-index:1; }
.prod-track { display:flex;height:100%;will-change:transform;align-items:center;transition:none; }
.prod-hdr { display:flex;align-items:center;gap:26px;padding:24px 56px 14px;background:var(--bg2);flex-shrink:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.07); }
.prod-lbl { font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grn);white-space:nowrap; }
.prod-ttl { font-size:1.55rem;font-weight:700;color:var(--grn-dk);white-space:nowrap; }
.prod-ttl em { font-style:italic;color:var(--grn);font-weight:600; }
.prod-bar-wrap { flex:1;height:3px;background:rgba(0,0,0,.08);border-radius:3px;overflow:hidden; }
.prod-bar { height:100%;background:var(--grn);border-radius:3px;width:0%;transition:width .12s linear; }
.prod-ctr { font-size:.82rem;font-weight:700;color:var(--grn-dk);white-space:nowrap; }
.prod-track-w { flex:1;overflow:hidden;display:flex;align-items:center; }
.prod-track { display:flex;height:100%;will-change:transform;align-items:center; }

/* SLIDE — tarjeta en tercio inferior, espacio arriba para imagen del plato */
.slide {
  min-width: 100vw;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 56px;
  padding-bottom: 80px;
  gap: 0;
}

/* CARD — más grande en desktop */
.pc { width:400px;flex-shrink:0;background:var(--card);border-radius:24px;padding:30px 30px 34px;box-shadow:0 8px 40px var(--shd2);position:relative;overflow:visible;transition:transform .35s,box-shadow .35s; }
.pc:hover { transform:translateY(-8px);box-shadow:0 22px 60px var(--shd2); }
.pc::before { content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--ca,var(--grn));border-radius:24px 24px 0 0; }

.pc-img { position:relative;display:flex;justify-content:center;margin-top:-110px;margin-bottom:18px; }
.pc-img img { width:220px;height:220px;object-fit:cover;border-radius:50%;filter:drop-shadow(0 16px 30px rgba(10,40,20,.22));transition:transform .4s ease; }
.pc:hover .pc-img img { transform:translateY(-8px) scale(1.04); }

.pc-pbadge { position:absolute;top:10px;right:-6px;background:var(--ca,var(--grn));color:#fff;border-radius:12px;padding:8px 13px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.18);min-width:78px; }
.pc-plbl { font-size:.56rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.85; }
.pc-pmain { font-size:1.1rem;font-weight:800;line-height:1; }

.pc-tag { font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--txt3);margin-bottom:4px;font-style:italic; }
.pc-name { font-size:1.8rem;font-weight:800;color:var(--txt);line-height:1;margin-bottom:10px; }
.pc-desc { font-size:.85rem;color:var(--txt2);line-height:1.7;margin-bottom:20px;font-weight:300; }
.pc-pills { display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px; }
.pc-pill { font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:100px;background:var(--grn-pl);color:var(--grn-dk); }
.pc-wa { display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ca,var(--grn));color:#fff;font-family:var(--f);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:14px 20px;border-radius:100px;text-decoration:none;cursor:pointer;transition:all .25s;border:none;width:100%; }
.pc-wa:hover { filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2); }

/* PANEL — oculto */
.panel { display:none; }

/* STORY / QUIÉNES SOMOS */
.story { background:var(--grn-dk);min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding:100px 56px;z-index:3;box-shadow:0 -8px 40px rgba(0,0,0,.25); }
.story-bg { position:absolute;inset:0;background:radial-gradient(ellipse at 74% 50%,rgba(231,76,60,.18) 0%,transparent 64%);pointer-events:none; }
.story-grid { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1200px;margin:0 auto;width:100%; }
.s-eye { font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grn-lt);margin-bottom:32px;display:block; }
.s-head { font-size:clamp(2.3rem,3.9vw,4.4rem);font-weight:800;line-height:1.05;color:#fff;margin-bottom:18px;letter-spacing:-.02em; }
.s-head em { font-style:italic;color:var(--grn-lt);font-weight:700; }
.s-script { font-size:1.35rem;font-style:italic;font-weight:300;color:rgba(255,255,255,.17);letter-spacing:.02em;margin-top:10px; }
.s-p { color:rgba(255,255,255,.65);font-size:.9rem;line-height:1.9;margin-bottom:20px;max-width:490px;font-weight:300; }
.s-quote { margin-top:38px;border-left:3px solid var(--grn-lt);padding-left:22px; }
.s-quote blockquote { font-size:1.3rem;font-style:italic;font-weight:600;color:#fff;line-height:1.4;margin-bottom:9px; }
.s-quote cite { font-size:.76rem;color:rgba(255,255,255,.38);font-style:normal;font-weight:500;letter-spacing:.06em; }
.s-deco { position:absolute;inset:0;pointer-events:none;overflow:hidden; }
.s-deco span { position:absolute;font-size:5rem;opacity:.04; }
.s-deco span:nth-child(1){top:8%;right:4%;animation:bflt 14s ease-in-out infinite}
.s-deco span:nth-child(2){top:52%;right:18%;font-size:3.4rem;animation:bflt 18s ease-in-out infinite;animation-delay:5s}
.s-deco span:nth-child(3){bottom:7%;left:4%;font-size:4rem;animation:bflt 12s ease-in-out infinite;animation-delay:9s}
@keyframes bflt{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(18deg)}}

/* PROCESS */
.process { background:var(--bg);padding:108px 56px;text-align:center;position:relative;z-index:3; }
.pr-eye { font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grn);margin-bottom:14px; }
.pr-head { font-size:clamp(2.1rem,3.4vw,3.7rem);font-weight:800;color:var(--grn-dk);margin-bottom:66px;letter-spacing:-.02em; }
.pr-head em { font-style:italic;color:var(--grn); }
.pr-grid { display:flex;align-items:stretch;justify-content:center;max-width:1080px;margin:0 auto; }
.pr-card { flex:1;padding:34px 26px;background:var(--card);border-radius:20px;transition:transform .3s,box-shadow .3s;margin:0 7px;box-shadow:0 2px 14px var(--shd); }
.pr-card:hover { transform:translateY(-8px);box-shadow:0 16px 48px var(--shd2); }
.pr-n { font-size:2.7rem;font-weight:800;color:rgba(45,106,79,.12);line-height:1;margin-bottom:9px; }
.pr-icon { font-size:2rem;margin-bottom:12px; }
.pr-card h4 { font-size:.92rem;font-weight:700;color:var(--grn-dk);margin-bottom:9px; }
.pr-card p { font-size:.78rem;color:var(--txt2);line-height:1.75;font-weight:300; }
.pr-arr { font-size:1.1rem;color:var(--grn);opacity:.4;padding:0 3px;flex-shrink:0;align-self:center; }

/* CTA */
.cta { background:var(--grn-dk);min-height:74vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:86px 56px;z-index:3; }
.cta-shape { display:none; }
.cta-box { position:relative;z-index:2;text-align:center;max-width:620px; }
.cta-eye { font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grn-lt);margin-bottom:18px; }
.cta-head { font-size:clamp(2.7rem,4.8vw,5.3rem);font-weight:800;line-height:.96;color:#fff;margin-bottom:22px;letter-spacing:-.02em; }
.cta-sub { color:rgba(255,255,255,.48);font-size:.9rem;line-height:1.8;margin-bottom:42px;font-weight:300; }
.cta-script { font-size:1.35rem;font-style:italic;font-weight:300;color:rgba(255,255,255,.14);margin-top:42px;letter-spacing:.02em; }

/* BTN-WA */
.btn-wa { display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#fff;font-family:var(--f);font-size:.86rem;font-weight:700;letter-spacing:.04em;padding:15px 30px;border-radius:100px;text-decoration:none;cursor:pointer;transition:all .25s;border:none; }
.btn-wa:hover { background:#1fba57;transform:translateY(-3px) scale(1.02);box-shadow:0 10px 32px rgba(37,211,102,.38); }
.btn-wa-lg { font-size:1rem;padding:17px 38px; }

/* FOOTER */
.footer { background:#0a1f0e;padding:54px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px; }
.footer img { height:38px;width:auto;margin-bottom:3px;object-fit:contain; }
.footer-sub { font-size:.7rem;font-weight:500;letter-spacing:.1em;color:rgba(255,255,255,.24);text-transform:uppercase; }
.footer-links { display:flex;gap:30px;margin-top:6px; }
.footer-links a { font-size:.76rem;color:rgba(255,255,255,.38);text-decoration:none;letter-spacing:.05em;transition:color .2s;cursor:pointer;font-weight:500; }
.footer-links a:hover { color:var(--grn-lt); }
.footer-copy { font-size:.66rem;color:rgba(255,255,255,.14);margin-top:9px; }

/* =====================================================
   CARRITO DE COMPRAS
   ===================================================== */

/* Botón agregar al carrito — reemplaza el btn de WA en la tarjeta */
.pc-add {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ca, var(--grn)); color: #fff;
  font-family: var(--f); font-size: .8rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  padding: 12px 20px; border-radius: 100px;
  cursor: pointer; transition: all .25s; border: none; width: 100%;
  margin-top: 0;
}
.pc-add:hover { filter: brightness(1.12); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.pc-add:active { transform: scale(.97); }
.pc-add.added { background: var(--grn-dk) !important; }

/* Ícono flotante del carrito */
.cart-fab {
  position: fixed; bottom: 32px; right: 32px; z-index: 500;
  width: 62px; height: 62px;
  background: var(--grn); color: #fff;
  border-radius: 50%; border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 0 8px 28px rgba(27,67,50,.4);
  transition: transform .25s, box-shadow .25s;
}
.cart-fab:hover { transform: scale(1.08); box-shadow: 0 12px 36px rgba(27,67,50,.5); }
.cart-fab.hidden { display: none; }
.cart-fab svg { width: 26px; height: 26px; }
.cart-count {
  position: absolute; top: -4px; right: -4px;
  background: #e63946; color: #fff;
  font-size: .65rem; font-weight: 800;
  width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff;
  transition: transform .2s;
}
.cart-count.bump { animation: countBump .3s ease; }
@keyframes countBump { 0%{transform:scale(1)} 50%{transform:scale(1.5)} 100%{transform:scale(1)} }

/* Overlay */
.cart-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.45);
  z-index: 600; opacity: 0; pointer-events: none;
  transition: opacity .3s;
}
.cart-overlay.open { opacity: 1; pointer-events: all; }

/* Panel lateral del carrito */
.cart-panel {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 420px; max-width: 100vw;
  background: var(--bg); z-index: 700;
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow: -8px 0 40px rgba(0,0,0,.15);
}
.cart-panel.open { transform: translateX(0); }

.cart-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--bg3);
  flex-shrink: 0;
}
.cart-panel-title {
  font-size: 1.1rem; font-weight: 700; color: var(--grn-dk);
}
.cart-panel-title span {
  font-size: .75rem; font-weight: 500; color: var(--txt3); margin-left: 8px;
}
.cart-close {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--bg3); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--txt2); transition: background .2s;
  font-size: 1.1rem; font-weight: 300;
}
.cart-close:hover { background: var(--bg2); }

/* Lista de items */
.cart-items {
  flex: 1; overflow-y: auto; padding: 20px 28px;
  display: flex; flex-direction: column; gap: 14px;
}
.cart-empty {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 12px;
  color: var(--txt3); font-size: .9rem; text-align: center;
  padding: 40px;
}
.cart-empty svg { opacity: .3; }

.cart-item {
  display: flex; align-items: center; gap: 14px;
  background: #fff; border-radius: 16px; padding: 14px 16px;
  box-shadow: 0 2px 10px var(--shd);
}
.cart-item-color {
  width: 10px; height: 48px; border-radius: 6px; flex-shrink: 0;
}
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name { font-size: .88rem; font-weight: 700; color: var(--txt); line-height: 1.2; }
.cart-item-sub { font-size: .72rem; color: var(--txt3); margin-top: 2px; }
.cart-item-qty {
  display: flex; align-items: center; gap: 8px; flex-shrink: 0;
}
.qty-btn {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--bg2); border: none; cursor: pointer;
  font-size: 1rem; font-weight: 700; color: var(--grn-dk);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; line-height: 1;
}
.qty-btn:hover { background: var(--grn-pl); }
.qty-num { font-size: .95rem; font-weight: 700; color: var(--txt); min-width: 20px; text-align: center; }
.cart-item-remove {
  width: 28px; height: 28px; border-radius: 50%;
  background: #fee2e2; border: none; cursor: pointer;
  color: #e63946; font-size: .9rem;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; flex-shrink: 0;
}
.cart-item-remove:hover { background: #fecaca; }

/* Footer del carrito */
.cart-footer {
  padding: 20px 28px 28px;
  border-top: 1px solid var(--bg3);
  flex-shrink: 0;
}
.cart-summary {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px;
}
.cart-summary-label { font-size: .82rem; color: var(--txt2); font-weight: 500; }
.cart-summary-val { font-size: 1.1rem; font-weight: 800; color: var(--grn-dk); }
.cart-notes-label { font-size: .78rem; font-weight: 600; color: var(--txt2); margin-bottom: 8px; }
.cart-notes {
  width: 100%; padding: 12px 14px;
  border: 1.5px solid var(--bg3); border-radius: 12px;
  font-family: var(--f); font-size: .82rem; color: var(--txt);
  background: #fff; resize: none; outline: none;
  margin-bottom: 16px; transition: border-color .2s;
}
.cart-notes:focus { border-color: var(--grn); }
.cart-submit {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 16px;
  background: var(--wa); color: #fff;
  font-family: var(--f); font-size: .92rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  border: none; border-radius: 100px; cursor: pointer;
  transition: all .25s;
  box-shadow: 0 6px 20px rgba(37,211,102,.35);
}
.cart-submit:hover { background: #1fba57; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(37,211,102,.4); }
.cart-submit:disabled { background: var(--txt3); box-shadow: none; cursor: not-allowed; transform: none; }

/* Toast notificación */
.cart-toast {
  position: fixed; bottom: 110px; right: 32px; z-index: 800;
  background: var(--grn-dk); color: #fff;
  padding: 12px 20px; border-radius: 100px;
  font-size: .82rem; font-weight: 600;
  transform: translateY(20px); opacity: 0;
  transition: all .3s; pointer-events: none;
  white-space: nowrap;
}
.cart-toast.show { transform: translateY(0); opacity: 1; }

@media(max-width:600px){
  .cart-panel { width: 100vw; }
  .cart-fab { bottom: 20px; right: 20px; width: 54px; height: 54px; }
  .cart-toast { bottom: 90px; right: 16px; left: 16px; text-align: center; }
}

/* REVEAL */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].revealed{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr;padding:56px 28px}
  .hero-content{padding-top:106px}
  .hero-vis{display:none}
  .nav,.nav.scrolled{padding:14px 28px}
  .nav-links{display:none}
  .stats{flex-wrap:wrap;gap:26px;padding:34px 28px}
  .s-div{display:none}
  .story-grid{grid-template-columns:1fr;gap:42px}
  .pr-grid{flex-wrap:wrap;gap:12px}
  .pr-arr{display:none}
  .slide{padding:0 20px;padding-bottom:40px}
  .pc{width:100%;max-width:420px}
  .prod-hdr{padding:14px 24px 10px;flex-wrap:wrap;gap:10px}
  .cta,.story,.process{padding:70px 28px}
  .footer{padding:38px 28px}
}

@media(max-width:600px){
  /* HERO MOBILE — imagen centrada arriba, título abajo */
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-items: flex-start;
    padding: 100px 24px 36px;
    min-height: 100vh;
    gap: 0;
  }
  .hero-content {
    padding-top: 0;
    order: 2;
  }
  .hero-vis {
    display: flex !important;
    order: 1;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 24px;
    margin-top: 24px;
    position: relative;
  }
  .h-img-w img {
    width: 280px;
    max-width: 80vw;
  }
  .h-badge {
    display: block;
    bottom: -16px;
    left: -16px;
    right: auto;
    padding: 9px 13px;
    min-width: 90px;
  }
  .h-badge-val { font-size:.95rem; }
  .h-badge-sub { font-size:.6rem; }
  .h-badge2 {
    top: 12px;
    right: -8px;
    left: auto;
    font-size: .62rem;
    padding: 6px 11px;
    min-width: 80px;
  }
  .h-badge2 span { font-size:1.05rem; }
  .hero-blob {
    width: 85%; padding-bottom: 85%;
    top: 8%; right: -10%;
    transform: none;
  }
  /* Scroll hint más abajo para no tocar botones */
  .hero-hint { bottom: 10px; }

  /* TEXTOS más pequeños */
  .h-eye { font-size:.62rem; margin-bottom:10px; }
  .h-title { font-size:2.4rem; margin-bottom:12px; }
  .h-sub { font-size:.82rem; margin-bottom:22px; }
  .h-btns { flex-direction:column; gap:10px; }
  .btn { font-size:.76rem; padding:11px 22px; }

  /* PRODUCTOS mobile */
  .slide{padding:0 32px;padding-bottom:16px;align-items:center}
  .pc{width:100%;max-width:300px;padding:22px 20px 26px}
  .pc-img img{width:150px;height:150px}
  .pc-img{margin-top:-90px;margin-bottom:12px}
  .pc-name{font-size:1.4rem}
  .pc-desc{font-size:.78rem}

  body{cursor:auto}
  .cursor,.cursor-f{display:none}
}
