/* ===================================================================
   MaletaZen v2 — heroes, caminos, flash, filtros, recomendaciones
   =================================================================== */
.section-sm{padding:30px 0}
.crumbs--light{color:rgba(255,255,255,.75)}.crumbs--light a:hover{color:#fff}

/* Hero home split */
.hero-split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:92px 0 96px}
.hero-copy{max-width:600px}
.hero-trust{list-style:none;display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;padding:0}
.hero-trust li{font-size:.85rem;color:#cfc3b1}
.hero-visual{position:relative;display:block;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  transform:rotate(1.4deg);transition:transform .5s var(--ease)}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 50%,rgba(20,17,13,.45))}
.hero-visual img{width:100%;aspect-ratio:1;object-fit:cover}
.hero-visual:hover{transform:rotate(0) scale(1.01)}
.hero-visual-tag{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(255,255,255,.92);color:var(--brand);
  font-weight:600;font-size:.82rem;padding:8px 14px;border-radius:999px;backdrop-filter:blur(4px)}

.hero--flash{background:radial-gradient(80% 130% at 80% 0%,rgba(169,118,47,.4),transparent 55%),linear-gradient(160deg,#2a201a,#16120d)}

/* Caminos (mood) */
.paths-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.path{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;gap:6px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.path:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.path-ico{font-size:1.7rem;margin-bottom:6px}
.path strong{font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--brand)}
.path span{font-size:.86rem;color:var(--muted)}

/* Flash */
.flash-tag{display:inline-block;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:6px 13px;border-radius:999px;margin-bottom:10px}
.flash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.countdown{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.8rem;color:var(--muted)}
.cd-clock{font-family:var(--serif);font-size:1.55rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.flash-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#2a201a;color:#f0e4d3;
  padding:12px 18px;border-radius:var(--radius-sm);margin-bottom:22px;font-size:.9rem}
.flash-strip .cd-clock{color:var(--accent-soft);font-size:1.2rem}
.flash-next{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--accent-bg);border:1px dashed var(--line-2);border-radius:var(--radius);padding:24px 28px}
.flash-next p{margin:0;color:#5b4f3f}.flash-next .cd-clock{font-size:1.1rem}
.flash-empty{display:flex;flex-direction:column;align-items:center;gap:14px}
.grid--flash .card{border-color:var(--accent-soft)}
.badge-flash{background:var(--accent);color:#fff}
.card--flash .card-media::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px var(--accent-soft);pointer-events:none}
.price-now{color:var(--accent)}
.price-was,.product-price-was{color:var(--muted);text-decoration:line-through;font-weight:400;font-size:.85em;margin-left:8px}
.card-price .price-now{font-weight:600}
.save-pill{background:#eaf5ed;color:var(--ok);font-size:.8rem;font-weight:600;padding:5px 11px;border-radius:999px}

.card-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600}
/* Anti-desborde: las tarjetas pueden encoger y los nombres largos se parten */
.card,.grid>*,.grid--shop>*,.grid--reco>*,.grid--flash>*{min-width:0}
.card-title,.card-eyebrow,.card-price{overflow-wrap:anywhere}

/* Categorías con imagen */
.cat-grid--img{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cat-card{position:relative;display:flex;align-items:flex-end;min-height:220px;border-radius:var(--radius);overflow:hidden;
  background-image:var(--bg);background-size:cover;background-position:center;border:1px solid var(--line);
  transition:transform .4s var(--ease),box-shadow .4s}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.05) 30%,rgba(20,17,13,.82));transition:background .3s}
.cat-card:hover .cat-card-overlay{background:linear-gradient(180deg,rgba(20,17,13,.2) 10%,rgba(20,17,13,.88))}
.cat-card-body{position:relative;z-index:2;padding:20px;color:#fff}
.cat-card-name{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:500}
.cat-card-count{font-size:.82rem;color:rgba(255,255,255,.78)}

/* Hero de categoría */
.cat-hero{position:relative;min-height:340px;display:flex;align-items:flex-end;overflow:hidden;background:#17120d}
/* Imagen en pseudo-elemento: permite filtro de color "editorial" sin afectar al texto */
.cat-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--bg);background-size:cover;background-position:center;
  filter:saturate(1.15) contrast(1.06) brightness(.94);
  transform:scale(1.06);transition:transform 1.4s var(--ease)}
.cat-hero:hover::before{transform:scale(1.11)}
/* Scrim vertical para legibilidad + viñeta cálida + tinte de marca = look unificado y pro */
.cat-hero-overlay{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(20,17,13,.30) 0%,rgba(20,17,13,.05) 38%,rgba(15,12,9,.82) 100%),
    radial-gradient(130% 90% at 22% 115%,rgba(15,12,9,.85) 0%,transparent 58%),
    linear-gradient(115deg,rgba(150,86,52,.28) 0%,transparent 55%);
  box-shadow:inset 0 0 160px 20px rgba(10,7,4,.55)}
