/* ===================================================================
   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)}

/* Subcategorías con imagen — la categoría se explora por TIPO antes que por producto */
.subcats-sec .section-head{margin-bottom:20px}
.subcat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px}
.subcat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;min-width:0;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.subcat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}
.subcat-img{display:block;aspect-ratio:1;background:var(--surface-2);overflow:hidden}
.subcat-img picture{display:block;width:100%;height:100%}
.subcat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.subcat-card:hover .subcat-img img{transform:scale(1.05)}
.subcat-body{padding:12px 14px 14px;display:block}
.subcat-name{display:block;color:var(--ink);font-weight:600;font-size:.94rem;line-height:1.3;overflow-wrap:anywhere}
.subcat-count{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
/* Variante raiz /tienda: las 10 categorias, con mas presencia */
.subcat-grid--cat{grid-template-columns:repeat(auto-fill,minmax(214px,1fr))}
.subcat-grid--cat .subcat-name{font-family:var(--serif);font-size:1.12rem;font-weight:500}
.subcat-grid--cat .subcat-body{padding:14px 16px 16px}
/* Muestra de productos + salida al listado completo */
.shop-sample-title{font-size:1.35rem;margin-bottom:14px}
.sub-intro{max-width:70ch;margin-top:10px;color:var(--muted);font-size:1.02rem;line-height:1.65}
.shop-more{margin-top:28px;display:flex;justify-content:center}
.shop-more .btn{min-height:48px;padding:0 26px;display:inline-flex;align-items:center}

/* Hero de categoría — escena compuesta: fondo con color/mood + collage de productos */
.cat-hero{position:relative;overflow:hidden;color:#f4ece0;
  background:radial-gradient(125% 130% at 82% 6%, var(--c1,#2b231b) 0%, var(--c2,#15110d) 68%)}
.cat-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  box-shadow:inset 0 -70px 90px -50px rgba(8,5,3,.7)}
.cat-hero-glow{position:absolute;right:-8%;top:-34%;width:min(62vw,660px);height:min(62vw,660px);border-radius:50%;z-index:0;
  background:radial-gradient(circle at 50% 50%,rgba(225,190,150,.24),transparent 62%);filter:blur(6px)}
.cat-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:360px;padding:54px 0}
.cat-hero-text{max-width:560px}
.cat-hero-text h1{color:#fff;font-size:clamp(2rem,5vw,3.2rem);font-weight:400;margin:10px 0 0}
.cat-hero-intro{max-width:52ch;margin-top:14px;color:#e2d8c8;line-height:1.6}
.cat-hero-count{display:inline-block;margin-top:20px;font-size:.85rem;color:#cdbfac;letter-spacing:.02em}
.cat-hero-count strong{color:#fff;font-weight:600}
/* Collage de productos flotando — con vida (tilt + flotado independiente + orbes) */
.cat-hero-collage{position:relative;justify-self:center;width:min(86%,430px);aspect-ratio:1;transform:translate3d(0,var(--py,0),0)}
.che-card{position:absolute;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:0 34px 66px -18px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.12);
  rotate:var(--tilt,0deg);animation:cheFloat 6.5s ease-in-out infinite}
.che-card picture,.che-card img{width:100%;height:100%;object-fit:cover;display:block}
/* translate/rotate/scale como propiedades independientes → tilt fijo + flotado animado sin pelearse */
@keyframes cheFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
.che-card:hover{translate:0 -10px;scale:1.05;animation-play-state:paused;z-index:9}
@media(prefers-reduced-motion:reduce){.che-card,.che-orb{animation:none}}
/* Orbes decorativos de acento */
.che-orb{position:absolute;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 30% 30%,var(--accent-soft),var(--accent));
  box-shadow:0 10px 26px -8px rgba(0,0,0,.5);animation:cheFloat 7.5s ease-in-out infinite}
.che-orb-1{width:28px;height:28px;top:-3%;left:6%;opacity:.85;animation-delay:-2s}
.che-orb-2{width:16px;height:16px;bottom:8%;right:-3%;opacity:.7;animation-delay:-4.6s}

/* --- Disposición A (por defecto) --- */
.che-card--0{width:54%;left:0;top:11%;z-index:2;animation-delay:-1s;--tilt:-3deg}
.che-card--1{width:50%;right:0;top:0;z-index:3;animation-delay:-3.2s;--tilt:2.5deg}
.che-card--2{width:44%;left:24%;bottom:0;z-index:1;animation-delay:-5s;--tilt:-1.5deg}
/* --- Disposición B (más abierta) --- */
.che--b .che-card--0{width:50%;left:3%;top:0;--tilt:-4deg}
.che--b .che-card--1{width:46%;right:0;top:32%;--tilt:3.5deg}
.che--b .che-card--2{width:53%;left:13%;bottom:0;--tilt:1.5deg}
/* --- Disposición C (cascada diagonal) --- */
.che--c .che-card--0{width:48%;left:0;top:27%;z-index:1;--tilt:3deg}
.che--c .che-card--1{width:55%;right:5%;top:2%;z-index:2;--tilt:-2.5deg}
.che--c .che-card--2{width:42%;right:0;bottom:0;z-index:3;--tilt:4deg}
/* --- Disposición D (protagonista grande) --- */
.che--d .che-card--0{width:43%;left:0;top:3%;z-index:1;--tilt:-5deg}
.che--d .che-card--1{width:57%;right:0;bottom:5%;z-index:3;--tilt:2deg}
.che--d .che-card--2{width:39%;left:31%;top:41%;z-index:2;--tilt:5deg}
@media(max-width:860px){
  .cat-hero-grid{grid-template-columns:1fr;gap:22px;min-height:0;padding:34px 0}
  .cat-hero-collage{width:min(72%,300px);justify-self:start}
}
@media(max-width:560px){.cat-hero-collage{width:min(86%,280px)}}
.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 .nav-list{gap:24px}
.main-nav .nav-link{white-space:nowrap}
@media(max-width:1080px) and (min-width:761px){.main-nav .nav-list{gap:16px}.main-nav .nav-link{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;box-sizing:content-box;padding:11px 0;background-clip:content-box;border-radius:999px;border:0;background-color:rgba(255,255,255,.35);cursor:pointer;transition:background-color .3s,width .3s}
.hc-dot.is-active{background-color: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-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.pack-card-body{padding:18px 20px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pack-card-foot{padding:0 20px 20px;margin-top:auto}
.pack-card-foot .btn{justify-content:center}
.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)}
.cart-express{display:grid;gap:10px}
.cart-email{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:var(--brand)}
.cart-email input{width:100%;min-height:46px;border:1px solid var(--line-2);border-radius:999px;padding:10px 16px;font-size:16px;font-weight:400;background:#fff;color:inherit}
.cart-email input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cart-email input[aria-invalid="true"]{border-color:#b3261e}
.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}

/* ===== 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:44px;height:44px;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(4,1fr);gap:14px}
@media(max-width:920px){.moon-cycle{grid-template-columns:repeat(2,1fr)}}
.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}


/* ===== 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}
  .subcat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .subcat-body{padding:10px 11px 12px}
  .subcat-name{font-size:.84rem}
  .subcat-grid--cat .subcat-name{font-size:.95rem}
  .subcat-grid--cat .subcat-body{padding:10px 11px 12px}
  .subcat-count{font-size:.72rem}
  .shop-sample-title{font-size:1.2rem}
  .sub-intro{font-size:.92rem;margin-top:8px}
  .shop-more .btn{width:100%;justify-content:center}
  .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-text 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>span:last-child{flex:1;min-width:0}
.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}
.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:18px;align-items:center}
.hc-pcard{position:relative;display:block;width:178px;border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:0 34px 66px -18px rgba(0,0,0,.82),0 0 0 1px rgba(255,255,255,.12);
  transition:transform .35s var(--ease),box-shadow .35s;animation:hcFloat 6.5s ease-in-out infinite}
.hc-pcard picture,.hc-pcard img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.hc-pcard-price{position:absolute;left:9px;bottom:9px;background:rgba(255,255,255,.96);color:var(--brand);
  font-weight:600;font-size:.88rem;padding:5px 12px;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.hc-pcard-badge{position:absolute;top:9px;right:9px;background:var(--accent);color:#fff;font-weight:700;font-size:.78rem;padding:4px 10px;border-radius:999px}
.hc-prods .hc-pcard:nth-child(1){animation-delay:-1s}
.hc-prods .hc-pcard:nth-child(2){margin-top:-36px;width:210px;z-index:3;animation-delay:-3.2s}
.hc-prods .hc-pcard:nth-child(3){animation-delay:-5s}
.hc-pcard:hover{transform:translateY(-12px) scale(1.04);animation-play-state:paused;
  box-shadow:0 44px 80px -16px rgba(0,0,0,.88),0 0 0 1px rgba(255,255,255,.22)}
@keyframes hcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.hc-pcard{animation:none}}
@media(max-width:860px){
  .hc-figure--prods{min-height:0;margin-top:8px}
  .hc-prods .hc-pcard{width:144px}
  .hc-prods .hc-pcard:nth-child(2){width:172px;margin-top:-26px}
}
@media(max-width:760px){
  /* Geometría fija desde el primer frame: la figura y la fila de tarjetas tienen ancho
     definido, así el 31% de cada tarjeta se resuelve sin esperar a la imagen (antes: 46px -> 112px = CLS 0,1). */
  .hc-figure--prods{display:flex!important;width:100%;max-width:420px;aspect-ratio:auto;justify-content:center}
  .hc-prods{gap:12px;justify-content:center;width:100%}
  .hc-prods .hc-pcard{width:31%;max-width:150px}
  .hc-prods .hc-pcard:nth-child(2){width:34%;max-width:168px;margin-top:-16px}
}

/* ===== 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)}

/* ===== Ficha: promo de envío gratis + entrega (conversión / ticket medio) ===== */
.ship-promo{margin:16px 0;padding:13px 16px;background:var(--accent-bg);border:1px solid var(--line);border-radius:var(--radius-sm)}
.ship-promo-bar{margin:0;font-size:.92rem;color:var(--brand);line-height:1.4}
.ship-promo-bar strong{color:var(--accent);font-weight:700}
.ship-promo-ok strong{color:var(--ok)}
.ship-progress{height:7px;background:var(--line);border-radius:999px;overflow:hidden;margin-top:9px}
.ship-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent));border-radius:999px;transition:width .6s var(--ease)}
.ship-eta{margin:10px 0 0;font-size:.86rem;color:var(--muted)}
.ship-eta strong{color:var(--ink);font-weight:600}
/* Aviso del cargo por pedido pequeño: honesto pero discreto, no debe gritar más
   que el precio. Sorprender con él en el carrito costaba carritos enteros. */
.fee-note{margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line);
  font-size:.83rem;color:var(--muted);line-height:1.45}
.fee-note strong{color:var(--ink);font-weight:600}

/* ===== Ficha: sección de venta enriquecida (descripción + beneficios + confianza) ===== */
.product-desc.rte{max-width:880px}
.product-desc .lead{margin-bottom:18px}
.product-desc-supplier{color:#5b5145;margin-bottom:4px}
.prod-benefits{list-style:none;padding:0;margin:16px 0 8px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.prod-benefits li{display:flex;gap:11px;align-items:flex-start;margin:0;background:var(--surface);
  border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:.95rem;color:var(--ink);line-height:1.45}
.prod-benefits svg{flex:none;color:var(--accent);margin-top:1px}
.prod-trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0 18px;padding:15px 18px;
  background:var(--accent-bg);border:1px solid var(--line);border-radius:14px}
.prod-trust span{display:inline-flex;align-items:center;gap:9px;font-size:.88rem;color:var(--brand);font-weight:500}
.prod-trust svg{flex:none;color:var(--accent)}
@media(max-width:640px){
  .prod-benefits{grid-template-columns:1fr;gap:10px}
  .prod-trust{flex-direction:column;gap:11px;align-items:flex-start}
}

/* ===== Ficha: "Tu ritual, paso a paso" (cross-sell reinventado) ===== */
.ritual-head{max-width:680px;margin-bottom:28px}
.ritual-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:6px}
.ritual-sub{color:var(--muted);margin-top:6px;line-height:1.55}
.ritual-steps{list-style:none;padding:0;margin:0;display:flex;gap:16px;align-items:flex-start;position:relative}
.ritual-steps::before{content:"";position:absolute;top:16px;left:14%;right:14%;border-top:2px dashed var(--line-2);z-index:0}
.ritual-step{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.ritual-num{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:.9rem;margin-bottom:14px;flex:none;box-shadow:0 0 0 6px var(--bg)}
.ritual-step--main .ritual-num{background:var(--accent)}
.ritual-media{display:block;width:100%;max-width:150px;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#fff;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease)}
.ritual-media img,.ritual-media picture{width:100%;height:100%;object-fit:cover;display:block}
.ritual-media:hover{transform:translateY(-4px)}
.ritual-info{display:flex;flex-direction:column;align-items:center;margin-top:12px}
.ritual-action{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:600}
.ritual-name{font-size:.9rem;color:var(--ink);font-weight:500;line-height:1.3;margin-top:4px;max-width:170px}
.ritual-name:hover{color:var(--accent)}
.ritual-price{font-weight:600;color:var(--brand);margin-top:5px}
.ritual-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:30px;
  background:var(--accent-bg);border:1px solid var(--line);border-radius:16px;padding:20px 26px}
.ritual-total-label{display:block;font-size:.8rem;color:var(--muted)}
.ritual-total{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--brand)}
@media(max-width:640px){
  .ritual-steps{flex-direction:column;gap:12px}
  .ritual-steps::before{display:none}
  .ritual-step{flex-direction:row;text-align:left;align-items:center;gap:14px;
    background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px}
  .ritual-num{margin:0}
  .ritual-media{max-width:78px;flex:none}
  .ritual-info{align-items:flex-start;margin-top:0;flex:1;min-width:0}
  .ritual-name{max-width:none}
  .ritual-cta{justify-content:center;text-align:center}
}

/* ===== Añadir rápido desde la tarjeta ===== */
.quick-add{margin:10px 0 0}
.qadd-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;cursor:pointer;
  border-radius:999px;background:var(--brand);color:#fff;padding:11px 14px;min-height:44px;font-family:inherit;font-size:.92rem;font-weight:600;
  transition:background .2s,transform .12s}
