/* ===================================================================
   Deco Origen v2 — heroes, caminos, flash, filtros, recomendaciones
   =================================================================== */
.section-sm{padding:30px 0}
.crumbs--light{color:rgba(255,255,255,.75)}.crumbs--light a:hover{color:#fff}

/* Hero home split */
.hero-split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:92px 0 96px}
.hero-copy{max-width:600px}
.hero-trust{list-style:none;display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;padding:0}
.hero-trust li{font-size:.85rem;color:#cfc3b1}
.hero-visual{position:relative;display:block;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  transform:rotate(1.4deg);transition:transform .5s var(--ease)}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 50%,rgba(20,17,13,.45))}
.hero-visual img{width:100%;aspect-ratio:1;object-fit:cover}
.hero-visual:hover{transform:rotate(0) scale(1.01)}
.hero-visual-tag{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(255,255,255,.92);color:var(--brand);
  font-weight:600;font-size:.82rem;padding:8px 14px;border-radius:999px;backdrop-filter:blur(4px)}

.hero--flash{background:radial-gradient(80% 130% at 80% 0%,rgba(169,118,47,.4),transparent 55%),linear-gradient(160deg,#2a201a,#16120d)}

/* Caminos (mood) */
.paths-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.path{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;gap:6px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.path:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent-soft)}
.path-ico{font-size:1.7rem;margin-bottom:6px}
.path strong{font-family:var(--serif);font-weight:500;font-size:1.12rem;color:var(--brand)}
.path span{font-size:.86rem;color:var(--muted)}

/* Flash */
.flash-tag{display:inline-block;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:6px 13px;border-radius:999px;margin-bottom:10px}
.flash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.countdown{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.8rem;color:var(--muted)}
.cd-clock{font-family:var(--serif);font-size:1.55rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.flash-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#2a201a;color:#f0e4d3;
  padding:12px 18px;border-radius:var(--radius-sm);margin-bottom:22px;font-size:.9rem}
.flash-strip .cd-clock{color:var(--accent-soft);font-size:1.2rem}
.flash-next{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--accent-bg);border:1px dashed var(--line-2);border-radius:var(--radius);padding:24px 28px}
.flash-next p{margin:0;color:#5b4f3f}.flash-next .cd-clock{font-size:1.1rem}
.flash-empty{display:flex;flex-direction:column;align-items:center;gap:14px}
.grid--flash .card{border-color:var(--accent-soft)}
.badge-flash{background:var(--accent);color:#fff}
.card--flash .card-media::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px var(--accent-soft);pointer-events:none}
.price-now{color:var(--accent)}
.price-was,.product-price-was{color:var(--muted);text-decoration:line-through;font-weight:400;font-size:.85em;margin-left:8px}
.card-price .price-now{font-weight:600}
.save-pill{background:#eaf5ed;color:var(--ok);font-size:.8rem;font-weight:600;padding:5px 11px;border-radius:999px}

.card-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600}
/* Anti-desborde: las tarjetas pueden encoger y los nombres largos se parten */
.card,.grid>*,.grid--shop>*,.grid--reco>*,.grid--flash>*{min-width:0}
.card-title,.card-eyebrow,.card-price{overflow-wrap:anywhere}

/* Categorías con imagen */
.cat-grid--img{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cat-card{position:relative;display:flex;align-items:flex-end;min-height:220px;border-radius:var(--radius);overflow:hidden;
  background-image:var(--bg);background-size:cover;background-position:center;border:1px solid var(--line);
  transition:transform .4s var(--ease),box-shadow .4s}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.05) 30%,rgba(20,17,13,.82));transition:background .3s}