.cat-hero-inner{position:relative;z-index:2;color:#f4ece0;padding:60px 0 42px}
.cat-hero-inner h1{color:#fff;font-size:clamp(2rem,5vw,3.2rem);font-weight:400;margin:10px 0 0}
.cat-hero-intro{max-width:62ch;margin-top:14px;color:#d8cdbd}
.shop-h1{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:400;margin-top:6px}

/* Subcategorías (chips) */
.subchips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 20px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--line-2);border-radius:999px;
  font-size:.86rem;font-weight:500;color:var(--ink);background:#fff;transition:.2s;white-space:nowrap}
.chip span{font-size:.74rem;color:var(--muted)}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}
.chip.is-active span{color:rgba(255,255,255,.65)}

/* Filtros */
.filters{margin-bottom:26px;border-bottom:1px solid var(--line);padding-bottom:18px}
.filters-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.filter-search{display:flex;align-items:center;gap:9px;flex:1;min-width:220px;border:1px solid var(--line-2);border-radius:999px;padding:0 16px;background:#fff}
.filter-search svg{color:var(--muted);flex:none}
.filter-search input{flex:1;border:0;background:transparent;padding:12px 0;font-size:.92rem;outline:0;color:var(--ink)}
.filters select{padding:11px 16px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:.88rem;color:var(--ink)}
.filter-check{flex-direction:row;align-items:center;gap:8px;font-size:.86rem;color:var(--ink);font-weight:500;white-space:nowrap}
.filters-count{margin-top:14px;font-size:.88rem;color:var(--muted)}
.filters-count strong{color:var(--ink)}
.filters-clear{margin-left:12px;color:var(--accent);font-weight:600}

/* Tips */
.tips-sec{background:var(--accent-bg);border-radius:var(--radius);padding:40px;margin-top:10px}
.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.tip{display:flex;gap:14px;align-items:flex-start}
.tip-num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600}
.tip p{margin:0;color:#5b4f3f;font-size:.94rem}

/* Recomendaciones / sticky buy */
.grid--reco{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);box-shadow:0 -8px 30px -16px rgba(40,28,14,.4);padding:12px 0}
.sticky-buy-inner{display:flex;align-items:center;gap:14px}
.sticky-name{font-weight:600;font-size:.92rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-price{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--brand)}
@media(min-width:761px){.sticky-buy{display:none!important}}

/* Responsive v2 */
@media(max-width:920px){
  .hero-split{grid-template-columns:1fr;gap:32px;padding:64px 0 70px}
  .hero-visual{max-width:380px}
}
@media(max-width:560px){
  .paths-grid{grid-template-columns:1fr 1fr}
  .flash-head{flex-direction:column;align-items:flex-start}
  .countdown{align-items:flex-start}
  .tips-sec{padding:28px 20px}
}

/* Header: una sola línea por item */
.main-nav ul{gap:24px}
.main-nav a{white-space:nowrap}
@media(max-width:1080px) and (min-width:761px){.main-nav ul{gap:16px}.main-nav a{font-size:.86rem}}

/* Carrito: incentivo + progreso + peaje */
.cart-incentive{background:var(--accent-bg);border:1px solid var(--line-2);border-radius:var(--radius);padding:18px 22px;margin-bottom:24px;display:flex;flex-direction:column;gap:10px}
.cart-incentive p{margin:0;color:#5b4f3f;font-size:.95rem}
.cart-incentive .link-more{align-self:flex-start}
.progress{height:9px;background:#e6dac6;border-radius:999px;overflow:hidden}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent));border-radius:999px;transition:width .5s var(--ease)}
.fee-line span:last-child{color:var(--err);font-weight:600}
.mini-flash{display:inline-block;background:var(--accent);color:#fff;font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:999px;margin-left:6px}
.cart-secure{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:.82rem;margin-top:12px}
.cart-secure svg{color:var(--ok)}

/* Ficha: resumen destacado */
.product-lead{font-size:1.08rem;line-height:1.7;color:#574c3e;margin:0 0 22px;font-family:var(--serif);font-style:italic}

/* Barra de anuncio (gancho flash) */
.announce-inner{cursor:pointer;transition:color .2s}
.announce-flash{font-weight:700;color:var(--accent-soft);letter-spacing:.02em}
.announce-sep{color:rgba(255,255,255,.3)}
.announce-cta{font-weight:600;color:#fff;border-bottom:1px solid var(--accent-soft);padding-bottom:1px}
.announce-inner:hover .announce-cta{color:var(--accent-soft)}
@media(max-width:680px){.announce-sep,.announce-inner span:nth-child(3){display:none}}

/* Sección "drops" (bombo ofertas flash) */
.drops{background:radial-gradient(90% 140% at 100% 0%,rgba(169,118,47,.5),transparent 55%),linear-gradient(150deg,#241d15,#16120d);color:#f3ece0}
.drops-inner{display:grid;grid-template-columns:1.4fr .9fr;gap:40px;align-items:center;padding:64px 0}
.drops-copy h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;margin:6px 0 16px}
.drops-copy h2 em{color:var(--accent-soft);font-style:italic}
.drops-copy p{color:#cfc3b1;max-width:52ch;margin-bottom:24px}
.drops-copy strong{color:#fff}
.drops-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;
  border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:38px 28px;background:rgba(255,255,255,.03)}
.drops-bolt{font-size:2.4rem}
.drops-label{color:#a89a86;font-size:.85rem;letter-spacing:.04em}
.drops-clock .cd-clock,.drops-clock b{font-family:var(--serif);font-size:2.4rem;color:var(--accent-soft);font-variant-numeric:tabular-nums}
@media(max-width:760px){.drops-inner{grid-template-columns:1fr;gap:26px;padding:46px 0}.drops-clock{padding:28px}}

/* Hero carrusel */
.hero-carousel{position:relative;overflow:hidden;background:var(--brand)}
.hc-track{display:flex;transition:transform .8s var(--ease)}
.hc-slide{position:relative;min-width:100%;display:flex;align-items:center;min-height:clamp(480px,64vh,660px);overflow:hidden}
/* fondo: la propia imagen difuminada, atmosférica */
.hc-bg{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;
  filter:brightness(.62) saturate(1.08);transform:scale(1.04)}
.hc-overlay{position:absolute;inset:0;background:
  radial-gradient(75% 95% at 16% 38%,rgba(18,15,11,.55),transparent 62%),
  linear-gradient(108deg,rgba(18,15,11,.93) 0%,rgba(18,15,11,.7) 46%,rgba(24,19,14,.34) 100%)}
.hc-glow{position:absolute;right:6%;top:50%;width:min(48vw,560px);height:min(48vw,560px);transform:translateY(-50%);
  background:radial-gradient(circle,rgba(201,163,106,.45),rgba(201,163,106,.12) 45%,transparent 70%);filter:blur(8px);pointer-events:none}
.hc-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;width:90%;max-width:var(--maxw);margin-inline:auto;padding:48px 0}
.hc-text{color:#f4ece0;max-width:560px}
.hc-title{font-family:var(--serif);color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:400;line-height:1.03;margin:14px 0 18px}
.hc-title em{font-style:italic;color:var(--accent-soft)}
.hc-slide .hero-sub{color:#d8cdbd;max-width:46ch}
.hc-slide .eyebrow{color:var(--accent-soft)}
/* figura: producto integrado en marco circular con aro y sombra */
.hc-figure{position:relative;justify-self:center;width:min(80vw,420px);aspect-ratio:1}
.hc-prod{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:50%;
  border:6px solid rgba(255,255,255,.08);box-shadow:0 40px 90px -24px rgba(0,0,0,.8),0 0 0 1px rgba(201,163,106,.4) inset}
.hc-ring{position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(201,163,106,.45);
  box-shadow:0 0 60px -10px rgba(201,163,106,.4);animation:spin 26s linear infinite}
.hc-ring::after{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;border-radius:50%;background:var(--accent-soft);box-shadow:0 0 14px var(--accent-soft)}
.hc-orb{position:absolute;border-radius:50%;z-index:3;background:radial-gradient(circle at 30% 30%,#e7cfa3,#b8893f);box-shadow:0 10px 30px -8px rgba(0,0,0,.5)}
.hc-orb-1{width:54px;height:54px;top:6%;right:2%;opacity:.9}
.hc-orb-2{width:30px;height:30px;bottom:8%;left:-2%;background:radial-gradient(circle at 30% 30%,#fff,#cdbfa6);opacity:.85}
@keyframes spin{to{transform:rotate(360deg)}}
.hc-slide .btn-ghost{border-color:rgba(255,255,255,.3);color:#f4ece0}
.hc-slide .btn-ghost:hover{background:#f4ece0;color:var(--brand);border-color:#f4ece0}
.hc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:rgba(20,17,13,.35);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .2s}
.hc-arrow:hover{background:rgba(20,17,13,.7)}
.hc-prev{left:18px}.hc-next{right:18px}
.hc-dots{position:absolute;bottom:22px;left:0;right:0;z-index:5;display:flex;gap:10px;justify-content:center}
.hc-dot{width:32px;height:4px;border-radius:999px;border:0;background:rgba(255,255,255,.35);cursor:pointer;transition:background .3s,width .3s}
.hc-dot.is-active{background:var(--accent-soft);width:48px}
.hero-trustbar{background:var(--surface-2);border-bottom:1px solid var(--line)}
.hero-trustbar-inner{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:14px 0;font-size:.85rem;color:#6b5f4f}
@media(max-width:860px){
  .hc-grid{grid-template-columns:1fr;text-align:center}
  .hc-text{margin-inline:auto}
  .hc-slide .hero-cta{justify-content:center}
  .hc-figure{width:min(56vw,260px);margin-top:8px;order:-1}
  .hc-glow{right:50%;transform:translate(50%,-50%)}
  /* En móvil el texto va a ancho completo → overlay vertical más fuerte para legibilidad */
  .hc-overlay{background:linear-gradient(180deg,rgba(18,15,11,.62) 0%,rgba(18,15,11,.82) 60%,rgba(18,15,11,.9) 100%)}
}
@media(max-width:760px){
  .hc-arrow{display:none}
  .hero-trustbar-inner{gap:16px;font-size:.78rem}
  .hc-slide{min-height:clamp(440px,72vh,560px)}
  .hc-figure{display:none}
}

/* Badges por tipo de descuento + franja */
.badge-clearance{background:#b0432a;color:#fff}
.badge-pack{background:var(--forest);color:#fff}
.flash-strip--clearance{background:#5a2418;color:#ffd9cc}
.flash-strip--pack{background:#22301f;color:#dbe8d6}
.nav-hot{color:var(--accent)!important;font-weight:700!important}
.mini-flash{background:var(--accent)}

/* Packs */
.packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.pack-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.pack-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--forest)}
.pack-imgs{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:var(--surface-2);aspect-ratio:3/2}
.pack-img{overflow:hidden}
.pack-img:first-child{grid-row:1/3}
.pack-img picture,.pack-img img{width:100%;height:100%;object-fit:cover;display:block}
.pack-badge{position:absolute;top:12px;left:12px;background:var(--forest);color:#fff;font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:999px;z-index:2}
.pack-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
.pack-card-body h2{font-size:1.25rem;font-weight:500;margin:0}
.pack-price{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.pack-price .price-now{font-family:var(--serif);font-size:1.4rem;color:var(--brand);font-weight:600}
.save-pill--block{display:block;text-align:center;margin-top:6px}

.pack-detail{display:grid;grid-template-columns:1fr 320px;gap:38px;align-items:start}
.pack-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);position:sticky;top:96px}
.pack-summary h2{font-size:1.2rem;margin-bottom:14px;font-weight:500}
.pack-summary p{display:flex;justify-content:space-between;gap:12px;margin:9px 0;font-size:.95rem}
.pack-summary .cart-total{font-family:var(--serif);font-size:1.3rem;font-weight:600;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.pack-summary form{margin-top:16px}
@media(max-width:880px){.pack-detail{grid-template-columns:1fr}.pack-summary{position:static}}

/* Familias (sub-filtro fino) */
.famchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.famchips-label{font-size:.82rem;color:var(--muted);font-weight:600;margin-right:4px}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--ink);background:var(--surface-2);transition:.2s}
.fchip span{font-size:.7rem;color:var(--muted)}
.fchip:hover{border-color:var(--accent);color:var(--accent)}
.fchip.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.fchip.is-active span{color:rgba(255,255,255,.7)}

/* En pack (ficha) */
.in-pack{margin-top:18px;background:var(--accent-bg);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:13px 16px;font-size:.9rem;color:#5b4f3f}
.in-pack a{color:var(--accent)}

/* Frequently bought together */
.fbt{margin-top:48px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.fbt-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fbt-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:150px;text-align:center}
.fbt-item picture,.fbt-item img{width:130px;height:130px;object-fit:cover;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}
.fbt-name{font-size:.82rem;line-height:1.3;color:var(--ink)}
.fbt-price{font-weight:600;color:var(--brand)}
.fbt-plus{font-size:1.5rem;color:var(--muted)}
.fbt-cta{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.fbt-total-label{font-size:.8rem;color:var(--muted)}
.fbt-total{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--brand)}
@media(max-width:680px){.fbt-cta{margin-left:0;align-items:stretch;width:100%}.fbt-item{width:110px}.fbt-item picture,.fbt-item img{width:96px;height:96px}}

/* Pago exprés */
.btn-express{margin-top:10px;border-color:var(--accent);color:var(--accent)}
.btn-express:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.express-note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:8px;line-height:1.4}

/* Autocompletar */
.ac-box{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:120;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:none}
.ac-box.open{display:block}
.ac-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);transition:background .15s}
.ac-item:hover{background:var(--surface-2)}
.ac-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--surface-2);flex:none}
.ac-info{display:flex;flex-direction:column;min-width:0;flex:1}
.ac-name{font-size:.9rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-sub{font-size:.74rem;color:var(--muted)}
.ac-price{font-weight:600;color:var(--brand);font-size:.9rem;white-space:nowrap}
.ac-all{display:block;padding:11px 14px;text-align:center;font-size:.85rem;font-weight:600;color:var(--accent);background:var(--accent-bg)}
.ac-all:hover{background:#efe2cd}

/* ===== Mega-menú (desplegables header) ===== */
.main-nav .has-dd{position:relative}
.dd-caret{margin-left:4px;opacity:.55;transition:transform .2s;vertical-align:middle}
.has-dd:hover .dd-caret{transform:rotate(180deg)}
.dd{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:250px;background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;
  transition:opacity .2s,visibility .2s;z-index:100;margin-top:6px}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;visibility:visible}
.dd::before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px}
.dd-inner{padding:12px}
.dd-inner ul{list-style:none;display:flex;flex-direction:column;gap:1px;padding:0;margin:0}
.dd-inner li a{display:flex;justify-content:space-between;gap:14px;padding:8px 12px;border-radius:8px;font-size:.87rem;color:var(--ink)}
.dd-inner li a:hover{background:var(--surface-2);color:var(--accent)}
.dd-inner li a span{color:var(--muted);font-size:.74rem}
.dd-all{display:block;margin-top:6px;padding:10px 12px;border-top:1px solid var(--line);color:var(--accent);font-weight:600;font-size:.82rem}
.dd-all:hover{background:var(--surface-2)}

/* ===== Tienda con barra lateral ===== */
.shop-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;align-items:start}
.shop-main{min-width:0;overflow-x:clip}   /* encoge y contiene la tira de subcategorías */
#main{overflow-x:clip}                     /* sin scroll horizontal a nivel de página (no rompe sticky) */
.shop-sidebar{position:sticky;top:96px}
.sidebar-head{display:none}
.filter-group{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.filter-group h3{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px;font-family:var(--sans);font-weight:700}
.filter-list{list-style:none;display:flex;flex-direction:column;gap:1px;padding:0;margin:0}
.filter-list a{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;border-radius:9px;font-size:.9rem;color:var(--ink);transition:background .15s}
.filter-list a span{color:var(--muted);font-size:.74rem}
.filter-list a:hover{background:var(--surface-2)}
.filter-list a.is-active{background:var(--brand);color:#fff;font-weight:600}
.filter-list a.is-active span{color:rgba(255,255,255,.7)}
.filter-list--scroll{max-height:280px;overflow:auto;padding-right:4px}
.filter-pill{display:inline-block;padding:9px 15px;border:1px solid var(--line-2);border-radius:999px;font-size:.86rem;color:var(--ink)}
.filter-pill.is-active{background:var(--forest);color:#fff;border-color:var(--forest)}
.filters-clear{display:inline-block;color:var(--accent);font-weight:600;font-size:.85rem}
.shop-bar{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.results-count{color:var(--muted);font-size:.92rem}.results-count strong{color:var(--ink)}
.results-count a{color:var(--accent);text-decoration:none}
.sort-form{margin-left:auto}
.sort-label{flex-direction:row;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);font-weight:500}
.sort-form select{padding:10px 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:.86rem;color:var(--ink)}
.filters-open{display:none}
.grid--shop{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.filters-backdrop{position:fixed;inset:0;background:rgba(20,17,13,.5);z-index:130;backdrop-filter:blur(2px)}
.filters-backdrop[hidden]{display:none}

/* Elementos solo-móvil / solo-desktop del panel de filtros */
.sheet-only{display:none}
.sheet-handle{display:none}
.mfilter-bar{display:none}

@media(max-width:900px){
  /* Filtros = PANEL INFERIOR (bottom sheet) a pantalla casi completa */
  .shop-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .shop-sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:140;background:#fff;
    border-radius:20px 20px 0 0;transform:translateY(110%);transition:transform .35s var(--ease);
    height:88vh;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px;
    box-shadow:0 -16px 50px -16px rgba(20,17,13,.55);overscroll-behavior:contain}
  .shop-sidebar.open{transform:none}
  .sheet-handle{display:block;width:44px;height:5px;border-radius:999px;background:var(--line-2);margin:8px auto 4px}
  .sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:8px 0 12px;border-bottom:1px solid var(--line);
    position:sticky;top:0;background:#fff;z-index:3}
  .sidebar-head h2{font-size:1.25rem}
  .sidebar-close{width:40px;height:40px;background:var(--surface-2);border:0;border-radius:50%;font-size:1.2rem;cursor:pointer;color:var(--ink)}
  .filter-group{padding-bottom:14px;margin-bottom:14px}
  .filter-group:first-of-type{margin-top:14px}
  .filter-list a,.filter-pill,.sschip{min-height:44px;display:flex;align-items:center}
  .filter-list a{justify-content:space-between}
  .filter-list--scroll{max-height:264px}
  .filter-group--cat .filter-list{max-height:264px;overflow:auto;padding-right:4px}
  .sheet-only{display:block}
  .desk-only{display:none!important}
  .sheet-foot{display:flex;gap:10px;position:sticky;bottom:0;background:#fff;z-index:3;
    padding:14px 0 calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
  .sheet-foot .btn{flex:1;min-height:48px}
  .sheet-foot .btn-ghost{flex:0 0 38%}

  /* Scroll horizontal de subcategorías (sin desborde lateral) */
  .subscroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 0 14px;scrollbar-width:none}
  .subscroll::-webkit-scrollbar{display:none}
  .sschip{flex:none;padding:9px 15px;border:1px solid var(--line-2);border-radius:999px;font-size:.85rem;color:var(--ink);background:#fff;white-space:nowrap}
  .sschip.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}
  .shop-bar{gap:10px}
  .sort-form{margin-left:auto}

  /* Barra sticky inferior "Filtrar y ordenar" (siempre visible) */
  .mfilter-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.97);
    backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:9px 14px calc(9px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 26px -14px rgba(40,28,14,.45)}
  .mfilter-btn{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
    background:var(--brand);color:#fbf6ee;border:0;border-radius:999px;font-weight:600;font-size:.98rem;cursor:pointer}
  .mfilter-count{background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;min-width:20px;height:20px;
    border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
  /* que la barra fija no tape el footer */
  .site-footer{padding-bottom:72px}
}

/* ===== Widget lunar (home) ===== */
.moon-widget{display:flex;align-items:center;gap:20px;background:linear-gradient(120deg,#1b1712,#2a2118);
  color:#f0e7d8;border-radius:var(--radius);padding:22px 26px;border:1px solid rgba(201,163,106,.25);overflow:hidden;position:relative}
.moon-widget::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,163,106,.25),transparent 70%)}
.moon-w-glyph{font-size:2.8rem;flex:none}
.moon-w-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.moon-w-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft)}
.moon-w-text strong{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:#fff}
.moon-w-ritual{font-size:.88rem;color:#c9bca6;line-height:1.4}
.moon-w-cta{flex:none;color:var(--accent-soft);font-weight:600;font-size:.9rem;white-space:nowrap}
@media(max-width:680px){.moon-widget{flex-wrap:wrap;gap:14px}.moon-w-cta{flex-basis:100%}}

/* ===== Página Luna ===== */
.luna-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#1c1813,#100d09);color:#f0e7d8;text-align:center;padding:0}
.luna-hero .hc-bg{filter:blur(30px) brightness(.35);opacity:.5}
.luna-hero-inner{position:relative;z-index:2;padding:70px 5% 64px;max-width:760px;margin-inline:auto}
.luna-now{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 18px}
.luna-glyph{font-size:4rem}
.luna-now h1{color:#fff;font-size:clamp(2rem,5vw,3rem);font-weight:400;margin:0}
.luna-intent{color:var(--accent-soft);font-size:1rem;margin-top:4px}
.luna-ritual{color:#d3c8b6;max-width:54ch;margin:0 auto 26px;font-size:1.08rem;line-height:1.7}
.moon-cycle{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.moon-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 18px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;transition:.25s}
.moon-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.moon-card.is-now{border-color:var(--accent);background:var(--accent-bg)}
.moon-card-glyph{font-size:1.9rem}
.moon-card strong{font-family:var(--serif);font-weight:500;font-size:1.05rem;color:var(--brand)}
.moon-card-intent{font-size:.85rem;color:var(--muted)}
.moon-now-pill{position:absolute;top:14px;right:14px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:999px}

/* ===== Manifiesto ===== */
.manifesto{background:linear-gradient(160deg,rgba(20,16,11,.9),rgba(30,24,17,.82)),var(--story,none) center/cover no-repeat,linear-gradient(160deg,#16120d,#241d15);color:#e9dfce}
.manifesto-inner{max-width:760px;padding:74px 0;text-align:center;margin-inline:auto;width:90%}
.manifesto h2{color:#fff;font-size:clamp(1.9rem,4.5vw,3rem);font-weight:400;line-height:1.1;margin:12px 0 18px}
.manifesto h2 em{font-style:italic;color:var(--accent-soft)}
.manifesto p{color:#cdc1ab;font-size:1.1rem;line-height:1.8;max-width:60ch;margin:0 auto 26px}
.manifesto .btn-ghost{border-color:rgba(255,255,255,.3);color:#f0e7d8}
.manifesto .btn-ghost:hover{background:#f0e7d8;color:var(--brand);border-color:#f0e7d8}

/* ===== Diario ===== */
.diario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.diario-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.diario-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
.diario-img{position:relative;display:block;aspect-ratio:16/10;background-image:var(--bg);background-size:cover;background-position:center}
.diario-img-ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,17,13,.35))}
.diario-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px}
.diario-read{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600}
.diario-body h2{font-size:1.2rem;font-weight:500;margin:0;line-height:1.3}
.diario-body p{color:var(--muted);font-size:.92rem;margin:0}
.diario-body .link-more{margin-top:auto}
.guia-body{font-size:1.06rem}
.guia-body h2{margin:28px 0 12px}.guia-body h3{margin:20px 0 8px;font-size:1.15rem}
.guia-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
/* Tablas en artículos */
.rte table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.93rem;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}
.rte th,.rte td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.rte thead th{background:var(--brand);color:#f3ece0;font-weight:600;border-bottom:0}
.rte tbody tr:nth-child(even){background:var(--surface-2)}
.rte tbody tr:last-child td{border-bottom:0}
@media(max-width:560px){.rte table{font-size:.84rem}.rte th,.rte td{padding:8px 9px}}

/* ===== Herramientas ===== */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;
  display:flex;flex-direction:column;gap:8px;transition:.3s}
.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.tool-ico{font-size:2.2rem}
.tool-card h2{font-size:1.25rem;font-weight:500;margin:4px 0 0}
.tool-card p{color:var(--muted);font-size:.92rem;margin:0;flex:1}
.tool-card .link-more{margin-top:6px}
.tool-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:22px 0}
.tool-form label{font-size:.82rem}
.tool-form select{padding:11px 16px;border:1px solid var(--line-2);border-radius:10px;background:#fff;font-size:1rem;min-width:90px}
.tool-result{display:flex;align-items:center;gap:28px;background:linear-gradient(120deg,#1b1712,#2a2118);color:#f0e7d8;
  border-radius:var(--radius);padding:34px 36px;flex-wrap:wrap}
.tool-result-glyph{font-size:5rem;line-height:1;color:var(--accent-soft)}
.tool-result-num{font-family:var(--serif);font-size:4.6rem;font-weight:600;color:var(--accent-soft);width:110px;height:110px;
  border:2px solid rgba(201,163,106,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.tool-result-body h2{color:#fff;font-size:1.8rem;font-weight:400;margin:4px 0 8px}
.tool-result-body .eyebrow{color:var(--accent-soft)}
.tool-trait{color:#d3c8b6;font-size:1.05rem;margin-bottom:8px}
.tool-result-body p{color:#cdc1ab}
.tool-result-body strong{color:#fff}

/* Teaser de herramienta en ficha */
.tool-teaser{display:flex;align-items:center;gap:12px;margin-top:18px;background:var(--accent-bg);border:1px solid var(--line-2);
  border-radius:var(--radius-sm);padding:13px 16px;color:#5b4f3f;font-size:.92rem;font-weight:500;transition:.2s}
.tool-teaser:hover{border-color:var(--accent);color:var(--accent)}
.tool-teaser-ico{font-size:1.3rem}.tool-teaser-txt{flex:1}.tool-teaser-arrow{color:var(--accent);font-weight:700}

/* Luna: próximas fases */
.luna-next{color:#cdbfa6;font-size:.92rem;margin:0 auto 22px;background:rgba(255,255,255,.05);
  border:1px solid rgba(201,163,106,.2);border-radius:999px;padding:10px 20px;display:inline-block}
.luna-next strong{color:#fff}

/* Pack estacional */
.pack-season{position:absolute;top:12px;right:12px;background:#b0432a;color:#fff;font-size:.74rem;font-weight:700;padding:5px 11px;border-radius:999px;z-index:2}
.pack-card--season{border-color:#b0432a;box-shadow:0 0 0 1px #b0432a}

/* ===== Menú móvil: lista limpia y con scroll ===== */
@media(max-width:760px){
  .main-nav .dd{display:none!important}   /* subcategorías NO inline: el menú queda corto */
  .dd-caret{display:none}
  .main-nav.open{max-height:78vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
    overscroll-behavior:contain}
  .main-nav ul{padding:4px 0 12px}
  .main-nav li:last-child{border-bottom:0}
}

/* ===== Adaptación móvil de páginas de categoría/listados ===== */
@media(max-width:640px){
  /* Rejilla de productos a 2 columnas (minmax(0,1fr) evita que un nombre largo reviente la columna) */
  .grid,.grid--shop,.grid--reco,.grid--flash{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
  .cat-grid,.cat-grid--img{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .card-body{padding:11px 12px 15px;gap:5px}
  .card-title{font-size:.82rem;line-height:1.3}
  .card-price{font-size:1rem}
  .card-eyebrow{font-size:.62rem}
  .badge{font-size:.62rem;padding:3px 8px;top:8px;left:8px}
  /* Hero de categoría compacto */
  .cat-hero{min-height:190px}
  .cat-hero-inner{padding:28px 0 22px}
  .cat-hero-inner h1{font-size:1.6rem}
  .cat-hero-intro{font-size:.88rem;margin-top:8px}
  .crumbs{font-size:.75rem;margin-bottom:14px}
  /* Barra de resultados/orden */
  .shop-bar{gap:10px}
  .results-count{order:3;flex-basis:100%}
  .sort-form{margin-left:0}
  .sort-label{font-size:.8rem}
  .section{padding:40px 0}
  .section-sm{padding:18px 0}
  .section-title{font-size:1.4rem}
  /* Cat-card (home) más bajita */
  .cat-card{min-height:150px}
  .cat-card-name{font-size:1.05rem}
}
@media(max-width:380px){
  .grid,.grid--shop,.grid--reco,.grid--flash{gap:10px}
  .card-title{font-size:.78rem}
}

/* ===== Upsell del carrito (antes de pagar) ===== */
.cart-upsell{margin-top:44px;border-top:1px solid var(--line);padding-top:30px}
.cart-upsell .section-title{font-size:1.4rem;margin-bottom:4px}
.upsell-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:18px}
.upsell-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.upsell-media{position:relative;display:block;border-radius:10px;overflow:hidden;background:var(--surface-2);aspect-ratio:1}
.upsell-media picture,.upsell-media img{width:100%;height:100%;object-fit:cover}
.upsell-media .badge{top:8px;left:8px;font-size:.62rem;padding:3px 8px}
.upsell-name{font-size:.85rem;line-height:1.3;color:var(--ink);overflow-wrap:anywhere;flex:1}
.upsell-name:hover{color:var(--accent)}
.upsell-price{font-weight:600;color:var(--brand);font-family:var(--serif)}
.upsell-add{width:100%;justify-content:center;min-height:40px}
@media(max-width:640px){
  .upsell-row{display:flex;overflow-x:auto;gap:12px;scrollbar-width:none;padding-bottom:6px;margin-left:0}
  .upsell-row::-webkit-scrollbar{display:none}
  .upsell-card{flex:0 0 150px}
}

/* ===== Packs: CTA "crea tu pack" + build-your-own ===== */
.byo-tiers{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.byo-tiers span{background:rgba(255,255,255,.08);border:1px solid rgba(201,163,106,.35);color:var(--accent-soft);padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600}
.byo-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:linear-gradient(120deg,#241d15,#16120d);color:#f3ece0;border:1px solid rgba(201,163,106,.3);
  border-radius:var(--radius);padding:26px 32px;transition:transform .25s var(--ease),box-shadow .25s}
.byo-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.byo-cta .eyebrow{color:var(--accent-soft)}
.byo-cta h2{color:#fff;font-weight:400;font-size:clamp(1.4rem,3.6vw,2rem);margin:6px 0}
.byo-cta h2 em{color:var(--accent-soft);font-style:normal;font-weight:600}
.byo-cta p{color:#cfc3b1;font-size:.95rem;margin:0}

.byo-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}
.byo-picker{min-width:0}
.byo-card .card-body{gap:6px}
.byo-card .card-body form{margin-top:auto}
.byo-add{width:100%;justify-content:center;min-height:42px}
.byo-card.is-added{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}
.byo-summary{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}
.byo-summary h2{font-size:1.25rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.byo-count{background:var(--brand);color:#fff;border-radius:999px;min-width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}
.byo-summary>p{display:flex;justify-content:space-between;gap:12px;margin:8px 0;font-size:.92rem}
.byo-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}
.byo-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:10px;align-items:center}
.byo-list img{border-radius:8px;width:44px;height:44px;object-fit:cover;background:var(--surface-2)}
.byo-li-name{font-size:.84rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.byo-li-price{font-weight:600;font-size:.84rem;white-space:nowrap}
.byo-nudge{background:var(--accent-bg);border-radius:10px;padding:10px 12px;font-size:.88rem;color:#5b4f3f;margin:12px 0}
.byo-bar{display:none}
@media(max-width:900px){
  .byo-layout{grid-template-columns:1fr}
  .byo-summary{position:static;order:-1}
  .byo-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.97);
    backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .byo-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .byo-bar-info{font-size:.95rem;color:var(--ink)}
  .byo-bar-pct{background:var(--accent);color:#fff;font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:4px}
  .byo-bar .btn{min-height:46px}
}

/* ===== Carrito: volumen · cajas · ideas ===== */
.cart-volume{display:flex;align-items:center;gap:10px;background:var(--accent-bg);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:13px 16px;margin-bottom:16px;font-size:.95rem;color:#5b4f3f}
.cart-volume.is-on{background:#eaf5ed;border-color:#c6e6d1;color:var(--ok)}
.cart-volume strong{color:var(--brand)}.cart-volume.is-on strong{color:var(--ok)}
.cv-ico{font-size:1.2rem}
.vol-line span:last-child{color:var(--ok);font-weight:600}
.cart-row--box{grid-template-columns:88px minmax(0,1fr) auto auto}
.box-thumb{width:88px;height:88px;border-radius:12px;background:linear-gradient(135deg,#2a2118,#16120d);color:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:2.2rem}
.cart-ideas{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.cart-idea{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.cart-idea:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.cart-idea-ico{font-size:1.6rem}
.cart-idea strong{color:var(--brand);font-family:var(--serif);font-weight:500}
.cart-idea span:last-child{font-size:.85rem;color:var(--muted)}
@media(max-width:560px){.cart-ideas{grid-template-columns:1fr}}

/* ===== Caja sorpresa ===== */
.mbox{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.mbox-visual{display:flex;flex-direction:column;align-items:center;gap:12px;background:linear-gradient(150deg,#241d15,#16120d);border-radius:var(--radius);padding:30px 20px}
.mbox-emoji{font-size:4.5rem;line-height:1}
.mbox-level{background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:999px;text-align:center}
.mbox-leveldesc{font-family:var(--serif);font-size:1.15rem;color:var(--brand);margin:0 0 6px}
.mbox-h3{font-size:1rem;margin:18px 0 10px}
.mbox-hints{display:flex;flex-wrap:wrap;gap:10px}
.mbox-hint{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:.9rem;color:var(--ink);background:#fff;transition:.2s;min-height:44px}
.mbox-hint:hover{border-color:var(--accent)}
.mbox-hint.is-on{background:var(--brand);color:#fff;border-color:var(--brand)}
.mbox-hint-mark{font-weight:700;opacity:.7}
.mbox-hint.is-disabled{opacity:.4;pointer-events:none}
.mbox-buy{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.mbox-price{font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--brand)}
.mbox-note{margin-top:12px}
@media(max-width:640px){.mbox{grid-template-columns:1fr;padding:20px}.mbox-visual{flex-direction:row;justify-content:center;padding:18px}.mbox-emoji{font-size:3rem}}

/* ===== Hero: cluster de productos enlazados ===== */
.hc-figure--prods{width:auto;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;min-height:300px}
.hc-figure--prods .hc-ring,.hc-figure--prods .hc-orb{display:none}
.hc-prods{position:relative;z-index:2;display:flex;gap:14px;align-items:center}
.hc-pcard{position:relative;display:block;width:128px;border-radius:16px;overflow:hidden;background:#fff;
  box-shadow:0 22px 55px -18px rgba(0,0,0,.75);transition:transform .3s var(--ease)}
.hc-pcard picture,.hc-pcard img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.hc-pcard-price{position:absolute;left:8px;bottom:8px;background:rgba(255,255,255,.95);color:var(--brand);
  font-weight:600;font-size:.78rem;padding:4px 9px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.hc-pcard-badge{position:absolute;top:8px;right:8px;background:var(--accent);color:#fff;font-weight:700;font-size:.7rem;padding:3px 8px;border-radius:999px}
.hc-prods .hc-pcard:nth-child(2){margin-top:-26px;width:142px;z-index:3}
.hc-pcard:hover{transform:translateY(-7px)}
@media(max-width:860px){
  .hc-figure--prods{min-height:0;margin-top:8px}
  .hc-prods .hc-pcard{width:108px}
  .hc-prods .hc-pcard:nth-child(2){width:120px;margin-top:-18px}
}
@media(max-width:760px){
  .hc-figure--prods{display:flex!important}
  .hc-prods{gap:10px;justify-content:center}
  .hc-prods .hc-pcard{width:30%;max-width:124px}
  .hc-prods .hc-pcard:nth-child(2){width:32%;margin-top:-12px}
}

/* ===== Fix definitivo anti-desborde en móvil (categorías) ===== */
html{overflow-x:clip}
.card-media picture{display:block;width:100%;height:100%}
.card-media img{display:block}
@media(max-width:900px){
  .shop-main,.grid--shop,.subscroll,.shop-layout{max-width:100%;min-width:0}
}

/* ===== Storytelling (Sobre MaletaZen) ===== */
.page-prose .lead,.lead{font-family:var(--serif);font-size:1.35rem;line-height:1.5;color:var(--brand);font-weight:400}
.story-fig{margin:32px 0}
.story-fig img{width:100%;height:auto;border-radius:var(--radius);display:block;box-shadow:var(--shadow-sm)}
.story-fig figcaption{margin-top:10px;text-align:center;font-style:italic;color:var(--muted);font-size:.92rem}

/* ===== Bloque SEO bajo el grid (páginas de categoría) ===== */
.cat-seo{padding-top:8px;border-top:1px solid var(--line)}
.cat-seo-inner{max-width:760px}
.cat-seo h2{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 14px}
.cat-seo h3{font-size:1.18rem;margin:26px 0 8px;color:var(--brand)}
.cat-seo p{color:var(--ink);margin:0 0 12px;line-height:1.7}
.cat-seo-intro{font-size:1.06rem}
.cat-seo strong{font-weight:600;color:var(--brand)}
.cat-seo a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.cat-seo-faq-title{margin-top:32px}
.cat-faq{margin-top:6px}
.cat-faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;background:var(--surface);overflow:hidden}
.cat-faq-item summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:600;color:var(--brand);
  display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1rem}
.cat-faq-item summary::-webkit-details-marker{display:none}
.cat-faq-item summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--accent);flex:none;transition:transform .25s var(--ease)}
.cat-faq-item[open] summary::after{transform:rotate(45deg)}
.cat-faq-item p{margin:0;padding:0 18px 16px;color:var(--muted);line-height:1.65}

/* ===== Selector de variantes (productos variables) ===== */
.variant-pick{margin:18px 0}
.variant-label{display:block;font-size:.92rem;color:var(--muted);margin-bottom:9px}
.variant-label strong{color:var(--brand);font-weight:600}
.variant-swatches{display:flex;flex-wrap:wrap;gap:9px}
.vswatch{display:block;width:54px;height:54px;border-radius:12px;overflow:hidden;border:2px solid var(--line);
  background:#fff;transition:border-color .2s,transform .2s;position:relative}
.vswatch img{width:100%;height:100%;object-fit:cover;display:block}
.vswatch:hover{border-color:var(--accent-soft);transform:translateY(-2px)}
.vswatch.is-active{border-color:var(--accent)}
.vswatch.is-out{opacity:.5}
.vswatch.is-out::after{content:"";position:absolute;inset:0;
  background:linear-gradient(45deg,transparent 46%,var(--muted) 47%,var(--muted) 53%,transparent 54%)}

/* ===== Etiqueta "N opciones" en tarjeta de producto ===== */
.card-opts{position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(4px);color:var(--brand);
  font-size:.74rem;font-weight:600;padding:4px 9px;border-radius:999px;box-shadow:0 2px 8px -3px rgba(40,28,14,.4)}
.opts-dot{width:12px;height:12px;border-radius:50%;
  background:conic-gradient(#c0764f,#d8b48f,#7a8b5a,#5f86a8,#9a6b8f,#c0764f);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85)}