.qadd-btn:hover{background:var(--accent)}
.qadd-btn:active{transform:scale(.98)}
.qadd-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qadd-btn svg{flex:none}
.qadd-ico-ok,.qadd-txt-ok{display:none}
.qadd-btn.is-loading{opacity:.6;pointer-events:none}
.qadd-btn.is-done{background:var(--ok)}
.qadd-btn.is-done .qadd-ico-plus,.qadd-btn.is-done .qadd-txt-add{display:none}
.qadd-btn.is-done .qadd-ico-ok{display:inline-block}
.qadd-btn.is-done .qadd-txt-ok{display:inline}
/* Toast de confirmación */
.mz-toast{position:fixed;left:50%;bottom:24px;z-index:1000;transform:translate(-50%,20px);
  background:var(--brand);color:#fff;padding:13px 20px;border-radius:999px;font-size:.92rem;font-weight:500;
  box-shadow:0 12px 34px -8px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;white-space:nowrap}
.mz-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.mz-toast a{color:var(--accent-soft);font-weight:600;text-decoration:underline;margin-left:8px}

/* ===== Fondo premium "estudio fotográfico": 6 capas de luz, con multiply =====
   1) luz cenital fría (claraboya)  2) barrido diagonal de luz  3) SOMBRA DE CONTACTO
   bajo el producto (ancla la pieza al suelo)  4) rebote cálido inferior
   5) viñeta sutil de esquinas (profundidad)  6) base degradada arena→lino */
.card-media,.gallery-main,.ritual-media,.che-card,.hc-pcard,.thumb,.vswatch,.rcard-media,.upsell-media,.fp-media,.g-prod-media{
  background:
    radial-gradient(120% 90% at 50% -16%, #ffffff 0%, #fbf6ee 38%, rgba(251,246,238,0) 72%),
    linear-gradient(118deg, rgba(255,255,255,.50) 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,0) 70%, rgba(255,251,243,.32) 100%),
    radial-gradient(58% 15% at 50% 88%, rgba(112,86,54,.17) 0%, rgba(112,86,54,.07) 55%, rgba(112,86,54,0) 100%),
    radial-gradient(150% 130% at 50% 122%, #e3d2b8 0%, rgba(227,210,184,0) 62%),
    radial-gradient(140% 140% at 50% 45%, rgba(0,0,0,0) 60%, rgba(96,74,48,.10) 100%),
    linear-gradient(180deg, #f7f1e7 0%, #ecdfcd 100%);
  background-color:#f4ede2}
.fp-media img,.g-prod-media img{mix-blend-mode:multiply}

/* ===== Ficha v4 · "escenario" oscuro de categoría + buy-box ===== */
.product{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:start}
/* El escenario: panel con el degradado de la categoría, palabra fantasma y la imagen flotando */
.pdp-stage{position:relative;border-radius:32px;padding:30px 30px 58px;overflow:hidden;
  background:radial-gradient(120% 95% at 85% -10%,rgba(255,255,255,.12),transparent 55%),
             radial-gradient(90% 80% at 10% 110%,rgba(0,0,0,.30),transparent 60%),
             linear-gradient(158deg,var(--p1,#2b231b),var(--p2,#15110d));
  box-shadow:0 30px 70px -30px rgba(20,14,6,.55)}
.pdp-stage::after{content:attr(data-word);position:absolute;left:22px;bottom:-16px;z-index:0;
  font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(3.4rem,8vw,6rem);
  color:rgba(255,255,255,.08);letter-spacing:.02em;white-space:nowrap;pointer-events:none;user-select:none}
@media(min-width:981px){.pdp-stage{position:sticky;top:90px}}
.pdp-stage .gallery{position:relative;top:0;z-index:1} /* top:0 anula el top:96px del sticky original (desplazaba la galería dentro del panel) */
.pdp-stage .gallery-main{border-radius:22px;border:0;background:#fff; /* tarjeta blanca limpia: sin doble fondo con la foto del proveedor */
  box-shadow:0 30px 70px -22px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.10)}
.pdp-stage .gallery-thumbs{margin-top:16px}
.pdp-stage .thumb{border-color:rgba(255,255,255,.22)}
.pdp-stage .thumb.is-active{border-color:var(--accent-soft)}
.product-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--accent-bg);color:var(--accent);
  border:1px solid var(--line-2);border-radius:999px;padding:5px 14px;font-size:.74rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px}
.product-info h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.1vw,2.45rem);
  line-height:1.14;letter-spacing:-.012em;color:var(--brand);margin:0 0 12px}
.product-lead{font-size:1.04rem;color:var(--muted);line-height:1.6}
/* Buy-box: tarjeta elevada con borde degradado dorado */
.buy-box{position:relative;margin-top:20px;padding:24px 24px 22px;border-radius:22px;border:1px solid transparent;
  background:linear-gradient(#fff,#fffdf9) padding-box,
             linear-gradient(150deg,var(--accent-soft) 0%,var(--line) 38%,var(--line) 62%,var(--accent-soft) 100%) border-box;
  box-shadow:0 18px 46px -22px rgba(60,40,16,.30)}
.buy-box .product-price-row{margin:0 0 6px}
.buy-box .product-price{font-family:var(--serif);font-size:2.3rem;font-weight:600;letter-spacing:-.02em}
.buy-box .stock{margin:10px 0 14px}
.buy-box .add-form{display:flex;gap:12px;align-items:stretch}
.buy-box .btn-add{flex:1;min-height:58px;font-size:1.04rem;font-weight:600;border-radius:16px;
  background:linear-gradient(140deg,#2a2014 0%,#16120d 55%,#241a0f 100%);position:relative;overflow:hidden}
.buy-box .btn-add::after{content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,243,220,.22),transparent);transform:skewX(-18deg);
  transition:left .55s var(--ease)}
.buy-box .btn-add:hover::after{left:130%}
.buy-box .ship-promo{margin-bottom:0}
/* Trust: de lista plana a 3 mini-tarjetas */
.product-info .trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:10px;
  list-style:none;padding:0;margin:18px 0}
.product-info .trust li{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 10px;
  font-size:.8rem;color:var(--muted);line-height:1.35}
