/* =========================================================================
   HAVEN — Ergonomía Premium · Design System
   Paleta de marca: Sacramento/Jade green + acento cálido (Burnt Orange).
   Para volver al lima del mockup: cambia --accent a #7EC657.
   ========================================================================= */
:root{
  --deep:#234141; --deep-2:#1A3130;
  --brand:#1C736B; --brand-soft:#9EBFBD;
  --accent:#EB6B47; --accent-deep:#D2542F; --accent-2:#EB9E57;
  --sky:#A6BFDB; --latte:#C9B0A3; --lavender:#B087B5; --whisper:#E5E8E8;
  --ink:#11242A; --ink-2:#33484E; --muted:#6B8A90;
  --paper:#FDFCF9; --paper-2:#F1F5F3; --surface:#FFFFFF;
  --line:#DCE7E5; --line-2:#E9F0EE;
  --syne:'Sora',sans-serif; /* titulares (mockup) */ --mono:'JetBrains Mono',monospace; /* precios */ --sans:'Inter',sans-serif;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
  --space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
  --r-sm:4px; --r:10px; --r-md:14px; --r-lg:16px; --r-pill:100px;
  --shadow:0 18px 50px -24px rgba(35,65,65,.30);
  --shadow-soft:0 10px 30px -20px rgba(35,65,65,.28);
  --shadow-lg:0 28px 60px -26px rgba(35,65,65,.4);
  --ok:#2F7D5B; --ok-bg:#E5F2EB; --ok-line:#BFE0CE;
  --warn:#9A6A1F; --warn-bg:#F6ECD6; --warn-line:#E6D2A6;
  --err:#C0492F; --err-bg:#FBE6DF; --err-line:#F0C3B4;
  --info:#2D5A6E; --info-bg:#E4EEF2; --info-line:#C3D8E0;
  --wc-primary:var(--deep); --wc-primary-text:#fff;
  --wc-secondary:var(--paper-2); --wc-secondary-text:var(--ink);
  --wc-highlight:var(--accent); --wc-content-bg:var(--surface);
  --maxw:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
svg{display:block}
h1,h2,h3,h4{font-family:var(--syne);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--deep)}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:1rem;top:1rem;z-index:200;background:var(--deep);color:#fff;padding:.6rem 1rem;border-radius:var(--r-sm)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--brand);color:#fff}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-weight:600;font-family:var(--sans)}
.eyebrow::before{content:'';width:20px;height:1px;background:currentColor}
.eyebrow--accent{color:var(--accent)}
.eyebrow--accent::before{display:none}
.eyebrow--accent .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.eyebrow--light{color:rgba(158,191,189,.8)}
.display{font-family:var(--syne);font-weight:800;font-size:clamp(28px,4vw,48px);color:var(--deep);margin-top:.6rem}
.display em{font-style:italic;color:var(--brand)}
.section--deep .display,.display.is-light{color:#fff}
.section--deep .display em{color:var(--accent)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--syne);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;border-radius:var(--r-sm);border:1.5px solid transparent;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-deep)}
.btn-dark{background:var(--deep);color:#fff}
.btn-dark:hover{background:var(--brand)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--deep)}
.btn-ghost:hover{border-color:var(--deep)}
.btn-ghost-light{background:transparent;border-color:rgba(158,191,189,.35);color:rgba(225,235,233,.9)}
.btn-ghost-light:hover{border-color:rgba(158,191,189,.7)}
.btn-block{width:100%}
.btn-lg{padding:16px 30px;font-size:14px}
.btn.is-loading{opacity:.7;pointer-events:none}
.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}

