/* Product page — extends style.css */

/* Local sub-nav (like Apple's product bar) */
.subnav{position:sticky;top:52px;z-index:40;height:52px;background:rgba(0,0,0,.72);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.subnav-in{max-width:1080px;margin:0 auto;height:100%;padding:0 var(--gutter);display:flex;align-items:center;gap:22px}
.subnav h2{font-size:19px;font-weight:600;letter-spacing:-.02em;margin-right:auto;white-space:nowrap}
.subnav a.sl{font-size:12.5px;color:var(--muted)}.subnav a.sl:hover{color:var(--text)}
.subnav .buy{font-size:12.5px;padding:6px 14px;border-radius:99px;background:var(--gold);color:#111;font-weight:500;white-space:nowrap}
.page-top{padding-top:52px}

/* Hero */
.p-hero{text-align:center;padding:clamp(56px,8vw,96px) 0 0;background:radial-gradient(70% 55% at 50% 78%,rgba(212,179,122,.14),transparent 70%),#000;overflow:hidden}
.p-hero h1{font-size:clamp(44px,7.5vw,100px);font-weight:600;letter-spacing:-.045em;line-height:1}
.p-hero h1 em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold)}
.p-hero .sub{font-size:clamp(18px,2vw,24px);color:var(--muted);margin-top:16px}
.p-hero .price{margin-top:22px;font-size:17px}.p-hero .price small{display:block;color:var(--dim);font-size:13px;margin-top:4px}
.p-hero .btns{margin-top:26px}
.p-hero-img{width:min(1100px,96vw);margin:clamp(30px,5vw,60px) auto 0;position:relative}
.p-hero-img img{width:100%;opacity:0;transform:translateY(60px) scale(.94);animation:mIn 1.6s var(--ease) .5s forwards;
  filter:drop-shadow(0 50px 50px rgba(0,0,0,.8));-webkit-box-reflect:below -4px linear-gradient(transparent 70%,rgba(255,255,255,.12))}
@keyframes mIn{to{opacity:1;transform:none}}

/* Configurator */
.config{background:#000}
.config-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.config .stage{position:relative;aspect-ratio:1200/660;background:radial-gradient(60% 60% at 50% 60%,#1d1a15,#0b0b0b 75%);border-radius:30px}
.config .stage img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;opacity:0;transition:opacity .6s var(--ease);
  filter:drop-shadow(0 30px 30px rgba(0,0,0,.75))}
.config .stage img.on{opacity:1}
.config .panel h3{font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.config .panel p{color:var(--muted);margin:12px 0 26px}
.config .dots{justify-content:flex-start;margin-top:0;gap:12px}
.config .dot.on::after{border-color:#fff}
.config .cname{text-align:left;margin-top:18px;color:var(--text)}
.config .cname small{color:var(--muted)}
.more-colors{display:flex;align-items:center;gap:14px;margin-top:28px;padding:16px 18px;background:var(--card);border-radius:18px;border:1px solid var(--line)}
.more-colors .mini{display:flex;flex:none}
.more-colors .mini img{width:22px;height:22px;border-radius:50%;margin-left:-7px;border:2px solid var(--card);object-fit:cover}
.more-colors .mini img:first-child{margin-left:0}
.more-colors span{font-size:14px;color:var(--muted)}.more-colors b{color:var(--text);font-weight:500}

/* Bento highlights */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:56px}
.tile{background:var(--card);border-radius:28px;padding:30px;position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column}
.tile.s2{grid-column:span 2}.tile.s3{grid-column:span 3}.tile.s4{grid-column:span 4}
.tile .k{font-size:13px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.tile h4{font-size:clamp(22px,2.2vw,28px);font-weight:600;letter-spacing:-.03em;line-height:1.15;position:relative;z-index:2}
.tile p{color:var(--muted);font-size:15px;margin-top:8px;position:relative;z-index:2;max-width:340px}
.tile .big{font-size:clamp(52px,6vw,84px);font-weight:600;letter-spacing:-.05em;line-height:1;margin-top:auto;
  background:linear-gradient(180deg,#fff 30%,#a1a1a6);-webkit-background-clip:text;background-clip:text;color:transparent}
.tile .big small{font-size:.38em;letter-spacing:-.01em;color:var(--gold);-webkit-text-fill-color:var(--gold);margin-left:6px}
.zoom{position:absolute;inset:0;background-image:url("img/p/dab.webp?v=3");background-repeat:no-repeat;transition:transform 1.2s var(--ease)}
.tile:hover .zoom{transform:scale(1.05)}
.zoom::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--card) 0%,rgba(20,20,20,.65) 32%,transparent 60%)}
.z-wood{background-size:250%;background-position:0% 95%}
.z-box{background-size:230%;background-position:88% 18%}
.z-rope{background-size:260%;background-position:12% 45%}

/* Dimensions */
.dims{background:var(--linen);color:var(--ink)}
.dims .lead{color:var(--ink-muted)}
.drawing{margin:56px auto 0;max-width:980px}
.drawing svg{width:100%;height:auto;overflow:visible}
.drawing .lbl{font:600 15px var(--sans);fill:var(--ink);letter-spacing:-.01em}
.drawing .sm{font:500 12px "SF Mono",Menlo,monospace;fill:#8a6a35}
.spec-table{max-width:820px;margin:60px auto 0;border-top:1px solid rgba(0,0,0,.12)}
.spec-row{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.09);font-size:17px}
.spec-row dt{color:var(--ink-muted)}.spec-row dd{font-weight:500}

/* Planner band */
.p-plan{background:var(--linen-2);color:var(--ink);text-align:center}
.p-plan .lead{color:var(--ink-muted);margin:18px auto 30px}

/* Compare */
.compare{background:#000}
.cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.cmp a{background:var(--card);border-radius:26px;padding:26px;text-align:center;transition:transform .4s var(--ease)}
.cmp a:hover{transform:translateY(-4px)}
.cmp img{height:150px;width:100%;object-fit:contain;margin:6px 0 18px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.7))}
.cmp h4{font-size:20px;font-weight:600;letter-spacing:-.02em}
.cmp p{color:var(--muted);font-size:14px;margin:6px 0 12px}
.cmp b{font-weight:600}

/* Inquiry builder */
.inquiry{background:radial-gradient(70% 60% at 50% 100%,rgba(212,179,122,.16),transparent 70%),#000}
.order{max-width:720px;margin:50px auto 0;background:var(--card);border:1px solid var(--line);border-radius:30px;padding:clamp(22px,4vw,40px)}
.o-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px}
.o-row span{color:var(--muted)}
.o-row .sw-mini{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:-2px;margin-right:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.qty{display:flex;align-items:center;gap:4px;background:#232325;border-radius:99px;padding:4px}
.qty button{width:34px;height:34px;border-radius:50%;font-size:20px;color:var(--text)}.qty button:hover{background:#3a3a3c}
.qty output{min-width:34px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.o-total{display:flex;justify-content:space-between;align-items:baseline;padding:22px 0 6px}
.o-total b{font-size:clamp(30px,4vw,42px);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.o-note{font-size:13px;color:var(--dim)}
.order .btns{justify-content:stretch;margin-top:24px}.order .btn{flex:1;justify-content:center}

@media (max-width:900px){
  .config-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}
  .tile.s2,.tile.s3,.tile.s4{grid-column:span 2}
  .subnav a.sl{display:none}
}
@media (max-width:640px){
  .cmp{grid-template-columns:1fr}
  .spec-row{grid-template-columns:1fr;gap:2px}
  .tile{min-height:250px}
  .drawing .lbl{font-size:22px}.drawing .sm{font-size:18px}
}

/* bento fixes */
.tile .k{position:relative;z-index:2}
.tile .big small{display:block;margin:8px 0 0 2px;font-size:max(.26em,15px)}
.zoom{inset:auto 0 0 0;height:66%}
.zoom::after{background:linear-gradient(180deg,var(--card) 0%,rgba(20,20,20,0) 45%)}
.z-wood{background-size:230%;background-position:2% 96%}
.z-box{background-size:200%;background-position:86% 12%}
.z-rope{background-size:300%;background-position:21% 22%}
.zoom::after{display:none}
.zoom{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 45%);mask-image:linear-gradient(180deg,transparent 0%,#000 45%)}
.spec-table{text-align:left}

/* fixes */
section[id]{scroll-margin-top:104px}
.nav.on-light{background:rgba(10,10,10,.78);color:var(--text);border-color:var(--line)}
#heroImg{transition:opacity .35s}
.subnav{background:rgba(8,8,8,.9)}
@media (max-width:640px){
  .tile:has(.zoom){min-height:380px}
  .tile .zoom{height:52%}
  .drawing .lbl{font-size:40px}.drawing .sm{font-size:30px}
  .drawing svg{margin-bottom:24px}
}
@media (max-width:640px){.drawing .len{transform:translateY(22px)}.drawing .len2{transform:translateY(38px)}}
.nav.on-light{background:rgba(8,8,8,.92)}
@media (max-width:640px){.order .btns{flex-direction:column}.order .btn{width:100%}}

/* ===== v4: hero fits any window height ===== */
.p-hero{min-height:calc(100svh - 104px);display:flex;flex-direction:column;justify-content:center;
  padding:clamp(18px,3vh,48px) 0 clamp(20px,4vh,48px)}
.p-hero .eyebrow{margin-bottom:clamp(8px,1.4vh,18px)}
.p-hero h1{font-size:clamp(34px,min(7vw,9svh),92px)}
.p-hero .sub{margin-top:clamp(6px,1.2vh,16px);font-size:clamp(16px,min(2vw,2.6svh),24px)}
.p-hero-img{width:min(1000px,92vw,calc((100svh - 104px - 250px) * 1.82));min-width:min(92vw,360px);margin:clamp(8px,2vh,28px) auto 0}
.p-hero-foot{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:clamp(10px,2.4vh,28px)}
.p-hero .price{margin:0;font-size:17px}.p-hero .price small{display:inline;margin-left:8px}
.p-hero .btns{margin:0}

/* ===== v4: bento without blurry zooms ===== */
.zoom{display:none}
.t-wood{min-height:340px}
.t-wood h4,.t-wood p{max-width:46%}
.t-img{position:absolute;right:-6%;bottom:-4%;width:66%;max-width:640px;filter:drop-shadow(0 24px 24px rgba(0,0,0,.7))}
.t-fabric .mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-top:auto;padding-top:22px}
.mosaic img{width:100%;aspect-ratio:1;border-radius:7px;object-fit:cover;transition:transform .3s var(--ease)}
.mosaic img:hover{transform:scale(1.25);position:relative;z-index:2}
.springs{width:100%;max-width:340px;margin-top:auto;padding-top:20px}
.springs path{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1.6s var(--ease)}
.t-spring.in .springs path{stroke-dashoffset:0}
.t-spring.in .springs path:nth-child(2){transition-delay:.15s}.t-spring.in .springs path:nth-child(3){transition-delay:.3s}
@media (max-width:900px){.t-wood h4,.t-wood p{max-width:none}.t-wood{min-height:420px}.t-img{width:92%;right:-8%}
  .t-fabric .mosaic{grid-template-columns:repeat(8,1fr)}}
@media (max-width:640px){.p-hero-foot{flex-direction:column;gap:14px}.p-hero .price small{display:block;margin:4px 0 0}}

/* ===== v4: one menu at a time (Apple-style) ===== */
.page-top .nav{position:absolute}
.subnav{top:0}
.subnav h2::before{content:"REFORMIA";font-family:var(--serif);font-size:15px;letter-spacing:.28em;color:var(--gold);font-weight:500;margin-right:16px;opacity:0;transition:opacity .3s}
.subnav.stuck h2::before{opacity:1}
section[id]{scroll-margin-top:52px}
.p-hero{min-height:calc(100svh - 104px)}
.subnav h2::before{display:none}
.subnav.stuck h2::before{display:inline;opacity:1}
@media (max-width:640px){.subnav.stuck h2::before{display:none}}
.p-hero-img{width:min(900px,92vw,calc((100svh - 104px - 330px) * 1.82))}