.product-info .trust svg{color:var(--accent)}
@media(max-width:980px){
  .product{grid-template-columns:1fr;gap:28px}
  .pdp-stage{padding:16px 16px 44px;border-radius:24px;margin-inline:-4px}
  .pdp-stage::after{font-size:3rem;bottom:-10px}
  .buy-box{padding:18px 16px 16px}
  .buy-box .product-price{font-size:2rem}
}

/* ===== Ficha · "Sigue explorando": 3 formatos distintos (hero + lista + stories) ===== */
.explore{margin-top:60px;padding-top:36px;border-top:1px solid var(--line)}
.explore-head{margin-bottom:26px}
.explore-eyebrow{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:6px}
.explore-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,2.8vw,2rem);color:var(--brand);margin:0;letter-spacing:-.01em}
/* Bloque 1: destacado grande + 3 tarjetas */
.exp-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:16px;align-items:stretch}
.exp-grid .rcard{width:auto}
.exp-hero{position:relative;display:block;border-radius:22px;overflow:hidden;min-height:330px;
  box-shadow:0 18px 50px -22px rgba(60,40,16,.4)}
.exp-hero picture{position:absolute;inset:0}
.exp-hero img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.exp-hero:hover img{transform:scale(1.05)}
.exp-hero-veil{position:absolute;inset:0;background:linear-gradient(185deg,transparent 38%,rgba(18,13,8,.78) 88%)}
.exp-hero-info{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;color:#fff;display:flex;flex-direction:column;gap:8px}
.exp-hero-tag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(4px);border-radius:999px;padding:5px 13px;
  font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.exp-hero-info strong{font-family:var(--serif);font-weight:500;font-size:1.25rem;line-height:1.3}
.exp-hero-price{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.1rem}
.exp-hero-price em{font-style:normal;font-size:.85rem;font-weight:600;color:var(--accent-soft)}
/* Bloque 2: lista compacta "de la misma línea" */
.exp-sec{margin-top:38px}
.exp-subtitle{display:flex;align-items:center;gap:9px;font-size:1.02rem;font-weight:600;color:var(--brand);margin:0 0 14px}
.exp-subtitle svg{color:var(--accent)}
.exp-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.exp-row{display:grid;grid-template-columns:60px 1fr auto auto;gap:14px;align-items:center;
  padding:9px 12px;border-radius:14px;border:1px solid transparent;transition:background .2s,border-color .2s,box-shadow .2s}
.exp-row picture{width:60px;height:60px;border-radius:12px;overflow:hidden;display:block}
.exp-row picture img{width:100%;height:100%;object-fit:cover;display:block}
.exp-row:hover{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}
.exp-row-info{min-width:0}
.exp-row-info strong{display:block;font-size:.9rem;font-weight:500;color:var(--ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exp-row-info span{font-size:.74rem;color:var(--muted)}
.exp-row-price{font-weight:700;color:var(--brand);font-size:.94rem;white-space:nowrap}
.exp-row-arrow{color:var(--accent);font-weight:700;transition:transform .25s}
.exp-row:hover .exp-row-arrow{transform:translateX(4px)}
/* Bloque 3: tira "stories" de vistos recientemente */
.exp-dots{display:flex;gap:20px;overflow-x:auto;padding:6px 2px 14px;scrollbar-width:none}
.exp-dots::-webkit-scrollbar{display:none}
.exp-dot{flex:0 0 auto;width:96px;text-align:center}
.exp-dot picture{display:block;width:84px;height:84px;margin:0 auto 8px;border-radius:50%;overflow:hidden;
  border:2px solid var(--line-2);transition:border-color .25s,transform .25s}
.exp-dot picture img{width:100%;height:100%;object-fit:cover;display:block}
.exp-dot:hover picture{border-color:var(--accent);transform:translateY(-3px)}
.exp-dot span{display:block;font-size:.72rem;color:var(--muted);line-height:1.3}
@media(max-width:960px){
  .exp-grid{grid-template-columns:1fr 1fr}
  .exp-hero{grid-column:1/-1;min-height:250px}
  .exp-list{grid-template-columns:1fr}
}

/* ===== Accesibilidad: foco visible coherente en toda la tienda ===== */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ===== Ficha: precio en el CTA + prueba social + pagos junto al botón ===== */
.btn-add-price{font-variant-numeric:tabular-nums;opacity:.92}
.pdp-views{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:.86rem;color:var(--muted)}
.pdp-views svg{color:var(--accent)}
.pdp-views strong{color:var(--ink)}
.pay-methods--pdp{margin-top:12px}

/* ===== Popup de bienvenida (cupón por email) ===== */
.mz-pop{position:fixed;inset:0;z-index:2000;background:rgba(20,17,15,.55);display:flex;align-items:center;
  justify-content:center;padding:20px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  animation:mzPopIn .3s var(--ease)}
.mz-pop[hidden]{display:none!important} /* display:flex pisaba el atributo hidden: el popup no se podía cerrar */
@keyframes mzPopIn{from{opacity:0}to{opacity:1}}
.mz-pop-card{position:relative;background:#fff;border-radius:22px;padding:38px 34px 30px;max-width:430px;width:100%;
  text-align:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);animation:mzCardIn .35s var(--ease)}
@keyframes mzCardIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.mz-pop-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;
  background:var(--surface-2);color:var(--muted);font-size:1rem;transition:background .2s,color .2s}
.mz-pop-x:hover{background:var(--accent-bg);color:var(--ink)}
.mz-pop-eyebrow{display:inline-flex;align-items:center;gap:7px;background:var(--accent-bg);color:var(--accent);
  border-radius:999px;padding:6px 16px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.mz-pop-card h2,.mz-pop-title{font-family:var(--serif);font-weight:500;font-size:1.65rem;color:var(--brand);margin:0 0 10px;line-height:1.25}
.mz-pop-card h2 em,.mz-pop-title em{color:var(--accent);font-style:normal}
.mz-pop-card p{margin:0 0 16px;color:var(--muted);font-size:.95rem;line-height:1.55}
.mz-pop-card form{display:flex;gap:8px;margin-bottom:10px}
.mz-pop-card form input[type=email]{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:999px;
  padding:13px 18px;font-size:1rem;outline:0}
.mz-pop-card form input[type=email]:focus{border-color:var(--accent-soft)}
.mz-pop-err{color:var(--err);font-size:.85rem}
.mz-pop-small{font-size:.78rem;color:#a99d8d;margin:0}
.mz-pop-code{font-size:1.7rem;font-weight:800;letter-spacing:.12em;color:var(--accent);background:var(--accent-bg);
  border:2px dashed var(--accent-soft);border-radius:14px;padding:16px;cursor:pointer;user-select:all;
  transition:transform .15s}
.mz-pop-code:active{transform:scale(.97)}
.mz-pop-code.is-copied::after{content:" ✓ copiado";font-size:.8rem;letter-spacing:0;color:var(--ok)}
@media(max-width:480px){
  .mz-pop{align-items:flex-end;padding:0}
  .mz-pop-card{border-radius:22px 22px 0 0;max-width:none}
  .mz-pop-card form{flex-direction:column}
}

/* Contador individual por tarjeta de oferta flash (esquina inferior de la imagen) */
.card-cd{position:absolute;left:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:rgba(20,17,15,.82);color:#fff;border-radius:999px;padding:5px 12px;font-size:.78rem;
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.card-cd svg{color:var(--accent-soft)}
.card-cd .cd-clock{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.card-media img,.gallery-main img,.ritual-media img,.che-card img,.hc-pcard img,.thumb img,.vswatch img,.rcard-media img,.upsell-media img{
  mix-blend-mode:multiply}
/* La imagen activa de la galería conserva el blend; el contenedor da el tono */
.gallery-main{border-radius:18px;overflow:hidden}

/* ===== Premium imágenes: hover-zoom en tarjetas + lupa en la ficha ===== */
.card-media{overflow:hidden}
.card-media img{transition:transform .55s var(--ease)}
.card:hover .card-media img{transform:scale(1.06)}
.ritual-media img,.che-card img{transition:transform .5s var(--ease)}
.ritual-media:hover img{transform:scale(1.05)}
/* Lupa de inspección en la galería de producto */
.gallery-main{cursor:zoom-in}
.gallery-main img{transition:transform .3s var(--ease)}
.gallery-main.zoomed img{transition:transform .05s linear}

/* ===== Ofertas: captura de email "avísame" ===== */
.flash-notify{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:34px;
  background:linear-gradient(120deg,#2a201a,#16120d);color:#f0e4d3;border-radius:18px;padding:26px 30px}
.flash-notify h2{color:#fff;font-size:1.4rem;margin:0 0 6px}
.flash-notify-text p{margin:0;color:#cdbfac;font-size:.95rem}
.flash-notify-form{display:flex;gap:10px;flex:1;min-width:280px;max-width:460px}
.flash-notify-form input[type=email]{flex:1;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);
  color:#fff;border-radius:999px;padding:12px 18px;font-size:1rem;outline:0}
.flash-notify-form input[type=email]:focus{border-color:var(--accent-soft)}
.flash-notify-form input[type=email]::placeholder{color:#bdae99}
.flash-notify .alert-ok{flex:1;min-width:260px;margin:0}
.form-err{color:#ffb4a8;font-size:.86rem;margin:8px 0 0;flex-basis:100%}
@media(max-width:640px){.flash-notify{flex-direction:column;align-items:stretch}.flash-notify-form{max-width:none}}

/* ===== Iconos SVG inline ===== */
.ico{flex:none;display:inline-block;vertical-align:middle}

/* ===== Home · sección "¿Qué necesitas hoy?" (intención/ayuda) ===== */
.needs-head{margin-bottom:26px}
.needs-sub{color:var(--muted);margin-top:6px;max-width:62ch;line-height:1.5}
.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.need{display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:17px 19px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.need:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.need-ico{flex:none;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--accent-bg);color:var(--accent)}
.need-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.need-txt strong{font-family:var(--serif);font-weight:500;font-size:1.08rem;color:var(--brand)}
.need-txt span{font-size:.85rem;color:var(--muted);line-height:1.35}
.need-arrow{flex:none;color:var(--accent-soft);transition:transform .25s,color .2s}
.need:hover .need-arrow{transform:translateX(3px);color:var(--accent)}
.needs-help{display:flex;align-items:center;gap:13px;margin-top:18px;padding:15px 22px;border-radius:var(--radius);
  background:linear-gradient(120deg,#2a201a,#16120d);color:#eaddc9;font-size:.96rem;line-height:1.4}
.needs-help svg{flex:none;color:var(--accent-soft)}.needs-help span:not(.need-arrow){flex:1}
.needs-help strong{color:#fff}.needs-help .need-arrow{color:var(--accent-soft)}
.needs-help:hover .need-arrow{color:#fff}
@media(max-width:860px){.needs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.needs-grid{grid-template-columns:1fr}.needs-help{align-items:flex-start}}

/* ===== Carrito · bloque de confianza de pago ===== */
.cart-trust{margin-top:14px;padding:15px 16px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}
.cart-trust-head{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--brand);font-size:.97rem;margin-bottom:10px}
.cart-trust-head svg{color:var(--ok)}
.cart-trust-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:7px}
.cart-trust-list li{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;color:var(--muted);line-height:1.35}
.cart-trust-list li>span{flex:1;min-width:0}
.cart-trust-list svg{flex:none;color:var(--accent);margin-top:1px}.cart-trust-list strong{color:var(--ink)}
.pay-methods{display:flex;gap:6px;flex-wrap:wrap}
.pay-methods span{font-size:.66rem;font-weight:700;letter-spacing:.03em;color:#6b5d4b;background:#fff;border:1px solid var(--line);border-radius:5px;padding:3px 8px}

/* ===== Recomendados · carruseles horizontales (moderno, scroll-snap) ===== */
.reco-block{margin-top:48px}
.reco-head{margin-bottom:18px}
.reco-eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:3px}
.reco-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,3vw,1.75rem);color:var(--brand);margin:0}
.reco-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 16px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reco-rail::-webkit-scrollbar{display:none}
.rcard{flex:0 0 auto;width:204px;scroll-snap-align:start}
.rcard-media{display:block;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1;border:1px solid var(--line)}
.rcard-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.rcard:hover .rcard-media img{transform:scale(1.07)}
.rcard-badge{position:absolute;top:9px;left:9px;z-index:2;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px}
.rcard-body{padding:11px 3px 0}
.rcard-eyebrow{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600}
.rcard-name{display:block;font-size:.9rem;color:var(--ink);line-height:1.32;margin:3px 0 9px;font-weight:500;overflow-wrap:anywhere}
.rcard-name:hover{color:var(--accent)}
.rcard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rcard-price{font-weight:600;color:var(--brand);font-size:.96rem}.rcard-price .price-now{color:var(--accent)}
.rcard .quick-add{margin:0}
.rcard-add{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;cursor:pointer;
  border-radius:50%;background:var(--brand);color:#fff;transition:background .2s,transform .15s;flex:none}
.rcard-add:hover{background:var(--accent)}.rcard-add:active{transform:scale(.9)}
@media(max-width:560px){.rcard{width:158px}}

/* ===== Carrito · cupón ===== */
.cart-coupon{margin-top:14px}
.coupon-form{display:flex;gap:8px}
.coupon-form input{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:999px;padding:10px 16px;font-size:.92rem;text-transform:uppercase}
.coupon-on{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ok);font-weight:600;background:#eaf5ed;border:1px solid #cfe8d6;border-radius:10px;padding:9px 13px}
.coupon-on form{margin-left:auto;display:flex}.coupon-x{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1}
.announce--ship{background:var(--brand)}
.ship-promo-note{display:flex;gap:6px;align-items:center;margin:6px 0 0;font-size:.85rem;color:var(--accent)}
.cart-notice{display:flex;gap:8px;align-items:center;margin:0 0 16px;padding:12px 16px;border-radius:var(--radius-sm);background:#eef6ee;color:#1f5a2a;font-weight:600;font-size:.95rem}
.coupon-note{margin:8px 0 0;font-size:.83rem}.coupon-note.is-ok{color:var(--ok)}.coupon-note.is-err{color:#a23}

/* ===== v3 · conversión y UX ===== */
/* Checkout: campos con error claramente marcados */
.checkout-form input.is-invalid,.checkout-form textarea.is-invalid{border-color:var(--err);background:#fdf6f6}
.checkout-form input.is-invalid:focus,.checkout-form textarea.is-invalid:focus{outline-color:var(--err)}
.check-invalid{color:var(--err)}
.checkout-form .btn-block svg{margin-right:6px;vertical-align:-3px}
/* Checkout móvil: el resumen del pedido se ve ANTES de rellenar el formulario */
@media(max-width:900px){
  .checkout-page .cart-layout{display:flex;flex-direction:column}
  .checkout-page .cart-summary{order:-1}
}
/* Carrito: el <picture> ES la celda del grid (display:contents convertía los <source>
   en celdas fantasma y descolocaba precio+✕ a una segunda línea). El tamaño lo
   gobierna styles.css (88px escritorio / 64px móvil), aquí solo el display. */
.cart-row picture{display:block;flex:none}
.cart-row picture img{width:100%;height:100%;border-radius:12px;object-fit:cover}
/* Carrito: envío gratis conseguido */
.cart-incentive--ok{background:#eaf5ed;border-color:#cfe8d6}
.cart-incentive--ok p{color:var(--ok);display:flex;align-items:center;gap:8px;margin:0}
/* Carrito vacío con reconducción */
.empty-cart{display:flex;flex-direction:column;align-items:center;gap:14px}
.empty-cart p{margin:0}
.empty-cart-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
/* Búsqueda: estado "sin resultados" */
.ac-empty{padding:16px 14px 12px;font-size:.92rem;color:var(--ink)}
.ac-empty span{display:block;margin-top:4px;font-size:.82rem;color:var(--muted)}
/* Gracias: línea de próximos pasos */
.success-steps{list-style:none;counter-reset:none;display:flex;flex-direction:column;gap:0;margin:30px auto 26px;padding:0;max-width:430px;text-align:left}
.success-steps li{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:14px;position:relative;padding-bottom:22px}
.success-steps li:last-child{padding-bottom:0}
.success-steps li::before{content:'';position:absolute;left:16px;top:34px;bottom:2px;width:2px;background:var(--line-2)}
.success-steps li:last-child::before{display:none}
.success-steps .ss-ico{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--surface-2);border:1px solid var(--line-2);color:var(--muted)}
.success-steps .is-done .ss-ico{background:var(--ok);border-color:var(--ok);color:#fff}
.success-steps strong{font-size:.97rem;color:var(--brand)}
.success-steps li>span:not(.ss-ico){font-size:.86rem;color:var(--muted);line-height:1.4}
.success-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px}
/* Stepper de cantidad: tap targets más cómodos en móvil */
@media(max-width:600px){
  .stepper .step{width:52px;height:56px}
  .stepper input{height:56px}
}

/* ===== Página de ofertas flash (v3) ===== */
.flash-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.flash-stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#f0e4d3;
  border-radius:999px;padding:7px 16px;font-size:.86rem}
.flash-stat b{color:#fff;font-size:1rem;margin-right:3px}
/* Espera: countdown grande hacia la próxima */
.flash-wait{text-align:center;padding:46px 24px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:10px}
.flash-wait .flash-tag{margin:0}
.flash-wait-title{margin:0;font-family:var(--serif);font-size:1.3rem;color:var(--brand)}
.flash-wait-clock{font-size:clamp(2.2rem,7vw,3.4rem);font-weight:700;color:var(--accent);
  font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1.1}
.flash-wait .muted{max-width:52ch;margin:0}
/* Programa del día */
.flash-program{margin-top:44px}
.fp-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 16px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fp-rail::-webkit-scrollbar{display:none}
.fp-card{flex:0 0 auto;width:178px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;
  background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;position:relative}
.fp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.fp-time{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;background:var(--brand);color:#fff;
  font-size:.78rem;font-weight:700;border-radius:999px;padding:4px 11px;font-variant-numeric:tabular-nums}
.fp-media{display:block;border-radius:12px;overflow:hidden;aspect-ratio:1;background:var(--surface-2)}
.fp-media img{width:100%;height:100%;object-fit:cover;display:block}
.fp-pct{position:absolute;top:44px;right:18px;background:var(--accent);color:#fff;font-size:.74rem;font-weight:700;
  border-radius:999px;padding:3px 9px}
.fp-name{font-size:.85rem;color:var(--ink);line-height:1.3;font-weight:500;min-height:2.2em}
.fp-cta{font-size:.78rem;color:var(--accent);font-weight:600}
/* Cómo funcionan */
.flash-how{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}
.fh-item{display:flex;flex-direction:column;gap:5px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 20px}
.fh-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:var(--accent-bg);color:var(--accent);margin-bottom:4px}
.fh-item strong{color:var(--brand);font-size:1rem}
.fh-item span:last-child{font-size:.85rem;color:var(--muted);line-height:1.4}
@media(max-width:720px){.flash-how{grid-template-columns:1fr}.fp-card{width:158px}}
/* ===== Guías v2 ===== */
.guia-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:.88rem;color:rgba(255,255,255,.85)}
.guia-meta span{display:inline-flex;align-items:center;gap:6px}
.guia-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;
  padding:4px 13px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.guia-chip:hover{background:rgba(255,255,255,.24)}
/* Caja "En 30 segundos" (resumen accionable arriba del todo) */
.g-keys{background:var(--accent-bg);border:1px solid var(--line-2);border-left:4px solid var(--accent);
  border-radius:var(--radius-sm);padding:18px 22px;margin:0 0 26px}
.g-keys>strong{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.g-keys ul{margin:0;padding-left:20px}
.g-keys li{margin-bottom:6px;font-size:.95rem;line-height:1.5}
.g-keys li:last-child{margin-bottom:0}
/* Cuerpo: primer párrafo como lead */
.guia-body>p:first-of-type{font-size:1.16rem;line-height:1.7;color:var(--brand)}
.guia-body h2{font-family:var(--serif);font-weight:500;color:var(--brand);border-bottom:1px solid var(--line);padding-bottom:8px}
.guia-faq{margin:34px auto 0}
.guia-faq .section-title{margin-bottom:16px}
/* Sigue leyendo */
.guia-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guia-rel-card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 22px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.guia-rel-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.guia-rel-read{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;color:var(--accent);font-weight:600}
.guia-rel-card strong{font-family:var(--serif);font-weight:500;font-size:1.05rem;color:var(--brand);line-height:1.35}
.guia-rel-x{font-size:.86rem;color:var(--muted);line-height:1.45;flex:1}
@media(max-width:860px){.guia-rel{grid-template-columns:1fr}}

/* Ficha: "un acierto para" (ángulo regalo) */
.prod-who{display:flex;align-items:center;gap:9px;margin:14px 0 0;padding:12px 16px;background:var(--accent-bg);
  border:1px solid var(--line-2);border-radius:var(--radius-sm);font-size:.93rem;color:#5b4f3f}
.prod-who svg{flex:none;color:var(--accent)}

/* ===== Blog v3 · componentes editoriales ===== */
/* Consejo destacado */
.g-tip,.g-warn{border-radius:var(--radius-sm);padding:18px 22px;margin:24px 0}
.g-tip{background:#eaf5ed;border:1px solid #cfe8d6;border-left:4px solid var(--ok)}
.g-warn{background:#fdf3ec;border:1px solid #f3ddc8;border-left:4px solid #c4732a}
.g-tip>strong,.g-warn>strong{display:block;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.g-tip>strong{color:var(--ok)}.g-warn>strong{color:#c4732a}
.g-tip p,.g-warn p{margin:0;font-size:.96rem;line-height:1.6}
/* Pasos numerados */
.g-steps{list-style:none;counter-reset:gstep;margin:22px 0;padding:0}
.g-steps li{counter-increment:gstep;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;
  column-gap:16px;position:relative;padding-bottom:20px}
.g-steps li:last-child{padding-bottom:0}
.g-steps li::before{content:counter(gstep);grid-row:1/3;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--brand);color:#f3ece0;
  font-weight:700;font-size:1.05rem;font-family:var(--serif)}
.g-steps li::after{content:'';position:absolute;left:19px;top:44px;bottom:2px;width:2px;background:var(--line-2)}
.g-steps li:last-child::after{display:none}
.g-steps li>strong{align-self:center;color:var(--brand);font-size:1.02rem}
.g-steps li>span{grid-column:2;font-size:.95rem;color:var(--muted);line-height:1.55;margin-top:2px}
/* Tarjeta de producto inline (sugerencia editorial con imagen real) */
.g-prod{position:relative;display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;margin:30px 0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 18px;
  box-shadow:var(--shadow-sm)}
.g-prod-tag{position:absolute;top:-11px;left:18px;background:var(--brand);color:#f3ece0;font-size:.68rem;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:4px 14px}
.g-prod-media{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:1;background:var(--surface-2)}
.g-prod-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.g-prod:hover .g-prod-media img{transform:scale(1.06)}
.g-prod-badge{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;
  border-radius:999px;padding:3px 9px}
.g-prod-info{min-width:0}
.g-prod-eyebrow{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:4px}
.g-prod-name{display:block;font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--brand);
  line-height:1.35;text-decoration:none}
.g-prod-name:hover{color:var(--accent)}
.g-prod-note{margin:6px 0 0;font-size:.88rem;color:var(--muted);line-height:1.45}
.g-prod-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.g-prod-price{font-weight:700;color:var(--brand);font-size:1.08rem}
.g-prod-price .price-now{color:var(--accent)}
.g-prod-price .price-was{font-size:.86rem;color:var(--muted);text-decoration:line-through;font-weight:400;margin-left:6px}
@media(max-width:560px){
  .g-prod{grid-template-columns:96px 1fr;padding:14px 16px;gap:14px}
  .g-prod-name{font-size:1rem}
}
/* Blog listado: artículo destacado */
.diario-feat{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:34px;
  transition:transform .3s var(--ease),box-shadow .3s}
.diario-feat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.diario-feat-img{position:relative;display:block;min-height:300px;background:var(--bg) center/cover no-repeat,var(--surface-2)}
.diario-feat-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:34px 36px;justify-content:center}
.diario-feat-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2.6vw,1.8rem);color:var(--brand);margin:0;line-height:1.3}
.diario-feat-body p{margin:0;color:var(--muted);line-height:1.55}
.diario-feat-tags{display:flex;align-items:center;gap:12px}
.diario-tag{background:var(--accent-bg);color:var(--accent);border:1px solid var(--line-2);border-radius:999px;
  padding:3px 12px;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.diario-tag--over{position:absolute;top:12px;left:12px;z-index:2;background:#fff}
.diario-read{display:inline-flex;align-items:center;gap:5px}
@media(max-width:780px){.diario-feat{grid-template-columns:1fr}.diario-feat-img{min-height:200px}.diario-feat-body{padding:24px 22px}}

/* Footer: contacto directo (email / tel / WhatsApp) */
.footer-contact{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:6px}
.footer-contact a{font-size:.88rem;color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px}
.footer-contact a:hover{opacity:1}
.footer-addr{font-style:normal;margin:12px 0 0;font-size:.82rem;line-height:1.5;color:#9c8e7b}
.newsletter .form-err{flex-basis:100%;margin:6px 0 0}

/* Estado de carga en botones de compra (anti doble-envío) */
.btn.is-loading{position:relative;color:transparent!important;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:mz-spin .7s linear infinite}
@keyframes mz-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.btn.is-loading::after{animation-duration:1.4s}}

/* PDP agotada: aviso de reposición "Avísame cuando vuelva" (mobile-first) */
.restock{background:var(--accent-bg);border:1px solid var(--line-2);border-radius:14px;padding:18px;margin:4px 0 6px}
.restock-lead{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;color:var(--ink);font-size:.98rem;line-height:1.45}
.restock-lead svg{flex:none;margin-top:2px;color:var(--accent)}
.restock-form{display:flex;flex-direction:column;gap:10px}
.restock-form input[type=email]{width:100%;font-size:16px;padding:13px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink)}
.restock-form input[type=email]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.restock-form .btn{width:100%;justify-content:center}
.restock-note{margin:10px 0 0;font-size:.82rem;color:var(--muted)}
.restock-msg{margin:0 0 12px;padding:11px 13px;border-radius:10px;font-size:.92rem;font-weight:500}
.restock-msg.is-ok{background:#eaf4ed;color:var(--ok);border:1px solid #cfe6d6}
.restock-msg.is-err{background:#f8ebeb;color:var(--err);border:1px solid #eccccc}
@media(min-width:480px){
  .restock-form{flex-direction:row}
  .restock-form input[type=email]{flex:1}
  .restock-form .btn{width:auto;flex:none;white-space:nowrap}
}

/* ===== Reseñas de clientes (PDP) ===== */
.stars{display:inline-flex;gap:1px;line-height:0;vertical-align:middle}
.reviews-stars{color:#d99a2b}
.product-rating{display:inline-flex;align-items:center;gap:8px;margin:2px 0 0;color:var(--ink);text-decoration:none;font-size:.9rem}
.product-rating:hover{color:var(--accent)}
.reviews-sec{border-top:1px solid var(--line);padding-top:34px}
.reviews-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:18px}
.reviews-head .section-title{margin:0}
.reviews-score{display:inline-flex;align-items:center;gap:8px}
.reviews-avg{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--brand);line-height:1}
.reviews-count{color:var(--muted);font-size:.86rem}
.reviews-empty{color:var(--muted);background:var(--surface-2);border-radius:12px;padding:16px 18px;margin:0 0 20px}
.reviews-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:16px}
.review{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.review-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}
.review-author{font-weight:600;color:var(--ink)}
.review-badge{display:inline-flex;align-items:center;gap:4px;background:#eaf4ed;color:var(--ok);font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:999px}
.review-date{color:var(--muted);font-size:.8rem;margin-left:auto}
.review-body{margin:0;color:var(--ink);line-height:1.55}
.review-form-wrap{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:4px 18px}
.review-form-wrap>summary{cursor:pointer;font-weight:600;padding:14px 0;color:var(--accent);list-style:none}
.review-form-wrap>summary::-webkit-details-marker{display:none}
.review-form-wrap>summary::before{content:"✎ "}
.review-form{display:flex;flex-direction:column;gap:12px;padding:6px 0 18px}
.review-field-label{font-weight:600;font-size:.9rem;color:var(--ink)}
.review-form input[type=text],.review-form input[type=email],.review-form textarea{width:100%;font-size:16px;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);font-family:inherit}
.review-form input:focus-visible,.review-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.review-form textarea{resize:vertical;min-height:96px}
.review-form .btn{align-self:flex-start}
/* Selector de estrellas accesible (radios reales, sin JS) */
.rate-pick{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.rate-pick input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.rate-pick label{color:#d8cbb6;cursor:pointer;line-height:0;border-radius:4px;transition:color .12s}
.rate-pick label:hover,.rate-pick label:hover ~ label,
.rate-pick input:checked ~ label{color:#d99a2b}
.rate-pick input:focus-visible + label{outline:2px solid var(--accent);outline-offset:2px}

/* ═══════════════════════════════════════════════════════════════════════════
   HÉROES CON VIDA — entrada en escena, ambiente y gesto propio por categoría
   Reglas de la casa que se respetan aquí:
   · Nada anima layout: solo opacity, transform, scale y translate → CLS = 0.
   · El H1 NUNCA arranca en opacity:0 (es candidato a LCP y retrasarlo cuesta
     décimas de verdad): sube desde abajo, pero se pinta en el primer frame.
   · Todo lo decorativo es aria-hidden y pointer-events:none.
   · prefers-reduced-motion apaga TODO al final del bloque.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Entrada en escena, escalonada ─────────────────────────────────────────── */
@keyframes heroRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes heroLift{from{transform:translateY(20px)}to{transform:none}}   /* sin opacidad: LCP intacto */
@keyframes heroPop{from{opacity:0;scale:.94}to{opacity:1;scale:1}}

.cat-hero-text > *,
.hc-slide.is-active .hc-text > *{animation:heroRise .62s var(--ease) both}
.cat-hero-text > h1,
.hc-slide.is-active .hc-text > .hc-title{animation-name:heroLift}
.cat-hero-text > :nth-child(1),
.hc-slide.is-active .hc-text > :nth-child(1){animation-delay:.04s}
.cat-hero-text > :nth-child(2),
.hc-slide.is-active .hc-text > :nth-child(2){animation-delay:.10s}
.cat-hero-text > :nth-child(3),
.hc-slide.is-active .hc-text > :nth-child(3){animation-delay:.20s}
.cat-hero-text > :nth-child(4),
.hc-slide.is-active .hc-text > :nth-child(4){animation-delay:.30s}
/* El collage entra con scale (propiedad independiente) para no pisar el parallax de transform */
.cat-hero-collage{animation:heroPop .85s var(--ease) .12s both}
.hc-slide.is-active .hc-prods{animation:heroPop .85s var(--ease) .18s both}

/* ── Home: la foto respira (zoom lentísimo) y el resplandor se mueve ───────── */
@keyframes hcKen{from{transform:scale(1.04)}to{transform:scale(1.13)}}
.hc-slide.is-active .hc-bg{animation:hcKen 24s ease-out both}
@media(min-width:861px){   /* en móvil el glow está recolocado por su media query: no lo tocamos */
  .hc-glow{animation:hcGlow 15s ease-in-out infinite alternate}
}
@keyframes hcGlow{from{transform:translateY(-50%) translateX(0) scale(1)}
                  to{transform:translateY(-50%) translateX(-46px) scale(1.14)}}

/* Brillo dorado que recorre la palabra destacada del titular */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hc-title em{background:linear-gradient(100deg,var(--accent-soft) 0%,#fff4de 42%,var(--accent-soft) 64%);
    background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
    animation:hcShine 7s ease-in-out infinite}
  @keyframes hcShine{0%,58%{background-position:125% 0}100%{background-position:-25% 0}}
}

/* Grano de película: le quita el plástico al degradado */
.hero-carousel::after,.cat-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:170px 170px;z-index:1}
.hero-carousel::after{z-index:4}

/* Barrido de luz girando tras el collage de categoría */
.cat-hero-collage::before{content:"";position:absolute;inset:-20%;z-index:-1;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 60%,rgba(255,226,186,.15) 76%,transparent 90%);
  animation:cheSweep 22s linear infinite}
@keyframes cheSweep{to{rotate:360deg}}

/* ── Gesto propio de cada categoría ───────────────────────────────────────── */
.cat-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.cat-fx i{position:absolute;display:block;border-radius:50%;opacity:0}
.cat-fx i:nth-child(1){left:7%;top:62%;animation-delay:0s;animation-duration:11s}
.cat-fx i:nth-child(2){left:23%;top:26%;animation-delay:-2.4s;animation-duration:13s}
.cat-fx i:nth-child(3){left:39%;top:76%;animation-delay:-5.1s;animation-duration:10s}
.cat-fx i:nth-child(4){left:57%;top:17%;animation-delay:-7.3s;animation-duration:14s}
.cat-fx i:nth-child(5){left:73%;top:56%;animation-delay:-3.6s;animation-duration:12s}
.cat-fx i:nth-child(6){left:88%;top:35%;animation-delay:-9s;animation-duration:15s}

/* Humo (inciensos, té): columnas que suben, se abren y se deshacen */
.cat-fx.cat-fx--smoke i{top:auto;bottom:-12%;width:110px;height:110px;filter:blur(11px);
  background:radial-gradient(circle,rgba(255,243,225,.20),transparent 68%);
  animation-name:fxSmoke;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fxSmoke{0%{opacity:0;transform:translate3d(0,0,0) scale(.45)}
  14%{opacity:.9}100%{opacity:0;transform:translate3d(30px,-330px,0) scale(2)}}

/* Destellos (cristales, joyería): brillos que aparecen y se apagan */
.cat-fx.cat-fx--sparkle i{width:6px;height:6px;background:#fff;
  box-shadow:0 0 14px 3px rgba(255,240,214,.7);
  animation-name:fxTwinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes fxTwinkle{0%,100%{opacity:0;scale:.35}50%{opacity:1;scale:1}}

/* Burbujas (baño y cuerpo): suben y se escapan por arriba */
.cat-fx.cat-fx--bubbles i{top:auto;bottom:-8%;width:15px;height:15px;border:1px solid rgba(214,242,255,.5);
  background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.6),rgba(255,255,255,.04));
  animation-name:fxBubble;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fxBubble{0%{opacity:0;transform:translate3d(0,0,0) scale(.55)}
  12%{opacity:.95}100%{opacity:0;transform:translate3d(22px,-320px,0) scale(1.2)}}

/* Ondas (aromaterapia, fragancias): el aroma saliendo del difusor */
.cat-fx.cat-fx--waves i{left:74%;top:46%;width:70px;height:70px;border:1px solid rgba(255,236,214,.32);
  animation-name:fxWave;animation-timing-function:ease-out;animation-iteration-count:infinite}
@keyframes fxWave{0%{opacity:.7;transform:translate(-50%,-50%) scale(.3)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}

/* Llama (velas): halo cálido que respira, con ritmo irregular para que parezca fuego */
.cat-fx.cat-fx--flicker i{width:170px;height:170px;filter:blur(9px);
  background:radial-gradient(circle,rgba(255,196,110,.3),transparent 66%);
  animation-name:fxFlicker;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:3.6s}
.cat-fx.cat-fx--flicker i:nth-child(n+4){display:none}
@keyframes fxFlicker{0%,100%{opacity:.45;scale:1}38%{opacity:.95;scale:1.09}62%{opacity:.6;scale:.97}81%{opacity:.88;scale:1.05}}

/* Motas (hogar, moda): polvo suspendido en un rayo de sol */
.cat-fx.cat-fx--motes i{width:5px;height:5px;background:rgba(255,241,222,.8);
  animation-name:fxMote;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes fxMote{0%{opacity:0;transform:translate3d(0,24px,0)}18%{opacity:.75}84%{opacity:.45}
  100%{opacity:0;transform:translate3d(44px,-250px,0)}}

@media(max-width:640px){
  .cat-fx i:nth-child(n+5){display:none}   /* menos partículas en móvil: menos pintado */
  .cat-fx.cat-fx--smoke i,.cat-fx.cat-fx--flicker i{width:90px;height:90px}
}

/* ── Respeto total a quien pide menos movimiento ──────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .cat-hero-text > *,.hc-slide.is-active .hc-text > *,.cat-hero-collage,.hc-slide.is-active .hc-prods,
  .hc-slide.is-active .hc-bg,.hc-glow,.hc-title em,.cat-hero-collage::before,.cat-fx i{animation:none!important}
  .cat-fx{display:none}
  .hc-title em{color:var(--accent-soft)}
}

/* ═══════════════════════════════════════════════════════════════════════════
   CARRITO v2 — editar sin recargar, resumen siempre a la vista
   ═══════════════════════════════════════════════════════════════════════════ */

/* Miniatura con marco propio: la foto ya no flota suelta en la fila */
.cart-row-media{display:block;flex:none;width:88px;height:88px;border-radius:12px;overflow:hidden;
  background:var(--surface-2);border:1px solid var(--line)}
.cart-row-media picture,.cart-row-media img{width:100%;height:100%;object-fit:cover;display:block}
.cart-row{transition:opacity .26s var(--ease),transform .26s var(--ease),background .2s}
.cart-row.is-gone{opacity:0;transform:translateX(-18px)}
.cart-items.is-busy{opacity:.65;pointer-events:none;transition:opacity .15s}

/* Aviso de últimas unidades: dato real del proveedor, no urgencia inventada */
.cart-low{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:.76rem;font-weight:600;
  color:#a8541f;background:#fdf0e4;border:1px solid #f2d9c2;border-radius:999px;padding:3px 9px;width:fit-content}
.cart-low svg{flex:none}

/* Stepper − / + : botones de 40px, sin recargar la página al tocarlos */
.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;
  overflow:hidden;background:#fff}
.cart-qty input[type=number]{width:44px;border:0;text-align:center;font-size:1rem;font-weight:600;color:var(--ink);
  background:transparent;padding:0;-moz-appearance:textfield}
.cart-qty input[type=number]::-webkit-outer-spin-button,
.cart-qty input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:40px;height:40px;border:0;background:transparent;color:var(--ink);font-size:1.2rem;line-height:1;
  cursor:pointer;transition:background .18s,color .18s}
.qty-btn:hover{background:var(--surface-2);color:var(--accent)}
.qty-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* El importe que cambia da un golpecito: se ve QUÉ se ha recalculado */
@keyframes cartBump{0%{transform:scale(1)}35%{transform:scale(1.14);color:var(--accent)}100%{transform:scale(1)}}
.is-bump{animation:cartBump .42s var(--ease)}

/* Entrega estimada, justo encima del botón de pagar */
.cart-eta{display:flex;align-items:flex-start;gap:8px;margin:12px 0 4px;padding:10px 12px;
  background:var(--surface-2);border-radius:12px;font-size:.84rem;color:#5c5142;line-height:1.45}
.cart-eta svg{flex:none;margin-top:1px;color:var(--forest,#3f5b3a)}
.cart-eta strong{color:var(--ink);white-space:nowrap}

/* Resumen pegajoso en escritorio: editas arriba y el total nunca se te escapa */
@media(min-width:901px){
  .cart-summary{position:sticky;top:96px;align-self:start}
}

/* Barra fija de móvil con total + pagar */
.cart-bar{display:none}
.cart-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:130;display:flex;align-items:center;gap:14px;
  background:rgba(20,17,13,.95);color:#f4ece0;border-radius:999px;padding:11px 12px 11px 20px;
  box-shadow:0 18px 40px -14px rgba(0,0,0,.6);font-size:.9rem;max-width:calc(100% - 32px)}
.cart-toast[hidden]{display:none}
.cart-toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-toast button{flex:none;border:0;background:var(--accent);color:#fff;font-weight:600;font-size:.86rem;
  padding:8px 16px;border-radius:999px;cursor:pointer;min-height:36px}
.cart-toast button:hover{background:var(--brand)}

@media(max-width:900px){
  .cart-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;align-items:center;gap:14px;
    background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 26px -14px rgba(40,28,14,.45)}
  .cart-bar-info{display:flex;flex-direction:column;line-height:1.15}
  .cart-bar-info span{font-size:.72rem;color:var(--muted)}
  .cart-bar-info strong{font-family:var(--serif);font-size:1.28rem;color:var(--brand)}
  .cart-bar form,.cart-bar .btn{flex:1}
  .cart-bar .btn{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .cart-summary .btn-block,.cart-summary form[action*="checkout"]{display:none}  /* el CTA ya vive en la barra */
  .site-footer{padding-bottom:84px}
  .cart-toast{bottom:88px}
}
@media(max-width:560px){
  .cart-row-media{width:68px;height:68px}
  .qty-btn{width:38px;height:38px}
  .cart-qty input[type=number]{width:34px}
  .cart-eta{font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){
  .is-bump{animation:none}
  .cart-row.is-gone{opacity:0;transform:none}
}
/* La miniatura ahora va envuelta en un enlace: le devolvemos el sitio que styles.css
   le daba a `.cart-row>picture` en la rejilla (si no, en móvil la fila se descuadra). */
.cart-row>.cart-row-media{width:88px;height:88px}
@media(max-width:760px){
  .cart-row>.cart-row-media{grid-area:img;align-self:start;width:64px;height:64px}
}
.filter-note{font-size:.78rem;color:var(--muted);margin:-4px 0 10px;line-height:1.45}

/* =====================================================================
   HEADER v3 (sep-2026): mega-menú de escritorio + panel lateral móvil
   ===================================================================== */
.site-header{position:sticky}
.header-inner{position:relative}
.main-nav .nav-row{display:flex;align-items:center}
.main-nav .sub-toggle{display:none}
.nav-head,.nav-extra{display:none}
.main-nav .has-dd{position:static}
.dd-caret{margin-left:4px;opacity:.55;transition:transform .2s;vertical-align:middle}
.has-dd:hover .dd-caret,.has-dd:focus-within .dd-caret{transform:rotate(180deg)}

/* Panel desplegable: ancho del contenedor, 3 columnas */
.dd{position:absolute;left:0;right:0;top:100%;margin-top:0;padding-top:10px;z-index:120;
  opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.dd-inner{display:grid;grid-template-columns:1.25fr 1fr .95fr;gap:0;background:#fff;border:1px solid var(--line);
  border-radius:20px;box-shadow:0 30px 60px -28px rgba(40,28,14,.45),0 8px 24px -16px rgba(40,28,14,.25);overflow:hidden}
.mega-col{padding:22px 24px}
.mega-col + .mega-col{border-left:1px solid var(--line)}
.mega-title{margin:0 0 10px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.mega-title span{font-weight:500;letter-spacing:0;text-transform:none;font-size:.74rem;opacity:.8}
.mega-links ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
.mega-links li a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;font-size:.9rem;color:var(--ink);transition:background .15s,color .15s}
.mega-links li a:hover{background:var(--surface-2);color:var(--accent)}
.mega-links li a span{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.dd-all{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:9px 14px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:.82rem;transition:background .2s}
.dd-all:hover{background:var(--accent);color:#fff}
.mega-prod{display:flex;gap:12px;align-items:center;padding:8px;border-radius:12px;transition:background .15s}
.mega-prod:hover{background:var(--surface-2)}
.mega-prod img{width:72px;height:72px;border-radius:10px;object-fit:cover;background:var(--surface-2);flex:none}
.mega-prod-txt{display:grid;gap:4px;min-width:0}
.mega-prod-txt strong{font-weight:600;font-size:.86rem;line-height:1.3;color:var(--ink)}
.mega-prod-price{font-size:.86rem;color:var(--accent);font-weight:700}
.mega-prod-price s{color:var(--muted);font-weight:400;margin-left:6px}
.mega-side{background:var(--surface-2);display:flex;flex-direction:column;gap:14px}
.mega-tagline{margin:0;font-family:var(--serif);font-size:1.02rem;line-height:1.5;color:var(--ink)}
.mega-guide{display:grid;gap:6px;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.mega-guide:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mega-guide-eyebrow{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--accent);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mega-guide strong{font-weight:600;font-size:.9rem;line-height:1.35;color:var(--ink)}
.mega-pack{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.86rem;color:var(--ink);margin-top:auto}
.mega-pack:hover{color:var(--accent)}
@media(max-width:1100px) and (min-width:761px){.dd-inner{grid-template-columns:1.3fr 1fr}.mega-side{display:none}}

/* ---------- Menú lateral: móvil y tablet ---------- */
@media(max-width:1100px){
  .nav-toggle{display:inline-flex;order:-1}
  .header-inner{gap:8px;padding:8px 0}
  .logo-img{height:34px}
  html.nav-open,html.nav-open body{overflow:hidden}
  .nav-backdrop{position:fixed;inset:0;background:rgba(20,14,8,.45);backdrop-filter:blur(2px);z-index:180;
    animation:navFade .25s var(--ease)}
  @keyframes navFade{from{opacity:0}to{opacity:1}}
  .main-nav{position:fixed;top:0;bottom:0;left:0;width:min(88vw,380px);z-index:190;background:var(--bg);
    margin:0;display:flex;flex-direction:column;box-shadow:24px 0 60px -30px rgba(40,28,14,.6);
    transform:translateX(-102%);transition:transform .32s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .main-nav.open{transform:none}
  .nav-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;position:sticky;top:0;background:var(--bg);z-index:2;border-bottom:1px solid var(--line)}
  .nav-search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:0 14px;min-height:44px;color:var(--muted)}
  .nav-search input{flex:1;min-width:0;border:0;background:transparent;font-size:16px;padding:10px 0;color:var(--ink)}
  .nav-search input:focus{outline:none}
  .nav-close{flex:none;background:var(--surface-2)}
  .main-nav .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:6px 0 0}
  .main-nav .nav-list > li{width:100%}
  .main-nav .nav-list > li{border-bottom:1px solid var(--line)}
  .main-nav .nav-row{display:flex;align-items:stretch}
  .main-nav .nav-link{flex:1;display:flex;align-items:center;padding:15px 18px;font-size:1.02rem;font-weight:600;white-space:normal}
  .main-nav .nav-link::after{display:none}
  .dd-caret{display:none}
  .main-nav .sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:52px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
  .main-nav .sub-toggle svg{transition:transform .25s var(--ease)}
  .main-nav li.open .sub-toggle{color:var(--accent);background:var(--surface-2)}
  .main-nav li.open .sub-toggle svg{transform:rotate(180deg)}
  .main-nav .dd{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;padding:0;
    display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
  .main-nav li.open .dd{grid-template-rows:1fr}
  .main-nav .dd-inner{min-height:0;overflow:hidden;display:block;border:0;border-radius:0;box-shadow:none;background:var(--surface-2)}
  .mega-feat,.mega-side{display:none}
  .mega-col{padding:6px 10px 14px 18px}
  .mega-title{display:none}
  .mega-links ul{grid-template-columns:1fr}
  .mega-links li a{padding:11px 10px;font-size:.96rem}
  .dd-all{margin:10px 0 4px 10px}
  .nav-extra{display:grid;gap:2px;padding:14px 10px 10px}
  .nav-extra a{display:flex;align-items:center;gap:12px;padding:12px 8px;border-radius:10px;font-weight:600;color:var(--ink)}
  .nav-extra a:hover{background:var(--surface-2);color:var(--accent)}
  .nav-extra a svg{color:var(--accent)}
  .nav-trust{display:flex;align-items:center;gap:8px;margin:10px 8px 0;font-size:.82rem;color:var(--muted)}
}

/* ---------- Ficha en móvil: título y precio antes de la galería ---------- */
@media(max-width:980px){
  .product-info{display:contents}
  .product-eyebrow{order:-3;margin-bottom:6px}
  .product-info h1,.product-rating{order:-2}
  .product-info h1{margin:0 0 4px}
  .pdp-stage{order:-1;margin-top:6px}
  .product-info .buy-box{order:-1;margin-top:14px}   /* precio y botón justo bajo la foto, antes del texto */
  .pdp-stage .gallery-main img{max-height:min(52vh,420px);width:100%;object-fit:contain}
  .pdp-stage .gallery-thumbs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .pdp-stage .thumb{flex:0 0 64px;width:64px;height:64px;scroll-snap-align:start}
  .crumbs{margin-bottom:10px}
}

/* Hero: el CTA primario era tinta sobre fondo oscuro (invisible en móvil). Dorado con texto oscuro. */
.hc-slide .btn-primary{background:var(--accent-soft);color:#1a140e;border-color:var(--accent-soft);box-shadow:0 10px 30px -12px rgba(201,163,106,.7)}
.hc-slide .btn-primary:hover{background:#f4ece0;color:var(--brand);border-color:#f4ece0}
/* El header lleva backdrop-filter, que convierte al panel fijo del menú en hijo suyo (containing block).
   Mientras el menú está abierto, fuera el filtro: así el panel ocupa toda la pantalla. */
html.nav-open .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
.main-nav .nav-list{align-items:center}
@media(max-width:980px){
  .product-section{padding-top:14px}
  .pdp-stage{padding:12px 12px 40px}
  .pdp-stage .gallery-main{aspect-ratio:auto}
  .pdp-stage .gallery-main img{max-height:min(46vh,380px)}
}

/* =====================================================================
   RENDIMIENTO (sep-2026): lo que Lighthouse castiga en móvil son los filtros a
   pantalla completa, el ruido SVG (feTurbulence) y el blur del header. En móvil
   fuera; en escritorio se queda lo que no cuesta.
   ===================================================================== */
.hc-bg{filter:none}
.hc-overlay{background:
  linear-gradient(rgba(18,15,11,.30),rgba(18,15,11,.30)),
  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{filter:none}
@media(max-width:1024px){
  .hero-carousel::after,.cat-hero::before{display:none}
  .cat-hero-glow,.cat-fx i{filter:none}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(250,246,240,.97)}
  .hc-pcard{animation:none}
}
.g-warn strong{color:#9a4f12}
/* Layout más barato: los paneles del menú cerrados y el pie no se maquetan hasta hacer falta. */
@media(min-width:761px){
  .dd{content-visibility:hidden}
  .has-dd:hover .dd,.has-dd:focus-within .dd{content-visibility:visible}
}
@media(max-width:1100px){ .main-nav li:not(.open) .dd{content-visibility:hidden} }
@media(max-width:760px){.hc-bg{background-image:var(--bg-m,var(--bg))}}
/* Sept 2026: editorial storefront, clear discovery and explicit privacy choice. */
.zen-hero{background:#ede9df;color:#233e35;overflow:hidden}
.zen-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-height:590px;padding-top:54px;padding-bottom:54px}
.zen-hero .eyebrow{color:#52685b;font-size:11px;letter-spacing:.19em}
.zen-hero h1{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(44px,5.4vw,78px);line-height:1.08;letter-spacing:-.035em;margin:20px 0}
.zen-hero h1 em{color:#7e5036;font-weight:400}
.zen-hero-lead{max-width:450px;font-size:17px;line-height:1.75;color:#4b564e;margin-bottom:28px}
.zen-hero .btn-primary{background:#244b3f;color:#fff;border-color:#244b3f;min-height:48px}
.zen-text-link{color:#294d40;text-underline-offset:5px;padding:12px 0}
.zen-hero-details{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;margin-top:26px;color:#526058}
.zen-hero-details span{display:flex;align-items:center;gap:6px}
.zen-hero-art{position:relative;height:480px;border-radius:48% 48% 12px 12px;background:radial-gradient(ellipse at 40% 40%,#fffdf5,#d9d8c7 75%)}
.zen-art-label{position:absolute;top:32px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.22em;color:#52685b}
.zen-object{position:absolute;display:block;background:#fffdf8;padding:10px;border-radius:12px;box-shadow:0 14px 40px #283b2520;transition:transform .2s;width:45%;color:#263e34;text-decoration:none}
.zen-object:hover{transform:translateY(-5px)}
.zen-object picture,.zen-object img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px}
.zen-object-0{left:4%;top:90px;width:51%;z-index:2}
.zen-object-1{right:1%;top:64px;width:40%}
.zen-object-2{right:5%;bottom:48px;width:35%;z-index:3}
.zen-object-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 2px 2px;font-size:11px}
.zen-object-label span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.zen-object-label strong{white-space:nowrap;font-size:13px}
.zen-art-caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:14px}
.hero-trustbar a{color:inherit;text-decoration:none;display:flex;gap:7px;align-items:center;min-height:44px}
.cookie-choices{position:fixed;z-index:20000;bottom:16px;left:16px;right:16px;max-width:880px;margin:auto;display:flex;gap:24px;align-items:center;padding:22px;background:#fffdf8;color:#243b32;border:1px solid #d6d8cb;border-radius:16px;box-shadow:0 12px 60px #14291e30;font-size:13px}
.cookie-choices[hidden]{display:none}
.cookie-choices p{margin:6px 0 0;line-height:1.6}.cookie-choices a{color:inherit;text-decoration:underline}
.cookie-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}
.cookie-actions button{min-height:44px;padding:10px 15px;border:1px solid #365447;border-radius:8px;background:#fff;color:#243b32;font:inherit;cursor:pointer}
.cookie-settings{background:none;border:0;color:inherit;font:inherit;padding:8px 0;text-decoration:underline;cursor:pointer}
@media(max-width:760px){
 .zen-hero-grid{grid-template-columns:1fr;gap:20px;min-height:0;padding-top:32px;padding-bottom:28px}
 .zen-hero h1{font-size:clamp(42px,11vw,62px);margin:14px 0}
 .zen-hero-lead{font-size:15px;line-height:1.65;margin-bottom:20px}
 .zen-hero .hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
 .zen-hero-details{font-size:11px;gap:10px;margin-top:14px}
 .zen-hero-art{height:300px;border-radius:42% 42% 12px 12px;max-width:430px;width:100%;margin:auto}
 .zen-art-label{top:20px}.zen-object-0{top:48px;width:46%}.zen-object-1{top:36px;width:38%}.zen-object-2{bottom:35px;width:30%}
 .zen-object-label{display:block;font-size:10px;padding-top:5px}.zen-object-label strong{font-size:12px}.zen-object-2 .zen-object-label span{display:none}
 .zen-art-caption{font-size:12px;bottom:10px}
 .cookie-choices{padding:16px;bottom:8px;left:8px;right:8px;display:block;max-height:70vh;overflow:auto}
 .cookie-actions{margin-top:12px}.cookie-actions button{flex:1}
 .main-nav:not(.open){visibility:hidden}.main-nav.open{visibility:visible}
 .shop-sidebar:not(.open){visibility:hidden}.shop-sidebar.open{visibility:visible}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Keep product labels clear of neighbouring cards at all sizes. */
.zen-object-1{width:31%;top:46px;right:5%}
.zen-object-2{width:31%;bottom:42px;right:5%}
@media(max-width:760px){.zen-object-0{width:46%;left:2%;top:52px}.zen-object-1{width:46%;right:2%;top:52px}.zen-object-2{display:none}}
.mz-pop-card{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:360px){.needs-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:761px){
 .zen-object-1 picture,.zen-object-2 picture,.zen-object-1 img,.zen-object-2 img{height:128px;aspect-ratio:auto;object-fit:contain}
}
@media(min-width:761px) and (max-width:960px){
 .zen-hero-grid{grid-template-columns:1fr;gap:24px}
 .zen-hero-art{max-width:540px;width:100%;margin:auto}
}
@media(max-width:640px){.flash-notify{padding:22px 18px}.flash-notify-form{min-width:0;width:100%;flex-direction:column}.flash-notify-form input[type=email]{min-width:0;width:100%}.flash-notify .alert-ok{min-width:0}}

@media(max-width:1100px){.main-nav:not(.open){visibility:hidden}.main-nav.open{visibility:visible}.header-actions{margin-left:auto}}
/* Editorial discovery: readable articles and a coherent catalogue. */
.editorial-heading{background:#eeeade;border-bottom:1px solid #dedbcf;padding:48px 0;color:#244b3f}
.editorial-heading-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:60px;align-items:center}
.editorial-heading h1{font:400 clamp(34px,4vw,58px)/1.12 Fraunces,Georgia,serif;letter-spacing:-.025em;max-width:20ch;margin:18px 0}
.editorial-deck{font-size:17px;line-height:1.7;max-width:62ch;color:#526058}
.editorial-photo{max-width:360px;aspect-ratio:1;border-radius:48% 48% 16px 16px;overflow:hidden;background:#fffdf8;padding:25px}
.editorial-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.editorial-heading .guia-meta{color:#526058;gap:18px;margin-top:20px;font-size:12px}
.editorial-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:64px;justify-content:center;align-items:start}
.editorial-sidebar{position:sticky;top:100px;display:grid;gap:24px}
.editorial-toc{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.editorial-toc h2{font:600 14px Inter,Arial,sans-serif;margin:0 0 12px}
.editorial-toc ol{padding:0;margin:0;list-style:none;counter-reset:guide}
.editorial-toc li{counter-increment:guide;display:flex;gap:9px;align-items:baseline;font-size:13px;line-height:1.5}
.editorial-toc li:before{content:counter(guide,decimal-leading-zero);font-size:10px;color:#8b765e}
.editorial-toc a{padding:7px 0;color:#365749;text-decoration:none}.editorial-toc a:hover{text-decoration:underline}
.editorial-collection{padding:20px;border-radius:12px;background:#eef0e6;font-size:13px;color:#365749}
.editorial-collection h2{font:400 25px Fraunces,Georgia,serif;margin:12px 0}.editorial-collection a{font-weight:600;color:inherit}
.editorial-main{min-width:0}.editorial-main .guia-body{max-width:none;margin:0;font-size:17px;line-height:1.85}
.editorial-main h2{scroll-margin-top:110px}.editorial-main table{display:block;overflow-x:auto;max-width:100%}
.editorial-main .guia-faq{max-width:none}.editorial-heading .crumbs{margin-bottom:24px}
.home-search{display:flex;align-items:center;gap:12px;border-bottom:1px solid #bcc4b5;padding:14px 0;margin:0 0 26px;max-width:600px}
.home-search input{border:0;background:transparent;min-width:0;flex:1;font:inherit;padding:10px 0;color:#244b3f}
.home-search button{background:#244b3f;color:white;border:0;border-radius:50%;width:44px;height:44px;cursor:pointer;flex:none}
.zen-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.zen-shortcuts a{padding:9px 14px;min-height:44px;border:1px solid #b9c3b7;border-radius:99px;color:#244b3f;font-size:12px;text-decoration:none;display:inline-flex;align-items:center}
.zen-shortcuts a:hover{background:#dfe5d8}
.card{border-radius:15px;overflow:hidden}.card-media{background:#f3f1e9}.card-media img{transition:transform .25s ease;object-fit:contain}.card:hover .card-media img{transform:scale(1.025)}
.card-title{line-height:1.45}.qadd-btn{min-height:44px}.card--flash{border-color:var(--line)}
.shop-main{scroll-margin-top:110px}.results-count{line-height:1.6}
.ac-status{font-size:12px;color:#526058}.ac-all{display:block;padding:13px;border-top:1px solid var(--line);font-weight:600}
@media(max-width:900px){.editorial-heading-grid{gap:25px;grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr)}.editorial-layout{grid-template-columns:minmax(0,1fr);gap:30px}.editorial-sidebar{position:static;grid-template-columns:1fr 1fr}.editorial-main{max-width:760px}}
@media(max-width:600px){.editorial-heading{padding:28px 0}.editorial-heading-grid{grid-template-columns:minmax(0,1fr)}.editorial-photo{display:none}.editorial-deck{font-size:15px}.editorial-sidebar{grid-template-columns:minmax(0,1fr)}.editorial-toc{padding:16px 0}.editorial-collection{padding:16px}.editorial-main .guia-body{font-size:16px}.home-search{gap:8px}.home-search input{font-size:15px}.zen-shortcuts{gap:6px}.zen-shortcuts a{padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.card-media img{transition:none}.card:hover .card-media img{transform:none}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cart-summary p>span:last-child{white-space:nowrap;flex-shrink:0}.cart-summary p>span:first-child{min-width:0;overflow-wrap:anywhere}
.editorial-heading-grid>div:only-child{grid-column:1/-1;max-width:850px}
/* Desktop categories own the full header height: no dead strip before the panel. */
@media(min-width:1101px){
 .header-inner{padding-block:0}
 .header-inner>.brand-link{padding-block:16px}
 .main-nav{align-self:stretch;display:flex}
 .main-nav .nav-list{align-items:stretch}
 .main-nav .nav-list>li{display:flex;align-items:stretch}
 .main-nav .nav-row{align-items:stretch}
 .main-nav .nav-link{display:flex;align-items:center}
}