.cat-card:hover .cat-card-overlay{background:linear-gradient(180deg,rgba(20,17,13,.2) 10%,rgba(20,17,13,.88))}
.cat-card-body{position:relative;z-index:2;padding:20px;color:#fff}
.cat-card-name{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:500}
.cat-card-count{font-size:.82rem;color:rgba(255,255,255,.78)}

/* Hero de categoría — 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 ul{gap:24px}
.main-nav a{white-space:nowrap}
@media(max-width:1080px) and (min-width:761px){.main-nav ul{gap:16px}.main-nav a{font-size:.86rem}}

/* Carrito: incentivo + progreso + peaje */
.cart-incentive{background:var(--accent-bg);border:1px solid var(--line-2);border-radius:var(--radius);padding:18px 22px;margin-bottom:24px;display:flex;flex-direction:column;gap:10px}
.cart-incentive p{margin:0;color:#5b4f3f;font-size:.95rem}
.cart-incentive .link-more{align-self:flex-start}
.progress{height:9px;background:#e6dac6;border-radius:999px;overflow:hidden}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent));border-radius:999px;transition:width .5s var(--ease)}
.fee-line span:last-child{color:var(--err);font-weight:600}
.mini-flash{display:inline-block;background:var(--accent);color:#fff;font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:999px;margin-left:6px}
.cart-secure{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:.82rem;margin-top:12px}
.cart-secure svg{color:var(--ok)}

/* Ficha: resumen destacado */
.product-lead{font-size:1.08rem;line-height:1.7;color:#574c3e;margin:0 0 22px;font-family:var(--serif);font-style:italic}

/* Barra de anuncio (gancho flash) */
.announce-inner{cursor:pointer;transition:color .2s}
.announce-flash{font-weight:700;color:var(--accent-soft);letter-spacing:.02em}
.announce-sep{color:rgba(255,255,255,.3)}
.announce-cta{font-weight:600;color:#fff;border-bottom:1px solid var(--accent-soft);padding-bottom:1px}
.announce-inner:hover .announce-cta{color:var(--accent-soft)}
@media(max-width:680px){.announce-sep,.announce-inner span:nth-child(3){display:none}}

/* Sección "drops" (bombo ofertas flash) */
.drops{background:radial-gradient(90% 140% at 100% 0%,rgba(169,118,47,.5),transparent 55%),linear-gradient(150deg,#241d15,#16120d);color:#f3ece0}
.drops-inner{display:grid;grid-template-columns:1.4fr .9fr;gap:40px;align-items:center;padding:64px 0}
.drops-copy h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;margin:6px 0 16px}
.drops-copy h2 em{color:var(--accent-soft);font-style:italic}
.drops-copy p{color:#cfc3b1;max-width:52ch;margin-bottom:24px}
.drops-copy strong{color:#fff}
.drops-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;
  border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:38px 28px;background:rgba(255,255,255,.03)}
.drops-bolt{font-size:2.4rem}
.drops-label{color:#a89a86;font-size:.85rem;letter-spacing:.04em}
.drops-clock .cd-clock,.drops-clock b{font-family:var(--serif);font-size:2.4rem;color:var(--accent-soft);font-variant-numeric:tabular-nums}
@media(max-width:760px){.drops-inner{grid-template-columns:1fr;gap:26px;padding:46px 0}.drops-clock{padding:28px}}

/* Hero carrusel */
.hero-carousel{position:relative;overflow:hidden;background:var(--brand)}
.hc-track{display:flex;transition:transform .8s var(--ease)}
.hc-slide{position:relative;min-width:100%;display:flex;align-items:center;min-height:clamp(480px,64vh,660px);overflow:hidden}
/* fondo: la propia imagen difuminada, atmosférica */
.hc-bg{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;
  filter:brightness(.62) saturate(1.08);transform:scale(1.04)}
.hc-overlay{position:absolute;inset:0;background:
  radial-gradient(75% 95% at 16% 38%,rgba(18,15,11,.55),transparent 62%),
  linear-gradient(108deg,rgba(18,15,11,.93) 0%,rgba(18,15,11,.7) 46%,rgba(24,19,14,.34) 100%)}
.hc-glow{position:absolute;right:6%;top:50%;width:min(48vw,560px);height:min(48vw,560px);transform:translateY(-50%);
  background:radial-gradient(circle,rgba(201,163,106,.45),rgba(201,163,106,.12) 45%,transparent 70%);filter:blur(8px);pointer-events:none}
.hc-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;width:90%;max-width:var(--maxw);margin-inline:auto;padding:48px 0}
.hc-text{color:#f4ece0;max-width:560px}
.hc-title{font-family:var(--serif);color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:400;line-height:1.03;margin:14px 0 18px}
.hc-title em{font-style:italic;color:var(--accent-soft)}
.hc-slide .hero-sub{color:#d8cdbd;max-width:46ch}
.hc-slide .eyebrow{color:var(--accent-soft)}
/* figura: producto integrado en marco circular con aro y sombra */
.hc-figure{position:relative;justify-self:center;width:min(80vw,420px);aspect-ratio:1}
.hc-prod{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:50%;
  border:6px solid rgba(255,255,255,.08);box-shadow:0 40px 90px -24px rgba(0,0,0,.8),0 0 0 1px rgba(201,163,106,.4) inset}
.hc-ring{position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(201,163,106,.45);
  box-shadow:0 0 60px -10px rgba(201,163,106,.4);animation:spin 26s linear infinite}
.hc-ring::after{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;border-radius:50%;background:var(--accent-soft);box-shadow:0 0 14px var(--accent-soft)}
.hc-orb{position:absolute;border-radius:50%;z-index:3;background:radial-gradient(circle at 30% 30%,#e7cfa3,#b8893f);box-shadow:0 10px 30px -8px rgba(0,0,0,.5)}
.hc-orb-1{width:54px;height:54px;top:6%;right:2%;opacity:.9}
.hc-orb-2{width:30px;height:30px;bottom:8%;left:-2%;background:radial-gradient(circle at 30% 30%,#fff,#cdbfa6);opacity:.85}
@keyframes spin{to{transform:rotate(360deg)}}
.hc-slide .btn-ghost{border-color:rgba(255,255,255,.3);color:#f4ece0}
.hc-slide .btn-ghost:hover{background:#f4ece0;color:var(--brand);border-color:#f4ece0}
.hc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:rgba(20,17,13,.35);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .2s}
.hc-arrow:hover{background:rgba(20,17,13,.7)}
.hc-prev{left:18px}.hc-next{right:18px}
.hc-dots{position:absolute;bottom:22px;left:0;right:0;z-index:5;display:flex;gap:10px;justify-content:center}
.hc-dot{width:32px;height:4px;border-radius:999px;border:0;background:rgba(255,255,255,.35);cursor:pointer;transition:background .3s,width .3s}
.hc-dot.is-active{background:var(--accent-soft);width:48px}
.hero-trustbar{background:var(--surface-2);border-bottom:1px solid var(--line)}
.hero-trustbar-inner{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:14px 0;font-size:.85rem;color:#6b5f4f}
@media(max-width:860px){
  .hc-grid{grid-template-columns:1fr;text-align:center}
  .hc-text{margin-inline:auto}
  .hc-slide .hero-cta{justify-content:center}
  .hc-figure{width:min(56vw,260px);margin-top:8px;order:-1}
  .hc-glow{right:50%;transform:translate(50%,-50%)}
  /* En móvil el texto va a ancho completo → overlay vertical más fuerte para legibilidad */
  .hc-overlay{background:linear-gradient(180deg,rgba(18,15,11,.62) 0%,rgba(18,15,11,.82) 60%,rgba(18,15,11,.9) 100%)}
}
@media(max-width:760px){
  .hc-arrow{display:none}
  .hero-trustbar-inner{gap:16px;font-size:.78rem}
  .hc-slide{min-height:clamp(440px,72vh,560px)}
  .hc-figure{display:none}
}

/* Badges por tipo de descuento + franja */
.badge-clearance{background:#b0432a;color:#fff}
.badge-pack{background:var(--forest);color:#fff}
.flash-strip--clearance{background:#5a2418;color:#ffd9cc}
.flash-strip--pack{background:#22301f;color:#dbe8d6}
.nav-hot{color:var(--accent)!important;font-weight:700!important}
.mini-flash{background:var(--accent)}

/* Packs */
.packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.pack-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.pack-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--forest)}
.pack-imgs{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:var(--surface-2);aspect-ratio:3/2}
.pack-img{overflow:hidden}
.pack-img:first-child{grid-row:1/3}
.pack-img picture,.pack-img img{width:100%;height:100%;object-fit:cover;display:block}
.pack-badge{position:absolute;top:12px;left:12px;background:var(--forest);color:#fff;font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:999px;z-index:2}
.pack-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
.pack-card-body h2{font-size:1.25rem;font-weight:500;margin:0}
.pack-price{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.pack-price .price-now{font-family:var(--serif);font-size:1.4rem;color:var(--brand);font-weight:600}
.save-pill--block{display:block;text-align:center;margin-top:6px}

.pack-detail{display:grid;grid-template-columns:1fr 320px;gap:38px;align-items:start}
.pack-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm);position:sticky;top:96px}
.pack-summary h2{font-size:1.2rem;margin-bottom:14px;font-weight:500}
.pack-summary p{display:flex;justify-content:space-between;gap:12px;margin:9px 0;font-size:.95rem}
.pack-summary .cart-total{font-family:var(--serif);font-size:1.3rem;font-weight:600;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.pack-summary form{margin-top:16px}
@media(max-width:880px){.pack-detail{grid-template-columns:1fr}.pack-summary{position:static}}

/* Familias (sub-filtro fino) */
.famchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.famchips-label{font-size:.82rem;color:var(--muted);font-weight:600;margin-right:4px}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--ink);background:var(--surface-2);transition:.2s}
.fchip span{font-size:.7rem;color:var(--muted)}
.fchip:hover{border-color:var(--accent);color:var(--accent)}
.fchip.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.fchip.is-active span{color:rgba(255,255,255,.7)}

/* En pack (ficha) */
.in-pack{margin-top:18px;background:var(--accent-bg);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:13px 16px;font-size:.9rem;color:#5b4f3f}
.in-pack a{color:var(--accent)}

/* Frequently bought together */
.fbt{margin-top:48px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.fbt-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fbt-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:150px;text-align:center}
.fbt-item picture,.fbt-item img{width:130px;height:130px;object-fit:cover;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}
.fbt-name{font-size:.82rem;line-height:1.3;color:var(--ink)}
.fbt-price{font-weight:600;color:var(--brand)}
.fbt-plus{font-size:1.5rem;color:var(--muted)}
.fbt-cta{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.fbt-total-label{font-size:.8rem;color:var(--muted)}
.fbt-total{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--brand)}
@media(max-width:680px){.fbt-cta{margin-left:0;align-items:stretch;width:100%}.fbt-item{width:110px}.fbt-item picture,.fbt-item img{width:96px;height:96px}}

/* Pago exprés */
.btn-express{margin-top:10px;border-color:var(--accent);color:var(--accent)}
.btn-express:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.express-note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:8px;line-height:1.4}

/* Autocompletar */
.ac-box{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:120;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:none}
.ac-box.open{display:block}
.ac-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);transition:background .15s}
.ac-item:hover{background:var(--surface-2)}
.ac-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--surface-2);flex:none}
.ac-info{display:flex;flex-direction:column;min-width:0;flex:1}
.ac-name{font-size:.9rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-sub{font-size:.74rem;color:var(--muted)}
.ac-price{font-weight:600;color:var(--brand);font-size:.9rem;white-space:nowrap}
.ac-all{display:block;padding:11px 14px;text-align:center;font-size:.85rem;font-weight:600;color:var(--accent);background:var(--accent-bg)}
.ac-all:hover{background:#efe2cd}

/* ===== Mega-menú (desplegables header) ===== */
.main-nav .has-dd{position:relative}
.dd-caret{margin-left:4px;opacity:.55;transition:transform .2s;vertical-align:middle}
.has-dd:hover .dd-caret{transform:rotate(180deg)}
.dd{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:250px;background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;
  transition:opacity .2s,visibility .2s;z-index:100;margin-top:6px}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;visibility:visible}
.dd::before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px}
.dd-inner{padding:12px}
.dd-inner ul{list-style:none;display:flex;flex-direction:column;gap:1px;padding:0;margin:0}
.dd-inner li a{display:flex;justify-content:space-between;gap:14px;padding:8px 12px;border-radius:8px;font-size:.87rem;color:var(--ink)}
.dd-inner li a:hover{background:var(--surface-2);color:var(--accent)}
.dd-inner li a span{color:var(--muted);font-size:.74rem}
.dd-all{display:block;margin-top:6px;padding:10px 12px;border-top:1px solid var(--line);color:var(--accent);font-weight:600;font-size:.82rem}
.dd-all:hover{background:var(--surface-2)}

/* ===== Tienda con barra lateral ===== */
.shop-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;align-items:start}
.shop-main{min-width:0;overflow-x:clip}   /* encoge y contiene la tira de subcategorías */
#main{overflow-x:clip}                     /* sin scroll horizontal a nivel de página (no rompe sticky) */
.shop-sidebar{position:sticky;top:96px}
.sidebar-head{display:none}
.filter-group{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.filter-group h3{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px;font-family:var(--sans);font-weight:700}
.filter-list{list-style:none;display:flex;flex-direction:column;gap:1px;padding:0;margin:0}
.filter-list a{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;border-radius:9px;font-size:.9rem;color:var(--ink);transition:background .15s}
.filter-list a span{color:var(--muted);font-size:.74rem}
.filter-list a:hover{background:var(--surface-2)}
.filter-list a.is-active{background:var(--brand);color:#fff;font-weight:600}
.filter-list a.is-active span{color:rgba(255,255,255,.7)}
.filter-list--scroll{max-height:280px;overflow:auto;padding-right:4px}
.filter-pill{display:inline-block;padding:9px 15px;border:1px solid var(--line-2);border-radius:999px;font-size:.86rem;color:var(--ink)}
.filter-pill.is-active{background:var(--forest);color:#fff;border-color:var(--forest)}
.filters-clear{display:inline-block;color:var(--accent);font-weight:600;font-size:.85rem}
.shop-bar{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.results-count{color:var(--muted);font-size:.92rem}.results-count strong{color:var(--ink)}
.results-count a{color:var(--accent);text-decoration:none}
.sort-form{margin-left:auto}
.sort-label{flex-direction:row;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);font-weight:500}
.sort-form select{padding:10px 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:.86rem;color:var(--ink)}
.filters-open{display:none}
.grid--shop{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.filters-backdrop{position:fixed;inset:0;background:rgba(20,17,13,.5);z-index:130;backdrop-filter:blur(2px)}
.filters-backdrop[hidden]{display:none}

/* Elementos solo-móvil / solo-desktop del panel de filtros */
.sheet-only{display:none}
.sheet-handle{display:none}
.mfilter-bar{display:none}

@media(max-width:900px){
  /* Filtros = PANEL INFERIOR (bottom sheet) a pantalla casi completa */
  .shop-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .shop-sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:140;background:#fff;
    border-radius:20px 20px 0 0;transform:translateY(110%);transition:transform .35s var(--ease);
    height:88vh;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px;
    box-shadow:0 -16px 50px -16px rgba(20,17,13,.55);overscroll-behavior:contain}
  .shop-sidebar.open{transform:none}
  .sheet-handle{display:block;width:44px;height:5px;border-radius:999px;background:var(--line-2);margin:8px auto 4px}
  .sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:8px 0 12px;border-bottom:1px solid var(--line);
    position:sticky;top:0;background:#fff;z-index:3}
  .sidebar-head h2{font-size:1.25rem}
  .sidebar-close{width:40px;height:40px;background:var(--surface-2);border:0;border-radius:50%;font-size:1.2rem;cursor:pointer;color:var(--ink)}
  .filter-group{padding-bottom:14px;margin-bottom:14px}
  .filter-group:first-of-type{margin-top:14px}
  .filter-list a,.filter-pill,.sschip{min-height:44px;display:flex;align-items:center}
  .filter-list a{justify-content:space-between}
  .filter-list--scroll{max-height:264px}
  .filter-group--cat .filter-list{max-height:264px;overflow:auto;padding-right:4px}
  .sheet-only{display:block}
  .desk-only{display:none!important}
  .sheet-foot{display:flex;gap:10px;position:sticky;bottom:0;background:#fff;z-index:3;
    padding:14px 0 calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
  .sheet-foot .btn{flex:1;min-height:48px}
  .sheet-foot .btn-ghost{flex:0 0 38%}

  /* Scroll horizontal de subcategorías (sin desborde lateral) */
  .subscroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 0 14px;scrollbar-width:none}
  .subscroll::-webkit-scrollbar{display:none}
  .sschip{flex:none;padding:9px 15px;border:1px solid var(--line-2);border-radius:999px;font-size:.85rem;color:var(--ink);background:#fff;white-space:nowrap}
  .sschip.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}
  .shop-bar{gap:10px}
  .sort-form{margin-left:auto}

  /* Barra sticky inferior "Filtrar y ordenar" (siempre visible) */
  .mfilter-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.97);
    backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:9px 14px calc(9px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 26px -14px rgba(40,28,14,.45)}
  .mfilter-btn{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
    background:var(--brand);color:#fbf6ee;border:0;border-radius:999px;font-weight:600;font-size:.98rem;cursor:pointer}
  .mfilter-count{background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;min-width:20px;height:20px;
    border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
  /* que la barra fija no tape el footer */
  .site-footer{padding-bottom:72px}
}

/* ===== Widget lunar (home) ===== */
.moon-widget{display:flex;align-items:center;gap:20px;background:linear-gradient(120deg,#1b1712,#2a2118);
  color:#f0e7d8;border-radius:var(--radius);padding:22px 26px;border:1px solid rgba(201,163,106,.25);overflow:hidden;position:relative}
.moon-widget::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,163,106,.25),transparent 70%)}
.moon-w-glyph{font-size:2.8rem;flex:none}
.moon-w-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.moon-w-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft)}
.moon-w-text strong{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:#fff}
.moon-w-ritual{font-size:.88rem;color:#c9bca6;line-height:1.4}
.moon-w-cta{flex:none;color:var(--accent-soft);font-weight:600;font-size:.9rem;white-space:nowrap}
@media(max-width:680px){.moon-widget{flex-wrap:wrap;gap:14px}.moon-w-cta{flex-basis:100%}}

/* ===== Página Luna ===== */
.luna-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#1c1813,#100d09);color:#f0e7d8;text-align:center;padding:0}
.luna-hero .hc-bg{filter:blur(30px) brightness(.35);opacity:.5}
.luna-hero-inner{position:relative;z-index:2;padding:70px 5% 64px;max-width:760px;margin-inline:auto}
.luna-now{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 18px}
.luna-glyph{font-size:4rem}
.luna-now h1{color:#fff;font-size:clamp(2rem,5vw,3rem);font-weight:400;margin:0}
.luna-intent{color:var(--accent-soft);font-size:1rem;margin-top:4px}
.luna-ritual{color:#d3c8b6;max-width:54ch;margin:0 auto 26px;font-size:1.08rem;line-height:1.7}
.moon-cycle{display:grid;grid-template-columns:repeat(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}

/* ===== Menú móvil: lista limpia y con scroll ===== */
@media(max-width:760px){
  .main-nav .dd{display:none!important}   /* subcategorías NO inline: el menú queda corto */
  .dd-caret{display:none}
  .main-nav.open{max-height:78vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
    overscroll-behavior:contain}
  .main-nav ul{padding:4px 0 12px}
  .main-nav li:last-child{border-bottom:0}
}

/* ===== Adaptación móvil de páginas de categoría/listados ===== */
@media(max-width:640px){
  /* Rejilla de productos a 2 columnas (minmax(0,1fr) evita que un nombre largo reviente la columna) */
  .grid,.grid--shop,.grid--reco,.grid--flash{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
  .cat-grid,.cat-grid--img{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .card-body{padding:11px 12px 15px;gap:5px}
  .card-title{font-size:.82rem;line-height:1.3}
  .card-price{font-size:1rem}
  .card-eyebrow{font-size:.62rem}
  .badge{font-size:.62rem;padding:3px 8px;top:8px;left:8px}
  /* Hero de categoría compacto */
  .cat-hero-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 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){
  .hc-figure--prods{display:flex!important}
  .hc-prods{gap:12px;justify-content:center}
  .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 Deco Origen) ===== */
.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}

/* ===== 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;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{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{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:34px;height:34px;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}
.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: imágenes en <picture> sin romper el grid */
.cart-row picture{display:contents}
/* 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}
.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}
.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}
.newsletter .form-err{flex-basis:100%;margin:6px 0 0}