.section{padding:clamp(3rem,2rem+3vw,5rem) clamp(1.2rem,4vw,2.5rem)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
.sec-head{margin-bottom:2.5rem}
.sec-head--row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.sec-head__note{font-size:15px;line-height:1.7;color:var(--muted);max-width:520px}
.view-all{font-family:var(--syne);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:6px;transition:gap .15s}
.view-all:hover{gap:10px}
.view-all svg{width:16px;height:16px}

.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(253,252,249,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header__inner{max-width:1400px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0 clamp(1.2rem,4vw,2.5rem)}
.brand{display:flex;align-items:center;gap:10px}
.brand__word{font-family:var(--syne);font-size:18px;font-weight:800;letter-spacing:.12em;color:var(--deep)}
.nav__list{display:flex;gap:1.8rem;list-style:none}
.nav__list a{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.04em;transition:color .2s}
.nav__list a:hover{color:var(--deep)}
.site-header__actions{display:flex;align-items:center;gap:1rem}
.header-phone{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:500}
.header-phone svg{width:15px;height:15px;color:var(--brand)}
.header-cart{position:relative;display:inline-flex;color:var(--deep)}
.header-cart svg{width:20px;height:20px}
.header-cart__count{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;border-radius:99px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.nav-cta{background:var(--deep);color:#fff;font-family:var(--syne);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:10px 20px;border-radius:var(--r-sm);transition:background .2s}
.nav-cta:hover{background:var(--brand)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{width:22px;height:2px;background:var(--deep);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-main{padding-top:64px}

.hero{position:relative;overflow:hidden;background:var(--deep);min-height:calc(100vh - 64px);display:flex;align-items:center}
.hero__bgword{position:absolute;bottom:-.18em;left:-.02em;font-family:var(--syne);font-size:clamp(120px,22vw,260px);font-weight:800;letter-spacing:-.02em;color:rgba(255,255,255,.04);line-height:1;user-select:none;pointer-events:none;white-space:nowrap}
.hero__inner{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:4rem clamp(1.2rem,4vw,2.5rem)}
.hero__copy{display:flex;flex-direction:column;gap:2rem}
.hero__title{font-family:var(--syne);font-size:clamp(52px,8vw,88px);font-weight:800;color:#fff;line-height:.95}
.hero__title span{color:var(--accent)}
.hero__desc{font-size:15px;line-height:1.75;color:rgba(200,222,229,.7);max-width:400px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero__stats{display:flex;gap:2.5rem;margin-top:.5rem}
.hero__stat-n{font-family:var(--syne);font-size:28px;font-weight:700;color:#fff;display:block}
.hero__stat-n i{color:var(--accent);font-style:normal}
.hero__stat-l{font-size:11px;color:var(--muted);letter-spacing:.06em;margin-top:2px;display:block}
.hero__stage-wrap{display:flex;justify-content:center}
.hero__stage{position:relative;width:100%;max-width:420px;background:var(--surface);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--shadow-lg)}
.hero__badge{position:absolute;top:1.4rem;right:1.4rem}
.hero__illu{display:grid;place-items:center;margin-bottom:1.5rem}
.hero__illu .haven-illu{width:min(80%,280px)}
.hero__plabel{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);font-weight:600}
.hero__pname{font-family:var(--syne);font-size:24px;font-weight:700;color:var(--deep);line-height:1.1;margin:.3rem 0}
.hero__pprice{font-family:var(--syne);font-size:20px;font-weight:600;color:var(--accent);margin-bottom:1.2rem}
.hero__pprice .woocommerce-Price-amount{font-weight:600}

.marquee{background:var(--accent);padding:12px 0;overflow:hidden;display:flex}
.marquee__track{display:flex;gap:0;white-space:nowrap;animation:marquee 24s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee__item{font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;padding:0 2rem}
.marquee__dot{font-size:18px;color:rgba(255,255,255,.5);display:flex;align-items:center}

.p-grid{display:grid;gap:16px}
.p-grid--4{grid-template-columns:repeat(4,1fr)}
.p-grid--shop{grid-template-columns:repeat(3,1fr)}
.product-card{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .2s,box-shadow .2s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px -18px rgba(35,65,65,.18)}
.pc-img{height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb,var(--tint,#9EBFBD) 22%,var(--whisper)),var(--whisper))}
.pc-img .haven-illu{width:min(62%,150px)}
.pc-tag{position:absolute;top:12px;left:12px;font-family:var(--syne);font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:var(--r-sm)}
.tag-new{background:var(--brand);color:#fff}
.tag-best{background:var(--deep);color:#fff}
.tag-sale{background:var(--accent);color:#fff}
.pc-body{padding:1.25rem}
.pc-cat{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:4px}
.pc-name{font-family:var(--syne);font-size:16px;font-weight:700;color:var(--deep);line-height:1.2;margin-bottom:6px}
.pc-name a:hover{color:var(--brand)}
.pc-desc{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:12px;min-height:36px}
.pc-footer{display:flex;align-items:center;justify-content:space-between}
.pc-price{font-family:var(--syne);font-size:18px;font-weight:700;color:var(--deep)}
.pc-price .woocommerce-Price-amount{font-weight:700}
.pc-price-old{font-size:13px;color:var(--muted);text-decoration:line-through;margin-left:4px}
.pc-btn{width:34px;height:34px;border-radius:50%;background:var(--deep);display:grid;place-items:center;color:#fff;transition:background .2s,transform .2s;flex:none}
.pc-btn svg{width:18px;height:18px}
.pc-btn:hover{background:var(--accent);transform:scale(1.1)}

.section--deep{background:var(--deep);color:#fff}
.position{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden}
.position__left{padding:clamp(2.5rem,2rem+3vw,5rem) clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
.position__quote{font-family:var(--syne);font-size:clamp(24px,3vw,36px);font-weight:700;color:#fff;line-height:1.2}
.position__quote em{color:var(--accent);font-style:normal}
.position__body{font-size:14px;line-height:1.8;color:rgba(200,222,229,.6);max-width:380px}
.position__right{background:rgba(255,255,255,.04);border-left:1px solid rgba(158,191,189,.12);padding:clamp(2.5rem,2rem+3vw,5rem) clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:1.2rem;justify-content:center}
.feat-item{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border-radius:var(--r);background:rgba(255,255,255,.04);border:1px solid rgba(158,191,189,.1)}
.feat-item__icon{width:40px;height:40px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 18%,transparent);display:grid;place-items:center;color:var(--accent);flex:none}
.feat-item__title{font-family:var(--syne);font-size:14px;font-weight:600;color:#fff;margin-bottom:3px}
.feat-item__desc{font-size:12px;line-height:1.6;color:rgba(200,222,229,.6)}

.materials-section{background:var(--paper-2)}
.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mat-card{border-radius:var(--r);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .2s}
.mat-card:hover{transform:translateY(-3px)}
.mat-card__img{height:150px;display:grid;place-items:center;background:linear-gradient(150deg,color-mix(in srgb,var(--tint,#1C736B) 30%,var(--deep)),var(--deep))}
.mat-card__icon{color:#fff;opacity:.9}
.mat-card__icon svg{width:34px;height:34px}
.mat-card__body{padding:1rem;border-top:1px solid var(--line)}
.mat-card__name{font-family:var(--syne);font-size:13px;font-weight:700;color:var(--deep)}
.mat-card__desc{font-size:11px;color:var(--muted);margin-top:2px}

.catalog-section{background:var(--surface)}
.cat-filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{font-size:12px;font-weight:500;letter-spacing:.06em;padding:7px 16px;border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:var(--sans);transition:all .15s}
.filter-btn.is-active,.filter-btn:hover{background:var(--deep);color:#fff;border-color:var(--deep)}
.catalog-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.catalog-featured{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--deep);padding:clamp(2rem,3vw,3rem);display:flex;align-items:center;gap:2.5rem;min-height:340px}
.catalog-featured::after{content:'HAVEN';position:absolute;bottom:-.1em;right:-.02em;font-family:var(--syne);font-size:120px;font-weight:800;color:rgba(255,255,255,.04);letter-spacing:-.02em;pointer-events:none;line-height:1}
.cf-content{flex:1;z-index:1;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.cf-tag{font-family:var(--syne);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;background:var(--accent);color:#fff;padding:4px 12px;border-radius:var(--r-sm)}
.cf-title{font-family:var(--syne);font-size:clamp(24px,3vw,32px);font-weight:800;color:#fff;line-height:1.05}
.cf-desc{font-size:13px;line-height:1.7;color:rgba(200,222,229,.6);max-width:280px}
.cf-price{font-family:var(--syne);font-size:22px;font-weight:700;color:var(--accent)}
.cf-link{font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:6px;margin-top:.4rem}
.cf-illu{flex:none;width:200px;z-index:1;background:var(--surface);border-radius:var(--r);padding:1rem;display:grid;place-items:center}
.cf-illu .haven-illu{width:100%}
.catalog-side{display:flex;flex-direction:column;gap:16px}
.cat-mini{border-radius:var(--r);padding:2rem;flex:1;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;transition:transform .2s}
.cat-mini:hover{transform:translateY(-3px)}
.cat-mini--light{background:var(--paper-2);border:1px solid var(--line)}
.cat-mini--dark{background:var(--deep)}
.cat-mini--dark .cat-mini__title{color:#fff}
.cat-mini--dark .cat-mini__desc{color:rgba(200,222,229,.55)}
.cat-mini__title{font-family:var(--syne);font-size:22px;font-weight:700;color:var(--deep);line-height:1.1}
.cat-mini__desc{font-size:12px;color:var(--muted);line-height:1.6}
.cat-mini__price{font-family:var(--syne);font-size:20px;font-weight:700;color:var(--brand);margin-top:.3rem}
.cat-mini__price--accent{color:var(--accent)}

.lifestyle{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.lifestyle__visual{position:relative;overflow:hidden;background:linear-gradient(160deg,#2D5A6E,#234141 60%,#0F2830)}
.lifestyle__content{padding:clamp(2.5rem,2rem+3vw,5rem) clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.4rem}
.lifestyle__title{font-family:var(--syne);font-size:clamp(28px,3.5vw,44px);font-weight:800;color:#fff;line-height:1.05}
.lifestyle__title em{color:var(--accent);font-style:normal}
.lifestyle__desc{font-size:15px;line-height:1.75;color:rgba(200,222,229,.65);max-width:400px}
.lifestyle__stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem;background:rgba(255,255,255,.05);border-radius:var(--r);border:1px solid rgba(158,191,189,.1);max-width:380px}
.lifestyle__link{font-family:var(--syne);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px;transition:gap .2s}
.lifestyle__link:hover{gap:14px}
.lifestyle__link svg{width:16px;height:16px}

.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,1.5rem+3vw,4rem);align-items:center;margin-top:1.5rem}
.featured-visual{position:relative;border-radius:var(--r-md);background:var(--paper-2);min-height:440px;display:grid;place-items:center;border:1px solid var(--line)}
.featured-visual .haven-illu{width:min(70%,320px)}
.featured-badge{position:absolute;top:1.5rem;left:1.5rem;font-family:var(--syne);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--deep);color:#fff;padding:5px 12px;border-radius:var(--r-sm)}
.featured-content{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.featured-name{font-family:var(--syne);font-size:clamp(32px,4vw,48px);font-weight:800;color:var(--deep);line-height:1}
.featured-name em{font-style:italic;color:var(--brand)}
.featured-price{font-family:var(--syne);font-size:28px;font-weight:700;color:var(--accent)}
.featured-desc{font-size:14px;line-height:1.8;color:var(--muted)}
.featured-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:1.25rem;background:var(--paper-2);border-radius:var(--r);width:100%}
.fs-l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block}
.fs-v{font-family:var(--syne);font-size:14px;font-weight:600;color:var(--deep);margin-top:2px;display:block}
.featured-colors{display:flex;flex-direction:column;gap:.5rem}
.featured-actions{display:flex;gap:12px;flex-wrap:wrap}

.swatches{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.swatch{width:26px;height:26px;border-radius:50%;background:var(--sw);cursor:pointer;border:2px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:border-color .15s}
.swatch.is-active{border-color:var(--deep)}

.newsletter{background:var(--accent)}
.newsletter__inner{max-width:1400px;margin:0 auto;padding:3.5rem clamp(1.2rem,4vw,2.5rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem}
.newsletter__title{font-family:var(--syne);font-size:clamp(24px,3vw,30px);font-weight:800;color:#fff;line-height:1.1}
.newsletter__sub{font-size:14px;color:rgba(255,255,255,.85);margin-top:4px}
.newsletter__form{display:flex;gap:8px}
.newsletter__input{flex:1;min-width:260px;padding:13px 18px;border-radius:var(--r-sm);border:none;font-size:14px;font-family:var(--sans);background:rgba(255,255,255,.92);color:var(--deep)}
.newsletter__input:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.4)}
.newsletter__btn{background:var(--deep);color:#fff;font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:13px 24px;border-radius:var(--r-sm);border:none;cursor:pointer;white-space:nowrap;transition:background .2s}
.newsletter__btn:hover{background:var(--deep-2)}

.site-footer{background:var(--ink);color:rgba(200,222,229,.6);padding:4rem clamp(1.2rem,4vw,2.5rem) 2rem}
.site-footer__grid{max-width:var(--maxw);margin:0 auto 3rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.brand--footer .brand__word{color:#fff}
.site-footer__tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(235,107,71,.85);display:block;margin:.8rem 0}
.site-footer__desc{font-size:13px;line-height:1.7;max-width:280px;margin-bottom:.8rem}
.site-footer__zone{font-size:12px;color:rgba(200,222,229,.4)}
.site-footer__title{font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.site-footer__links{list-style:none;display:flex;flex-direction:column;gap:8px}
.site-footer__links a{font-size:13px;color:rgba(200,222,229,.5);transition:color .15s}
.site-footer__links a:hover{color:var(--accent)}
.site-footer__bottom{max-width:var(--maxw);margin:0 auto;border-top:1px solid rgba(158,191,189,.12);padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:12px;color:rgba(200,222,229,.35)}

/* ===== WooCommerce + páginas internas ===== */
.section--paper{background:var(--paper-2)}
.crumbs,.woocommerce-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:1.2rem}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-breadcrumb a:hover{color:var(--brand)}
.woocommerce-breadcrumb>:last-child{color:var(--deep);font-weight:600}
.crumbs__sep{display:inline-flex;color:var(--muted);opacity:.5}
.crumbs__sep svg{width:14px;height:14px}
.msg{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--info-line);border-left-width:4px;background:var(--info-bg);color:var(--info);font-size:13px;line-height:1.45}
.msg svg{width:20px;height:20px;flex:none;margin-top:1px}
.msg--ok{background:var(--ok-bg);border-color:var(--ok-line);border-left-color:var(--ok);color:var(--ok)}
.msg--warn{background:var(--warn-bg);border-color:var(--warn-line);border-left-color:var(--warn);color:var(--warn)}
.msg--err{background:var(--err-bg);border-color:var(--err-line);border-left-color:var(--err);color:var(--err)}
.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;justify-content:center;padding:0;margin:2.5rem 0 0}
.woocommerce-pagination li{list-style:none}
.page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font-weight:600;font-size:13px;color:var(--deep);transition:all .2s}
a.page-numbers:hover{border-color:var(--deep);transform:translateY(-2px)}
.page-numbers.current{background:var(--deep);color:#fff;border-color:var(--deep)}
.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line)}

.stars{display:inline-flex;gap:2px;vertical-align:middle}
.star{width:15px;height:15px;background:var(--line);clip-path:polygon(50% 0,63% 35%,100% 38%,72% 60%,82% 100%,50% 76%,18% 100%,28% 60%,0 38%,37% 35%)}
.star--full{background:var(--accent-2)}
.star--half{background:linear-gradient(90deg,var(--accent-2) 50%,var(--line) 50%)}

.single-product-editorial{padding:clamp(1.5rem,1rem+2vw,2.5rem) 0 clamp(3rem,2rem+3vw,5rem)}
.sp-crumbs{margin:0 0 1.2rem}
.sp-top__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(1.5rem,1rem+3vw,3.5rem);align-items:start}
.sp-gallery img{border-radius:var(--r-md);background:var(--paper-2)}
.sp-gallery__fallback{display:grid;place-items:center;gap:1rem;background:var(--paper-2);border-radius:var(--r-md);padding:clamp(2rem,3vw,4rem);aspect-ratio:1/1}
.sp-gallery__fallback .haven-illu{width:min(70%,320px)}
.sp-gallery__note{font-size:12px;color:var(--muted);text-align:center;max-width:30ch}
.flex-control-thumbs{display:flex;gap:.6rem;list-style:none;padding:0;margin:1rem 0 0;flex-wrap:wrap}
.flex-control-thumbs li{width:72px}
.flex-control-thumbs img{border-radius:var(--r-sm);cursor:pointer;opacity:.55;border:1px solid var(--line);transition:opacity .2s}
.flex-control-thumbs img:hover,.flex-control-thumbs .flex-active{opacity:1;border-color:var(--deep)}
.sp-buy{position:sticky;top:88px}
.sp-buy__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,1rem+1vw,1.8rem);box-shadow:var(--shadow-soft)}
.sp-buy__brand{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);font-weight:700}
.sp-buy__title{font-family:var(--syne);font-weight:800;font-size:clamp(24px,3vw,30px);line-height:1.05;margin:.35rem 0 .6rem;color:var(--deep)}
.sp-buy__title em{font-style:italic;color:var(--brand)}
.sp-buy__sub{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:12px;color:var(--muted);margin-bottom:.6rem}
.sp-buy__soldby strong{color:var(--ink-2)}
.sp-buy__rating{display:inline-flex;align-items:center;gap:.4rem;font-size:13px;color:var(--ink-2);margin-bottom:1rem}
.sp-buy__rating-num{font-weight:700}
.sp-buy__rating-count{color:var(--muted)}
.sp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .7rem;margin:.2rem 0 .5rem}
.sp-price__off{background:var(--accent);color:#fff;font-weight:700;font-size:13px;padding:3px 9px;border-radius:6px;align-self:center;font-family:var(--syne)}
.sp-price__now{font-family:var(--syne);font-weight:700;font-size:clamp(1.8rem,1.4rem+1.6vw,2.4rem);color:var(--deep)}
.sp-price__now .woocommerce-Price-amount{font-weight:700}
.sp-price__was{color:var(--muted);text-decoration:line-through;font-size:1rem}
.sp-price__extra{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.2rem}
.sp-coupon{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;background:var(--ok-bg);color:var(--ok);border:1px dashed var(--ok-line);border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600}
.sp-coupon svg{width:15px;height:15px}
.sp-cuotas{font-size:13px;color:var(--ink-2)}
.sp-buy__swatches{margin-bottom:1.2rem}
.config__label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.5rem;font-weight:600}
.sp-buy__actions{display:flex;flex-direction:column;gap:.6rem}
.sp-trust{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem .9rem}
.sp-trust li{display:flex;align-items:center;gap:.45rem;font-size:12px;color:var(--ink-2)}
.sp-trust svg{width:16px;height:16px;color:var(--brand);flex:none}
.sp-deliver{margin:1.2rem 0;padding:.9rem 1rem;background:var(--paper-2);border-radius:var(--r-md)}
.sp-deliver__row{display:flex;gap:.7rem;align-items:flex-start}
.sp-deliver__row svg{width:18px;height:18px;color:var(--brand);transform:rotate(90deg);margin-top:2px;flex:none}
.sp-deliver__row strong{display:block;font-size:13px}
.sp-deliver__row span{font-size:12px;color:var(--muted)}
.sp-acc{border-top:1px solid var(--line);margin-top:.5rem}
.sp-acc__item{border-bottom:1px solid var(--line)}
.sp-acc__head{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:.9rem 0;font-weight:600;font-size:14px;color:var(--deep);background:none;border:0;cursor:pointer}
.sp-acc__head svg{width:18px;height:18px;color:var(--muted);transition:transform .3s;flex:none}
.sp-acc__item.is-open .sp-acc__head svg{transform:rotate(90deg)}
.sp-acc__body{max-height:0;overflow:hidden;transition:max-height .35s}
.sp-acc__item.is-open .sp-acc__body{max-height:240px}
.sp-acc__body p{margin:0 0 1rem;font-size:13px;color:var(--ink-2);line-height:1.55}
.sp-addons{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.sp-addons__title{display:block;font-weight:700;font-size:13px;margin-bottom:.7rem}
.sp-addon{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:.5rem}
.sp-addon input{width:18px;height:18px;accent-color:var(--accent)}
.sp-addon__body{flex:1}.sp-addon__body strong{display:block;font-size:13px}.sp-addon__body span{font-size:12px;color:var(--muted)}
.sp-addon__price{font-weight:700;font-size:13px;color:var(--accent-deep)}
.sp-addons__note{font-size:12px;color:var(--muted);margin:.4rem 0 0}
.sp-buy__wa{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;font-size:13px;font-weight:600;color:var(--accent-deep)}
.sp-buy__wa svg{width:17px;height:17px}
.woocommerce div.product form.cart .button,.sp-buy__cart .single_add_to_cart_button,.single_add_to_cart_button.button.alt{background:var(--surface)!important;color:var(--deep)!important;border:1.5px solid var(--deep)!important;border-radius:var(--r-pill)!important;font-weight:700!important;text-shadow:none!important;box-shadow:none!important;font-family:var(--syne)!important;letter-spacing:.04em!important}
.sp-buy__cart .single_add_to_cart_button:hover,.single_add_to_cart_button.button.alt:hover{background:var(--deep)!important;color:#fff!important}
.sp-buy__cart .quantity{margin-bottom:.7rem;display:flex}
.sp-buy__cart .quantity input{width:88px;padding:.7em;border:1px solid var(--line);border-radius:var(--r-sm);text-align:center}
.sp-aplus{margin-top:clamp(2.5rem,2rem+3vw,4.5rem)}
.sp-aplus__badge{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.5rem;font-weight:700;font-size:15px;color:var(--deep)}
.sp-seal{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--deep);color:var(--accent);font-family:var(--syne);font-weight:700;border:2px solid var(--accent)}
.sp-aplus__body{max-width:70ch;margin:0 auto 2.5rem;font-size:16px;color:var(--ink-2)}
.sp-aplus__body h2,.sp-aplus__body h3{font-family:var(--syne);color:var(--deep)}
.sp-aplus__body img{border-radius:var(--r-md);margin:1.5rem 0}
.sp-feats{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;margin-top:2rem}
.sp-feat{text-align:center;padding:1.2rem .8rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.sp-feat__icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto .8rem;border-radius:50%;background:var(--paper-2);color:var(--brand)}
.sp-feat__title{font-family:var(--syne);font-size:14px;font-weight:700;margin:0 0 .4rem;color:var(--deep)}
.sp-feat__desc{font-size:12px;color:var(--muted);line-height:1.5;margin:0}
.sp-colors__row{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem}
.color-block{background:var(--bg,var(--paper-2));border:1px solid var(--line);border-radius:var(--r-md);padding:1rem;text-align:center}
.color-block__illu .haven-illu{width:100%}
.hexchip{display:flex;flex-direction:column;gap:2px;margin-top:.6rem}
.hexchip__label{font-size:12px;font-weight:600;color:var(--deep)}
.hexchip__code{font-size:10px;font-family:var(--syne);color:var(--muted);display:inline-flex;align-items:center;gap:5px;justify-content:center}
.hexchip__code::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--chip)}
.sp-specs__table{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,1rem+2vw,3rem) clamp(2rem,1.5rem+3vw,5rem)}
.sp-specs__gtitle{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);font-weight:700;margin:0 0 .6rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.sp-specs__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line-2);font-size:14px}
.sp-specs__row dt{color:var(--muted);margin:0}
.sp-specs__row dd{margin:0;color:var(--deep);font-weight:500}
.sp-reviews__grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(1.5rem,1rem+3vw,4rem);align-items:start}
.sp-reviews__score{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.6rem}
.sp-reviews__avg{font-family:var(--syne);font-weight:700;font-size:3.4rem;line-height:1;color:var(--deep)}
.sp-reviews__score .stars{justify-content:center;margin:.5rem 0}
.sp-reviews__total{font-size:13px;color:var(--muted);margin-bottom:1.2rem}
.sp-reviews__bars{display:flex;flex-direction:column;gap:.4rem;text-align:left}
.sp-bar{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:.5rem;font-size:12px;color:var(--muted)}
.sp-bar__track{height:7px;border-radius:99px;background:var(--line-2);overflow:hidden}
.sp-bar__fill{display:block;height:100%;background:var(--accent-2);border-radius:99px}
.sp-bar__c{text-align:right}
.sp-reviews__empty{padding:.5rem 0}.sp-reviews__empty .stars{justify-content:center;margin-bottom:.6rem}
.sp-reviews__empty-t{font-weight:700;margin:0 0 .2rem;color:var(--deep)}.sp-reviews__empty-s{font-size:13px;color:var(--muted);margin:0}
.sp-reviews__ai{margin-bottom:1.5rem}
.related.products,.upsells.products{margin-top:clamp(2.5rem,2rem+2vw,4rem)}
.related.products>h2,.upsells.products>h2{font-family:var(--syne);font-size:clamp(22px,3vw,28px);margin-bottom:1.5rem;color:var(--deep)}
.related .products,.upsells .products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#reviews .commentlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.2rem}
#reviews .commentlist li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem}
#review_form input[type=text],#review_form input[type=email],#review_form textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:.7em .9em;font-family:inherit;margin-top:.3rem}
#review_form .submit{background:var(--deep);color:#fff;border-radius:var(--r-pill);padding:.8em 1.8em;font-weight:600;border:0;margin-top:.8rem;font-family:var(--syne)}
.sp-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;align-items:center;gap:1rem;padding:.7rem clamp(1rem,4vw,1.5rem);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);box-shadow:0 -10px 30px -18px rgba(35,65,65,.4)}
.sp-stickybar__info{display:flex;flex-direction:column;line-height:1.1;flex:1;min-width:0}
.sp-stickybar__name{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-stickybar__price{font-family:var(--syne);font-weight:700;font-size:1.05rem;color:var(--deep)}
.sp-stickybar .btn{padding:.7em 1.4em;flex:none}

.archive-head{padding:clamp(2rem,3vw,3rem) 0 1rem}
.archive-head .display{margin-top:.4rem}
.archive-body{padding-bottom:clamp(2rem,3vw,4rem)}
.archive-head__desc{color:var(--muted);max-width:60ch;margin-top:.6rem}
.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;font-size:13px;color:var(--muted)}
.archive-toolbar .woocommerce-ordering select{padding:.5em .8em;border:1px solid var(--line);border-radius:var(--r-sm)}
.silo-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:1.5rem 0}
.silo-tab{font-size:12px;font-weight:600;letter-spacing:.04em;padding:8px 16px;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--muted);transition:all .15s}
.silo-tab:hover,.silo-tab.is-active{background:var(--deep);color:#fff;border-color:var(--deep)}

.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{list-style:none;background:var(--surface);border-left:3px solid var(--brand);border-radius:var(--r-sm);padding:1em 1.2em;margin:0 0 1.5rem;font-size:14px;box-shadow:var(--shadow-soft)}
.woocommerce-error{border-left-color:var(--err)}
.woocommerce-message .button,.woocommerce-info .button{float:right;background:var(--deep);color:#fff;border-radius:var(--r-pill);padding:.4em 1em}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--r-md);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{font-family:var(--syne)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .quantity input{border-radius:var(--r-sm)}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--brand);box-shadow:inset 3px 0 0 0 var(--brand)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--deep);color:#fff;border-radius:var(--r-pill);font-family:var(--syne);font-weight:600;letter-spacing:.04em;padding:.8em 1.6em;transition:background .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--brand)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--accent);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--accent-deep)}

/* Plantillas internas (blog/Studio, páginas) */
.post-wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(2rem,3vw,4rem) 0}
.post-wrap--narrow{max-width:820px}
.sec-head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.lede{font-size:18px;color:var(--muted);max-width:50ch;margin:.6rem auto 1.4rem}
.studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.studio{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.6rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .2s,box-shadow .2s}
.studio:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.studio__kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);font-weight:700}
.studio__title{font-family:var(--syne);font-size:19px;font-weight:700;color:var(--deep);line-height:1.2}
.studio__title a:hover{color:var(--brand)}
.studio__excerpt{font-size:13px;color:var(--muted);line-height:1.65;flex:1}
.studio__more{font-family:var(--syne);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-top:.4rem}
.sec-foot{margin-top:2.5rem}
.sec-foot .nav-links,.sec-foot .page-numbers{justify-content:center}
.post-empty{color:var(--muted);font-size:15px;padding:2rem 0}
.post-single__head{margin-bottom:1.5rem}
.post-single__meta{font-size:13px;color:var(--muted);margin-top:.4rem}
.post-single__media{margin:1.5rem 0}
.post-single__media img{border-radius:var(--r-md)}
.post-content{max-width:72ch;font-size:16px;line-height:1.85;color:var(--ink-2)}
.post-content>*{margin-bottom:1.1rem}
.post-content h2,.post-content h3{font-family:var(--syne);color:var(--deep);margin:2rem 0 .6rem}
.post-content a{color:var(--brand);text-decoration:underline}
.post-content img{border-radius:var(--r-md);margin:1.5rem 0}
.post-content blockquote{border-left:3px solid var(--accent);padding-left:1.2rem;color:var(--ink-2);font-style:italic}
.error-404{text-align:center;padding:6rem 1.5rem}

.reveal{transition:opacity .7s ease,transform .7s ease}
.js .reveal{opacity:0;transform:translateY(20px)}
.js .reveal.is-in{opacity:1;transform:none}
@media print{.reveal{opacity:1!important;transform:none!important}}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .p-grid--4{grid-template-columns:repeat(2,1fr)}
  .sp-feats{grid-template-columns:repeat(3,1fr)}
  .related .products,.upsells .products{grid-template-columns:repeat(2,1fr)}
  .sp-colors__row{grid-template-columns:repeat(3,1fr)}
  .studio-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .nav,.header-phone,.nav-cta{display:none}
  .nav-toggle{display:flex}
  body.nav-open{overflow:hidden}
  .nav.is-open{display:block;position:fixed;inset:64px 0 0;background:var(--paper);z-index:120;padding:2rem clamp(1.2rem,4vw,2.5rem);overflow:auto}
  .nav.is-open .nav__list{flex-direction:column;gap:1.2rem}
  .nav.is-open .nav__list a{font-family:var(--syne);font-size:22px;color:var(--deep)}
  .hero__inner{grid-template-columns:1fr;gap:2.5rem}
  .hero__stage-wrap{order:-1}
  .position{grid-template-columns:1fr}
  .lifestyle{grid-template-columns:1fr}
  .lifestyle__visual{min-height:320px}
  .catalog-grid{grid-template-columns:1fr}
  .featured-grid{grid-template-columns:1fr}
  .featured-visual{min-height:340px}
  .sp-top__grid{grid-template-columns:1fr}
  .sp-buy{position:static}
  .sp-specs__table{grid-template-columns:1fr}
  .sp-reviews__grid{grid-template-columns:1fr}
  .sp-feats{grid-template-columns:repeat(2,1fr)}
  .sp-stickybar{display:flex}
  .single-product-editorial{padding-bottom:5rem}
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .catalog-featured{flex-direction:column;align-items:flex-start}
  .cf-illu{width:100%;max-width:240px}
}
@media (max-width:560px){
  .p-grid--4,.p-grid--shop{grid-template-columns:1fr}
  .studio-grid{grid-template-columns:1fr}
  .related .products,.upsells .products{grid-template-columns:1fr 1fr}
  .hero__title{font-size:clamp(44px,16vw,64px)}
  .hero__stats{gap:1.5rem;flex-wrap:wrap}
  .sec-head--row{flex-direction:column;align-items:flex-start}
  .newsletter__inner{flex-direction:column;align-items:flex-start}
  .newsletter__form{width:100%}
  .newsletter__input{min-width:0}
  .sp-colors__row{grid-template-columns:repeat(2,1fr)}
  .sp-feats{grid-template-columns:1fr}
  .sp-specs__row{grid-template-columns:1fr;gap:.1rem}
  .lifestyle__stats{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr}
  .featured-specs{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
  .marquee__track{animation:none}
}

/* Utilidad accesible + página de contacto */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(1.5rem,1rem+3vw,3.5rem);align-items:start}
.contact-info{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:.9rem;width:100%}
.contact-list li{display:flex;flex-direction:column;gap:2px;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.contact-list__l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.contact-list a{color:var(--brand);font-weight:600}
.contact-form-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.4rem,1rem+1.5vw,2rem);box-shadow:var(--shadow-soft)}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field__label{font-size:12px;font-weight:600;color:var(--ink-2);letter-spacing:.02em}
.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:.8em .9em;font-family:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:inset 3px 0 0 0 var(--brand)}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}

/* FAQ (acordeón) + footer 5 columnas + legal links */
.faq{border-top:1px solid var(--line);max-width:860px}
.faq__item{border-bottom:1px solid var(--line)}
.faq__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:1.15rem 0;font-family:var(--syne);font-weight:700;font-size:clamp(15px,1rem+.4vw,18px);color:var(--deep)}
.faq__head svg{flex:none;color:var(--accent);transition:transform .3s ease}
.faq__item.is-open .faq__head svg{transform:rotate(45deg)}
.faq__body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq__item.is-open .faq__body{max-height:320px}
.faq__body p{margin:0 0 1.2rem;color:var(--ink-2);font-size:15px;line-height:1.7;max-width:70ch}
.faq__cta{margin-top:2.5rem;padding:1.8rem;background:var(--paper-2);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.faq__cta p{font-family:var(--syne);font-weight:700;font-size:18px;color:var(--deep);margin:0}
.site-footer__legal a{color:rgba(200,222,229,.5)}
.site-footer__legal a:hover{color:var(--accent)}
@media (min-width:961px){.site-footer__grid{grid-template-columns:1.6fr repeat(4,1fr);gap:2.4rem}}
@media (max-width:560px){.faq__cta{flex-direction:column;align-items:flex-start}}

/* =========================================================================
   RETAIL (estilo marketplace, marca HAVEN) — header, promos, ofertas, cards
   ========================================================================= */
/* Header sticky de 3 niveles: anulamos el fixed+padding antiguos */
.site-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 2px 14px -10px rgba(35,65,65,.4)}
.site-main{padding-top:0}

/* Barra utilitaria */
.utilbar{background:var(--deep);color:rgba(225,235,233,.85);font-size:12px}
.utilbar__inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem clamp(1rem,4vw,2rem)}
.utilbar__msg{display:flex;align-items:center;gap:.5rem;margin:0}
.utilbar__msg svg{color:var(--accent)}
.utilbar__links{display:flex;align-items:center;gap:1.4rem}
.utilbar__links a{display:inline-flex;align-items:center;gap:.4rem;color:rgba(225,235,233,.85)}
.utilbar__links a:hover{color:#fff}
.utilbar__links svg{opacity:.8}

/* Header principal */
.site-header__main{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:.9rem clamp(1rem,4vw,2rem)}
.hsearch{flex:1;display:flex;max-width:640px;border:1.5px solid var(--line);border-radius:var(--r-pill);overflow:hidden;transition:border-color .2s}
.hsearch:focus-within{border-color:var(--brand)}
.hsearch__input{flex:1;border:0;padding:.7em 1.1em;font-family:var(--sans);font-size:14px;background:transparent;color:var(--ink)}
.hsearch__input:focus{outline:none}
.hsearch__btn{border:0;background:var(--deep);color:#fff;padding:0 1.1rem;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.hsearch__btn:hover{background:var(--brand)}
.site-header__actions{display:flex;align-items:center;gap:1.2rem}
.haction{display:inline-flex;align-items:center;gap:.5rem;color:var(--deep)}
.haction svg{color:var(--deep)}
.haction__txt{display:flex;flex-direction:column;line-height:1.1}
.haction__txt strong{font-size:13px;font-weight:700}
.haction__txt small{font-size:11px;color:var(--muted)}
.haction__cartwrap{position:relative;display:inline-flex}
.haction__count{position:absolute;top:-8px;right:-9px;min-width:17px;height:17px;border-radius:99px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.haction:hover strong{color:var(--brand)}

/* Barra de departamentos */
.deptbar{position:relative;background:var(--surface);border-top:1px solid var(--line-2)}
.deptbar__inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;padding:.55rem clamp(1rem,4vw,2rem)}
.dept-trigger{display:inline-flex;align-items:center;gap:.5rem;background:var(--deep);color:#fff;border:0;border-radius:var(--r-sm);padding:.6em 1.1em;font-family:var(--syne);font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .2s}
.dept-trigger:hover,.dept-trigger.is-open{background:var(--brand)}
.dept-trigger svg:last-child{transition:transform .25s}
.dept-trigger.is-open svg:last-child{transform:rotate(90deg)}
.deptbar__quick{display:flex;gap:1.4rem;list-style:none;flex:1;overflow:auto}
.deptbar__quick a{font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem}
.deptbar__quick a:hover{color:var(--brand)}
.deptbar__deals{color:var(--accent-deep)!important;font-weight:700!important}
.deptbar__deals svg{color:var(--accent)}
.deptbar__help{font-size:13px;color:var(--muted);white-space:nowrap}
.megapanel{position:absolute;top:100%;left:clamp(1rem,4vw,2rem);z-index:120;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;min-width:min(720px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--r-md) var(--r-md);box-shadow:var(--shadow-lg);padding:1.6rem}
.megapanel[hidden]{display:none}
.megapanel__title{font-family:var(--syne);font-size:13px;font-weight:700;color:var(--deep);margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.megapanel__col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.megapanel__col a{font-size:13px;color:var(--ink-2)}
.megapanel__col a:hover{color:var(--brand)}
.megapanel__col--promo{background:var(--paper-2);border-radius:var(--r);padding:1.2rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;justify-content:center}
.megapanel__promo-tag{font-family:var(--syne);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fff;padding:3px 10px;border-radius:var(--r-sm)}
.megapanel__promo-txt{font-family:var(--syne);font-weight:700;color:var(--deep);font-size:15px;line-height:1.2}

/* Menú móvil */
.mobnav{display:none}

/* Promo hero */
.promo{display:grid;grid-template-columns:2fr 1fr;gap:14px;max-width:1320px;margin:0 auto;padding:clamp(1rem,3vw,1.6rem) clamp(1rem,4vw,2rem)}
.promo__main{position:relative;overflow:hidden;display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,var(--deep),#2D5A6E);border-radius:var(--r-lg);padding:clamp(1.6rem,1rem+3vw,3rem);color:#fff;min-height:300px}
.promo__main-copy{flex:1;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;z-index:1}
.promo__title{font-family:var(--syne);font-size:clamp(30px,3.5vw,46px);font-weight:800;color:#fff;line-height:1}
.promo__sub{font-size:14px;color:rgba(200,222,229,.8);max-width:36ch}
.promo__sub strong{color:var(--accent-2)}
.promo__main-illu{flex:none;width:min(38%,260px);background:var(--surface);border-radius:var(--r);padding:1rem;display:grid;place-items:center}
.promo__main-illu .haven-illu{width:100%}
.promo__side{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.promo__card{border-radius:var(--r-lg);padding:1.4rem;display:flex;flex-direction:column;gap:.4rem;justify-content:center;color:#fff;transition:transform .2s}
.promo__card:hover{transform:translateY(-3px)}
.promo__card strong{font-family:var(--syne);font-size:20px;font-weight:700;line-height:1.1}
.promo__card--a{background:linear-gradient(135deg,var(--accent),var(--accent-deep))}
.promo__card--b{background:linear-gradient(135deg,var(--brand),#155f58)}
.promo__tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.9}
.promo__link{font-size:13px;font-weight:600;margin-top:.2rem}

/* Beneficios */
.benefits{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.benefits__inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem clamp(1rem,4vw,2rem)}
.benefit{display:flex;align-items:center;gap:.7rem}
.benefit svg{color:var(--brand);flex:none}
.benefit strong{display:block;font-size:13px;color:var(--deep)}
.benefit span{font-size:12px;color:var(--muted)}

/* Ofertas (tiles) */
.offergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.offer{border-radius:var(--r-md);padding:1.5rem;display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-height:108px;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.offer:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.offer__title{font-family:var(--syne);font-size:18px;font-weight:700;color:var(--deep)}
.offer__sub{font-size:12px;color:var(--muted)}
.offer--a{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.offer--b{background:color-mix(in srgb,var(--sky) 22%,var(--surface))}
.offer--c{background:color-mix(in srgb,var(--accent-2) 18%,var(--surface))}
.offer--d{background:color-mix(in srgb,var(--brand-soft) 28%,var(--surface))}
.offer--e{background:color-mix(in srgb,var(--lavender) 20%,var(--surface))}
.offer--f{background:color-mix(in srgb,var(--latte) 24%,var(--surface))}

/* Ambientes */
.ambientes{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.ambiente{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem .6rem;transition:transform .2s,box-shadow .2s}
.ambiente:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.ambiente__illu{width:100%;aspect-ratio:1/1;display:grid;place-items:center;border-radius:var(--r);background:linear-gradient(150deg,color-mix(in srgb,var(--tint,#9EBFBD) 22%,var(--whisper)),var(--whisper))}
.ambiente__illu .haven-illu{width:70%}
.ambiente__name{font-family:var(--syne);font-size:13px;font-weight:700;color:var(--deep);line-height:1.2}

/* Tarjeta de producto retail */
.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 16px 38px -20px rgba(35,65,65,.22)}
.pcard__media{position:relative;height:190px;display:grid;place-items:center;background:linear-gradient(150deg,color-mix(in srgb,var(--tint,#9EBFBD) 20%,var(--whisper)),var(--whisper))}
.pcard__media .haven-illu{width:min(60%,140px)}
.pcard__badge{position:absolute;top:10px;left:10px;font-family:var(--syne);font-size:12px;font-weight:700;padding:4px 9px;border-radius:var(--r-sm);color:#fff}
.pcard__badge--sale{background:var(--accent)}
.pcard__badge--new{background:var(--brand)}
.pcard__body{display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.1rem 1.2rem}
.pcard__cat{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pcard__name{font-family:var(--syne);font-size:15px;font-weight:700;color:var(--deep);line-height:1.25;min-height:2.4em}
.pcard__name a:hover{color:var(--brand)}
.pcard__rating{display:flex;align-items:center;gap:.4rem;font-size:12px;color:var(--muted)}
.pcard__pricing{display:flex;flex-direction:column;gap:1px;margin-top:.2rem}
.pcard__old{font-size:12px;color:var(--muted);text-decoration:line-through}
.pcard__now{font-family:var(--syne);font-size:22px;font-weight:800;color:var(--deep);line-height:1}
.pcard__now .woocommerce-Price-amount{font-weight:800}
.pcard__cuotas{font-size:12px;color:var(--ok);font-weight:600}
.pcard__cta{margin-top:.7rem;text-align:center;background:var(--surface);border:1.5px solid var(--deep);color:var(--deep);font-family:var(--syne);font-weight:700;font-size:13px;letter-spacing:.03em;padding:.7em 1em;border-radius:var(--r-pill);transition:background .2s,color .2s}
.pcard__cta:hover{background:var(--deep);color:#fff}

/* Banda de cuotas */
.cuotasband{background:linear-gradient(135deg,var(--deep),#2D5A6E)}
.cuotasband__inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:clamp(2rem,1.5rem+2vw,3rem) clamp(1rem,4vw,2rem)}
.cuotasband__title{font-family:var(--syne);font-size:clamp(24px,3vw,38px);font-weight:800;color:#fff;line-height:1}
.cuotasband__title em{color:var(--accent-2);font-style:normal}
.cuotasband__sub{font-size:14px;color:rgba(200,222,229,.75);max-width:48ch;margin-top:.5rem}

/* Por qué HAVEN */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.why-item{background:rgba(255,255,255,.05);border:1px solid rgba(158,191,189,.12);border-radius:var(--r-md);padding:1.6rem}
.why-item__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);margin-bottom:1rem}
.why-item h3{font-family:var(--syne);font-size:16px;color:#fff;margin-bottom:.4rem}
.why-item p{font-size:13px;color:rgba(200,222,229,.65);line-height:1.6}

/* Footer: medios de pago + sellos */
.site-footer__pay{max-width:var(--maxw);margin:0 auto 2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:2rem;border-top:1px solid rgba(158,191,189,.12)}
.site-footer__pay-title{display:block;font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:.8rem}
.paychips{display:flex;flex-wrap:wrap;gap:.5rem}
.paychip{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.06);border:1px solid rgba(158,191,189,.18);border-radius:var(--r-sm);padding:.35em .7em;font-size:12px;font-weight:600;color:rgba(225,235,233,.85)}
.paychip--yape{background:#742384;border-color:#742384;color:#fff}
.paychip--plin{background:#0bb7c2;border-color:#0bb7c2;color:#06303a}
.paychip--seal svg{color:var(--accent)}

/* Responsive retail */
@media (max-width:1080px){
  .offergrid{grid-template-columns:repeat(2,1fr)}
  .ambientes{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .utilbar__msg{display:none}
  .utilbar__inner{justify-content:center}
  .deptbar__quick,.deptbar__help{display:none}
  .haction__txt{display:none}
  .promo{grid-template-columns:1fr}
  .promo__side{grid-template-rows:none;grid-template-columns:1fr 1fr}
  .benefits__inner{grid-template-columns:1fr 1fr}
  .nav-toggle{display:flex}
  .mobnav.is-open{display:flex;flex-direction:column;position:fixed;inset:0 0 0 auto;width:min(82vw,320px);background:var(--surface);z-index:200;padding:5rem 1.6rem 2rem;gap:.2rem;box-shadow:var(--shadow-lg);overflow:auto}
  .mobnav.is-open a{font-family:var(--syne);font-size:18px;font-weight:600;color:var(--deep);padding:.8rem 0;border-bottom:1px solid var(--line-2)}
  body.nav-open{overflow:hidden}
  .megapanel{grid-template-columns:1fr;min-width:min(420px,92vw)}
  .site-footer__pay{grid-template-columns:1fr}
}
@media (max-width:560px){
  .site-header__main{flex-wrap:wrap}
  .hsearch{order:3;flex-basis:100%;max-width:none}
  .offergrid{grid-template-columns:1fr 1fr}
  .ambientes{grid-template-columns:repeat(2,1fr)}
  .benefits__inner{grid-template-columns:1fr}
  .promo__side{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .cuotasband__inner{flex-direction:column;align-items:flex-start}
  .promo__main{flex-direction:column;text-align:center}
  .promo__main-illu{width:min(70%,220px)}
}

/* =========================================================================
   FICHA DE PRODUCTO · refinamiento premium + jerarquía de CTA
   ========================================================================= */
/* Caja de compra: más aire, borde más suave */
.sp-buy__card{padding:clamp(1.5rem,1.2rem+1vw,2.1rem);border-color:var(--line-2);box-shadow:0 24px 60px -34px rgba(35,65,65,.28)}
.sp-buy__brand{color:var(--brand);letter-spacing:.16em}
.sp-buy__title{font-size:clamp(25px,3vw,32px);letter-spacing:-.015em}
.sp-buy__sub{font-size:11.5px;color:var(--muted)}
.sp-price{margin:.4rem 0 .35rem}
.sp-price__now{letter-spacing:-.01em}
.sp-cuotas{color:var(--ok);font-weight:600}

/* Acabados: etiqueta + nombre del color seleccionable */
.sp-buy__swatches{margin:1.2rem 0 1.4rem;padding-top:1.2rem;border-top:1px solid var(--line-2)}
.sp-buy__swatches .swatch{width:30px;height:30px}

/* Acciones de compra — jerarquía clara */
.sp-buy__actions{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.4rem}
.sp-buy__cart form.cart{display:flex;flex-direction:column;gap:.7rem;margin:0}
.sp-buy__cart .quantity{display:inline-flex;align-items:center;gap:.6rem;margin:0}
.sp-buy__cart .quantity::before{content:"Cantidad";font-size:12px;font-weight:600;color:var(--muted)}
.sp-buy__cart .quantity input{width:84px;padding:.65em;border:1px solid var(--line);border-radius:var(--r-sm);text-align:center}
/* PRIMARIO: Añadir al carrito (oscuro, lleno) */
.woocommerce div.product form.cart .button,
.sp-buy__cart .single_add_to_cart_button,
.single_add_to_cart_button.button.alt{
  width:100%!important;background:var(--deep)!important;color:#fff!important;
  border:1.5px solid var(--deep)!important;border-radius:var(--r-pill)!important;
  font-family:var(--syne)!important;font-weight:700!important;letter-spacing:.04em!important;
  padding:1em 1.4em!important;font-size:14px!important;text-shadow:none!important;box-shadow:none!important;transition:background .2s,border-color .2s}
.sp-buy__cart .single_add_to_cart_button:hover,
.single_add_to_cart_button.button.alt:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
/* SECUNDARIO: Comprar ahora (contorno) */
.sp-buy__now{padding:.95em 1.4em;font-size:14px}
/* TERCIARIO: WhatsApp (texto, centrado) */
.sp-buy__wa{justify-content:center;margin:.2rem 0 0;font-size:13px;color:var(--ok);font-weight:600}
.sp-buy__wa:hover{color:var(--deep)}
.sp-buy__wa svg{color:#25D366}

/* Galería: marco premium para la imagen referencial */
.sp-gallery__fallback{position:relative;display:grid;place-items:center;gap:1.2rem;margin:0;background:radial-gradient(120% 120% at 50% 30%,var(--surface),var(--paper-2));border:1px solid var(--line-2);border-radius:var(--r-lg);padding:clamp(2rem,1.5rem+4vw,4.5rem);aspect-ratio:4/5}
.sp-gallery__mark{position:absolute;top:1.2rem;left:1.4rem;font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--brand-soft)}
.sp-gallery__fallback .haven-illu{width:min(72%,360px)}
.sp-gallery__note{font-size:12px;color:var(--muted);text-align:center;max-width:34ch;letter-spacing:.01em}

/* Acordeón informativo: más sobrio */
.sp-acc{margin-top:.3rem}
.sp-acc__head{font-family:var(--sans);font-weight:600}

@media (max-width:960px){
  .sp-gallery__fallback{aspect-ratio:1/1}
}

/* =========================================================================
   FICHA · patrones amoble + casaideas (Perú)
   ========================================================================= */
/* SKU sobre el título (amoble) */
.sp-buy__meta{display:flex;align-items:center;gap:.8rem;margin-bottom:.4rem}
.sp-buy__meta .sp-buy__brand{margin:0}
.sp-buy__meta .sp-buy__sku{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sp-buy__rating-count{color:var(--muted)}

/* Línea rápida de medidas (amoble "55x45x58") */
.sp-dims{display:inline-flex;align-items:center;gap:.5rem;margin:.2rem 0 0;font-size:13px;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:.4em .9em;align-self:flex-start}
.sp-dims svg{color:var(--brand)}

/* Fila secundaria de acciones: favoritos + WhatsApp */
.sp-buy__row2{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:space-between;margin-top:.2rem}
.sp-buy__fav{display:inline-flex;align-items:center;gap:.45rem;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-2);padding:.4em 0}
.sp-buy__fav svg{transition:transform .2s}
.sp-buy__fav:hover{color:var(--accent)}
.sp-buy__fav.is-on{color:var(--accent)}
.sp-buy__fav.is-on svg{fill:var(--accent);stroke:var(--accent);transform:scale(1.1)}
.sp-buy__row2 .sp-buy__wa{margin:0}

/* Opciones de entrega (amoble: despacho + retiro) */
.sp-entrega{margin:1.4rem 0;border:1px solid var(--line-2);border-radius:var(--r-md);overflow:hidden}
.sp-entrega__title{display:block;background:var(--paper-2);padding:.7em 1.1em;font-family:var(--syne);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);border-bottom:1px solid var(--line-2)}
.sp-entrega__opt{display:flex;gap:.9rem;padding:1rem 1.1rem}
.sp-entrega__opt+.sp-entrega__opt{border-top:1px solid var(--line-2)}
.sp-entrega__ico{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r);background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}
.sp-entrega__body{display:flex;flex-direction:column;gap:2px}
.sp-entrega__body strong{font-size:14px;color:var(--deep)}
.sp-entrega__body span{font-size:12.5px;color:var(--muted);line-height:1.4}
.sp-entrega__body a{font-size:13px;font-weight:600;color:var(--accent-deep);margin-top:.25rem}
.sp-entrega__body a:hover{color:var(--accent)}

/* =========================================================================
   CARRITO (clásico por shortcode) — layout premium HAVEN
   ========================================================================= */
.haven-cart{max-width:1200px;margin:0 auto;padding:clamp(1.5rem,1rem+3vw,3rem) clamp(1rem,4vw,2rem)}
.haven-cart__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.haven-cart__head .display{margin:0}
.haven-cart__count{font-size:13px;color:var(--muted);margin-top:.3rem}
.haven-cart__back{display:inline-flex;align-items:center;gap:.4rem;font-size:13px;font-weight:600;color:var(--brand)}
.haven-cart__back svg{transform:rotate(180deg)}
.haven-cart__back:hover{color:var(--accent)}

.haven-cart__grid{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}

/* Tabla de ítems → filas tipo tarjeta */
.haven-cart__items .shop_table{width:100%;border-collapse:collapse;background:transparent}
.haven-cart__items thead th{text-align:left;font-family:var(--syne);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 0 .8rem;border-bottom:1px solid var(--line)}
.haven-cart__items thead .product-thumbnail{width:96px}
.haven-cart__items thead .product-remove{width:36px}
.woocommerce-cart-form__cart-item{border-bottom:1px solid var(--line-2)}
.woocommerce-cart-form__cart-item td{padding:1.1rem .6rem;vertical-align:middle}
.product-thumbnail img{width:80px;height:80px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line-2);background:var(--whisper)}
.product-name{font-family:var(--syne);font-weight:600}
.product-name a{color:var(--deep)}
.product-name a:hover{color:var(--brand)}
.product-name .variation,.product-name dl{font-family:var(--sans);font-size:12px;color:var(--muted);font-weight:400;margin-top:.3rem}
.product-price,.product-subtotal{font-weight:600;color:var(--ink-2)}
.product-subtotal{font-family:var(--syne);color:var(--deep)}
.haven-cart .quantity{display:inline-flex}
.haven-cart .quantity .qty{width:72px;padding:.55em;text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans)}
.product-remove .remove{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--paper-2);color:var(--muted)!important;font-size:18px;line-height:1;text-decoration:none;transition:background .2s,color .2s}
.product-remove .remove:hover{background:var(--accent)!important;color:#fff!important}

/* Fila de acciones: cupón + actualizar */
.woocommerce-cart-form .actions{padding-top:1.4rem!important}
.woocommerce-cart-form .actions .coupon{display:inline-flex;gap:.5rem;float:left}
.woocommerce-cart-form .actions .coupon .input-text{width:170px;padding:.6em .9em;border:1px solid var(--line);border-radius:var(--r-pill);font-size:13px}
.woocommerce-cart-form .actions .button{background:var(--surface);color:var(--deep);border:1.5px solid var(--line);border-radius:var(--r-pill);font-family:var(--syne);font-weight:700;font-size:13px;padding:.6em 1.2em;cursor:pointer;transition:border-color .2s,background .2s}
.woocommerce-cart-form .actions .coupon .button:hover,.woocommerce-cart-form .actions button[name="update_cart"]:hover{border-color:var(--deep);background:var(--deep);color:#fff}
.woocommerce-cart-form .actions button[name="update_cart"]{float:right}

/* Resumen (sticky) */
.cart-collaterals{position:sticky;top:120px}
.haven-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:0 24px 60px -38px rgba(35,65,65,.3)}
.haven-summary__title{font-family:var(--syne);font-size:18px;font-weight:700;color:var(--deep);margin-bottom:1rem}
.haven-summary__table{width:100%;font-size:14px}
.haven-summary__table th{text-align:left;font-weight:500;color:var(--ink-2);padding:.55rem 0}
.haven-summary__table td{text-align:right;padding:.55rem 0;color:var(--deep)}
.haven-summary__table .order-total th,.haven-summary__table .order-total td{border-top:1px solid var(--line);padding-top:.9rem;font-family:var(--syne);font-weight:800;font-size:17px;color:var(--deep)}
.haven-summary__cuotas{font-size:12.5px;color:var(--ok);margin:.9rem 0 0;line-height:1.55}
.haven-summary__cuotas svg{vertical-align:-2px;margin-right:.25rem;color:var(--ok)}
.haven-summary__cuotas strong{font-weight:700}
.wc-proceed-to-checkout{margin-top:1.1rem}
.wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center;background:var(--accent)!important;color:#fff!important;border:0!important;border-radius:var(--r-pill)!important;font-family:var(--syne)!important;font-weight:700!important;letter-spacing:.03em;padding:1em 1.4em!important;font-size:15px!important;text-shadow:none!important;transition:background .2s}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--accent-deep)!important}
.haven-summary__trust{list-style:none;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.55rem;padding-top:1.2rem;border-top:1px solid var(--line-2)}
.haven-summary__trust li{display:flex;align-items:center;gap:.5rem;font-size:12px;color:var(--muted)}
.haven-summary__trust svg{color:var(--brand);flex:none}
.haven-summary__pay{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.haven-summary__pay>span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.haven-summary .paychip{background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink-2);font-size:11px;padding:.3em .6em}
.haven-summary .paychip--yape{background:#742384;border-color:#742384;color:#fff}
.haven-summary .paychip--plin{background:#0bb7c2;border-color:#0bb7c2;color:#06303a}

/* Cross-sells */
.haven-crosssell{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}

/* Carrito vacío */
.haven-empty{max-width:560px;margin:0 auto;text-align:center;padding:clamp(2.5rem,2rem+4vw,5rem) 1.5rem}
.haven-empty__illu{width:160px;margin:0 auto 1.5rem;opacity:.9}
.haven-empty__title{font-family:var(--syne);font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--deep)}
.haven-empty__sub{color:var(--muted);margin:.6rem 0 1.8rem;font-size:15px}
.haven-empty__cats{display:flex;gap:1rem;justify-content:center;margin-top:2.5rem}
.haven-empty__cats a{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:150px;padding:1.2rem;border:1px solid var(--line);border-radius:var(--r-md);transition:transform .2s,box-shadow .2s}
.haven-empty__cats a:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.haven-empty__cats .haven-illu{width:64px}
.haven-empty__cats span{font-family:var(--syne);font-size:13px;font-weight:700;color:var(--deep)}

/* Responsive carrito */
@media (max-width:920px){
  .haven-cart__grid{grid-template-columns:1fr}
  .cart-collaterals{position:static}
}
@media (max-width:600px){
  .haven-cart__items thead{display:none}
  .woocommerce-cart-form__cart-item{display:grid;grid-template-columns:80px 1fr;gap:.3rem 1rem;align-items:start;padding:1.1rem 0;position:relative}
  .woocommerce-cart-form__cart-item td{padding:.2rem 0;border:0}
  .woocommerce-cart-form__cart-item .product-thumbnail{grid-row:1/4}
  .woocommerce-cart-form__cart-item .product-name{grid-column:2}
  .woocommerce-cart-form__cart-item .product-price::before,
  .woocommerce-cart-form__cart-item .product-subtotal::before{content:attr(data-title) ": ";font-weight:400;color:var(--muted)}
  .woocommerce-cart-form__cart-item .product-quantity{grid-column:2;margin-top:.4rem}
  .woocommerce-cart-form__cart-item .product-remove{position:absolute;top:1.1rem;right:0}
  .woocommerce-cart-form .actions .coupon,.woocommerce-cart-form .actions button[name="update_cart"]{float:none;width:100%;margin-bottom:.6rem}
  .woocommerce-cart-form .actions .coupon{display:flex}
  .woocommerce-cart-form .actions .coupon .input-text{flex:1;width:auto}
  .haven-empty__cats{flex-direction:column;align-items:center}
}

/* Imágenes editables (Personalizador) en hero y ambientes */
.promo__main-illu img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);display:block;aspect-ratio:1/1}
.ambiente__illu img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);display:block}

/* =========================================================================
   MOCKUP CARRITO+CHECKOUT PERÚ — Sora/Inter/JetBrains Mono, pasos, ítems
   ========================================================================= */
/* Precios en mono (mockup) */
.pcard__now,.sp-price__now,.hitem__now,.hitem__old,.hcs__price,
.haven-summary__table td,.hrow span:last-child,.hmini__price{font-family:var(--mono)}

/* Indicador de pasos */
.hsteps{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:1.1rem 0 .4rem}
.hstep{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);text-decoration:none}
.hstep__dot{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);font-family:var(--syne);font-size:12px;font-weight:700;color:var(--muted)}
.hstep__label{font-size:13px;font-weight:600}
.hstep.is-active .hstep__dot{background:var(--deep);border-color:var(--deep);color:#fff}
.hstep.is-active{color:var(--deep)}
.hstep.is-done .hstep__dot{background:var(--brand);border-color:var(--brand);color:#fff}
.hstep.is-done{color:var(--brand)}
.hstep__line{width:clamp(24px,6vw,64px);height:1.5px;background:var(--line)}
.hstep__line.is-done{background:var(--brand)}

/* Panel base */
.hpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:0 1px 2px rgba(35,65,65,.05)}
.hpanel__head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line-2)}
.hpanel__head h2{font-family:var(--syne);font-size:17px;font-weight:700;color:var(--deep);margin:0}
.hpanel__num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--deep);color:#fff;font-family:var(--syne);font-size:13px;font-weight:700;flex:none}
.haven-cart__clear{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--muted);background:none;border:0;cursor:pointer}
.haven-cart__clear:hover{color:var(--accent)}

/* Ítem del carrito (mockup) */
.hitem{display:flex;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line-2)}
.hitem:last-of-type{border-bottom:0}
.hitem__thumb{flex:none;width:96px}
.hitem__thumb img,.hitem__thumb .haven-illu{width:96px;height:96px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line-2);background:var(--whisper)}
.hitem__body{flex:1;display:flex;flex-direction:column;gap:.55rem;min-width:0}
.hitem__top{display:flex;gap:1rem;justify-content:space-between}
.hitem__info{min-width:0}
.hitem__seller{font-size:11px;color:var(--muted);margin:0 0 .15rem}
.hitem__title{font-family:var(--syne);font-size:15px;font-weight:700;line-height:1.3;margin:0}
.hitem__title a{color:var(--deep)}
.hitem__title a:hover{color:var(--brand)}
.hitem__variant{font-size:12px;color:var(--muted);margin:.2rem 0 0}
.hitem__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.htag{display:inline-flex;align-items:center;gap:.3rem;font-size:11px;font-weight:600;padding:.28em .65em;border-radius:var(--r-pill)}
.htag--urgent{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent-deep)}
.htag--ship{background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}
.hitem__pricecol{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}
.hitem__old{font-size:12px;color:var(--muted);text-decoration:line-through}
.hitem__now{font-size:17px;font-weight:700;color:var(--deep)}
.hitem__off{font-size:11.5px;font-weight:700;color:var(--ok)}
/* Cuotas desplegables */
.hinst__toggle{display:inline-flex;align-items:center;gap:.4rem;background:color-mix(in srgb,var(--brand) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));border-radius:var(--r-sm);padding:.4em .8em;font-size:12px;font-weight:600;color:var(--brand);cursor:pointer}
.hinst__toggle svg{transition:transform .2s}
.hinst.is-open .hinst__toggle svg{transform:rotate(90deg)}
.hinst__panel{margin-top:.5rem;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden}
.hinst__row{display:flex;justify-content:space-between;gap:1rem;padding:.55em .9em;font-size:12.5px}
.hinst__row+.hinst__row{border-top:1px solid var(--line-2)}
.hinst__row b{font-family:var(--mono);font-weight:600;color:var(--deep)}
/* Stepper + enlaces */
.hitem__bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.hqty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden}
.hqty__btn{width:34px;height:34px;border:0;background:var(--surface);font-size:17px;color:var(--deep);cursor:pointer}
.hqty__btn:hover{background:var(--paper-2)}
.hqty .quantity{margin:0}
.hqty .quantity .qty{width:44px;border:0;text-align:center;font-family:var(--mono);font-weight:600;padding:.4em 0}
.hqty .quantity .qty:focus{outline:none}
.hitem__links{display:flex;align-items:center;gap:1.1rem}
.hitem__save{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.hitem__save:hover,.hitem__save.is-on{color:var(--accent)}
.hitem__save.is-on svg{fill:var(--accent);stroke:var(--accent)}
.hitem__remove{display:inline-flex;align-items:center;gap:.3rem;font-size:12.5px;font-weight:600;color:var(--muted)}
.hitem__remove svg{transform:rotate(45deg)}
.hitem__remove:hover{color:#B23A2E}
/* Fila cupón + actualizar */
.haven-cart__actionsrow{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding-top:1.2rem;border-top:1px solid var(--line-2);margin-top:.4rem}
.hcoupon{display:inline-flex;gap:.5rem}
.hcoupon .input-text{width:180px;padding:.6em .9em;border:1px solid var(--line);border-radius:var(--r-pill);font-size:13px}
.haven-cart__actionsrow .button{background:var(--surface);color:var(--deep);border:1.5px solid var(--line);border-radius:var(--r-pill);font-family:var(--syne);font-weight:700;font-size:13px;padding:.6em 1.2em;cursor:pointer;transition:all .2s}
.haven-cart__actionsrow .button:hover{border-color:var(--deep);background:var(--deep);color:#fff}

/* Resumen: extras del mockup */
.hship-ok,.hship-note{display:flex;align-items:center;gap:.5rem;border-radius:var(--r-sm);padding:.6em .9em;font-size:12.5px;font-weight:600;margin-bottom:1rem}
.hship-ok{background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ok)}
.hship-note{background:var(--paper-2);color:var(--ink-2)}
.haven-summary__igv{display:block;font-size:11px;color:var(--muted);font-weight:400;font-family:var(--sans)}
.hfield{margin-top:1.1rem}
.hfield__label{display:block;font-family:var(--syne);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.hseg{display:flex;border:1.5px solid var(--line);border-radius:var(--r-pill);overflow:hidden}
.hseg__opt{flex:1;padding:.55em .5em;border:0;background:var(--surface);font-family:var(--syne);font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .18s}
.hseg__opt.is-on{background:var(--deep);color:#fff}
.hdeliv{display:flex;flex-direction:column;gap:.5rem}
.hdeliv__opt{display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:.7em .9em}
.hdeliv__opt svg{color:var(--brand);flex:none;margin-top:2px}
.hdeliv__opt b{display:block;font-size:13px;color:var(--deep)}
.hdeliv__opt span{font-size:11.5px;color:var(--muted)}
.haven-summary__keep{display:block;text-align:center;margin-top:.7rem;font-size:13px;font-weight:600;color:var(--brand)}
.haven-summary__keep:hover{color:var(--accent)}
.haven-summary__ssl{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1rem;font-size:11.5px;color:var(--muted)}
.haven-summary__ssl svg{color:var(--ok)}

/* Cross-sell (mockup) */
.hcs{margin-top:3rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.hcs__title{font-family:var(--syne);font-size:clamp(19px,2.4vw,24px);font-weight:800;color:var(--deep);margin-bottom:1.2rem}
.hcs__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hcs__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1rem;display:flex;flex-direction:column;gap:.5rem}
.hcs__thumb img,.hcs__thumb .haven-illu{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);background:var(--whisper)}
.hcs__name{font-size:13px;font-weight:600;line-height:1.35;margin:0;min-height:2.6em}
.hcs__name a{color:var(--deep)}
.hcs__price{font-weight:700;color:var(--deep);font-size:15px}
.hcs__add{margin-top:auto;text-align:center;border:1.5px solid var(--deep);border-radius:var(--r-pill);padding:.5em 1em;font-family:var(--syne);font-size:12.5px;font-weight:700;color:var(--deep);transition:all .2s}
.hcs__add:hover{background:var(--deep);color:#fff}

/* ---------- CHECKOUT ---------- */
.site-header--checkout{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line)}
.site-header__main--checkout{justify-content:space-between}
.chsecure{display:inline-flex;align-items:center;gap:.45rem;font-size:13px;font-weight:600;color:var(--brand)}
.haven-checkout{max-width:1200px;margin:0 auto;padding:clamp(1rem,1rem+2vw,2.2rem) clamp(1rem,4vw,2rem)}
.haven-checkout .haven-cart__head{margin-bottom:1.4rem;padding-bottom:1rem}
.haven-checkout__grid{display:grid;grid-template-columns:1fr 380px;gap:1.6rem;align-items:start}
.haven-checkout__left{display:flex;flex-direction:column;gap:1.2rem}
.haven-checkout__summary{position:sticky;top:96px}
/* Campos WooCommerce dentro de los paneles */
.hpanel .woocommerce-billing-fields h3,.hpanel .woocommerce-shipping-fields h3,.hpanel .woocommerce-additional-fields h3{display:none}
.hpanel .form-row{margin:0 0 .9rem;padding:0}
.hpanel .form-row label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:.3rem}
.hpanel .form-row .woocommerce-input-wrapper{display:block}
.hpanel .form-row input.input-text,.hpanel .form-row select,.hpanel .form-row textarea{width:100%;padding:.7em .9em;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;background:var(--surface);color:var(--ink)}
.hpanel .form-row input.input-text:focus,.hpanel .form-row select:focus{outline:none;border-color:var(--brand)}
.hpanel .form-row.form-row-first,.hpanel .form-row.form-row-last{width:calc(50% - .45rem);display:inline-block;vertical-align:top}
.hpanel .form-row.form-row-first{margin-right:.9rem}
.hdoc{margin-top:1rem}
.hseg--checkout{max-width:340px;margin-bottom:.4rem}
/* Panel de pago: métodos como tarjetas */
.hpanel--pay #payment{background:transparent}
.hpanel--pay .wc_payment_methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.hpanel--pay .wc_payment_method{border:1.5px solid var(--line);border-radius:var(--r-md);padding:.85rem 1rem;transition:border-color .2s}
.hpanel--pay .wc_payment_method:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--surface))}
.hpanel--pay .wc_payment_method>label{font-family:var(--syne);font-weight:700;font-size:14px;color:var(--deep);cursor:pointer}
.hpanel--pay .wc_payment_method input[type=radio]{accent-color:var(--brand);margin-right:.5rem}
.hpanel--pay .payment_box{background:var(--paper-2);border-radius:var(--r-sm);padding:.8rem .9rem;font-size:13px;color:var(--ink-2);margin-top:.6rem}
.hpanel--pay .place-order{margin-top:1.2rem;padding:0}
.hpanel--pay #place_order,.wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center;background:var(--accent)!important;color:#fff!important;border:0!important;border-radius:var(--r-pill)!important;font-family:var(--syne)!important;font-weight:700!important;letter-spacing:.03em;padding:1em 1.4em!important;font-size:15px!important;cursor:pointer;transition:background .2s}
.hpanel--pay #place_order:hover{background:var(--accent-deep)!important}
.hpanel--pay .woocommerce-privacy-policy-text{font-size:11.5px;color:var(--muted);margin-top:.8rem}
/* Review mini-ítems */
.hmini{display:flex;align-items:center;gap:.7rem;padding:.55rem 0}
.hmini+.hmini{border-top:1px solid var(--line-2)}
.hmini__thumb{position:relative;flex:none;width:48px;height:48px}
.hmini__thumb img{width:48px;height:48px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line-2)}
.hmini__qty{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:99px;background:var(--deep);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.hmini__name{flex:1;font-size:12.5px;font-weight:600;color:var(--deep);line-height:1.3}
.hmini__price{font-size:12.5px;font-weight:600;color:var(--deep)}
.haven-review__totals{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.hrow{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:13.5px}
.hrow--total{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.9rem;font-family:var(--syne);font-weight:800;font-size:16px;color:var(--deep)}
.haven-review .woocommerce-shipping-totals{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:13.5px}

/* Responsive */
@media (max-width:920px){
  .haven-checkout__grid{grid-template-columns:1fr}
  .haven-checkout__summary{position:static}
  .hcs__grid{grid-template-columns:1fr 1fr}
  .hitem__top{flex-direction:column}
  .hitem__pricecol{flex-direction:row;align-items:baseline;gap:.6rem}
  .hpanel .form-row.form-row-first,.hpanel .form-row.form-row-last{width:100%;display:block;margin-right:0}
}
@media (max-width:560px){
  .hitem{flex-direction:row}
  .hitem__thumb,.hitem__thumb img{width:72px;height:72px}
  .hsteps{gap:.5rem}
  .hstep__label{font-size:11px}
}
