/* Panel Mock Build + Studio Build. Page-specific classes use the pd- / sp- prefix. */
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;}
.pd-hero .hero-content{padding-top:120px;}
.pd-hero-logo{width:74px;height:74px;border-radius:50%;margin-bottom:26px;box-shadow:0 6px 24px rgba(0,0,0,.35);}
.pd-hero{height:92svh;}

/* ---------- mock build layout ---------- */
.pd-config{display:grid;grid-template-columns:1fr;gap:28px;margin-top:60px;}
@media(min-width:1000px){.pd-config{grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start;}}
.pd-stage{background:var(--paper);border:1px solid var(--line);border-radius:2px;}
.pd-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);}
.pd-bar-foot{border-bottom:0;border-top:1px solid var(--line);}
.pd-bar .mono{font-size:10.5px;color:var(--fog);}
.pd-wall svg{display:block;width:100%;height:auto;}
.pd-seg{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden;}
.pd-seg button{font-size:12px;padding:6px 12px;color:var(--ink-soft);transition:background .25s,color .25s;}
.pd-seg button+button{border-left:1px solid var(--line);}
.pd-seg button.on{background:var(--ink);color:var(--paper);}
.pd-range{display:flex;align-items:center;gap:10px;font-size:10px!important;}
.pd-range output{color:var(--ink);}
.pd-range input{accent-color:var(--timber);width:140px;}

.pd-lower{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px;}
@media(min-width:760px){.pd-lower{grid-template-columns:1fr 1fr;}}
.pd-detail{background:var(--ink);color:var(--bone);border-radius:2px;padding:20px 20px 0;display:flex;flex-direction:column;overflow:hidden;}
.pd-3d-stage{height:260px;perspective:1100px;display:grid;place-items:center;cursor:grab;touch-action:none;}
.pd-3d-stage:active{cursor:grabbing;}
.pd-3d{position:relative;transform-style:preserve-3d;}
.pd-face{position:absolute;left:50%;top:50%;backface-visibility:hidden;overflow:hidden;}
.pd-layers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(239,233,220,.12);margin:0 -20px;}
.pd-layers div{padding:14px;font-size:13px;line-height:1.35;color:rgba(239,233,220,.6);}
.pd-layers div+div{border-left:1px solid rgba(239,233,220,.12);}
.pd-layers span{display:block;font-family:'Space Mono',monospace;font-size:10px;color:var(--timber);letter-spacing:.1em;margin-bottom:5px;}
.pd-layers b{color:var(--bone);font-weight:500;}

.pd-build{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:20px;display:flex;flex-direction:column;}
.pd-build-label{color:var(--timber-dim);font-size:11px;}
.pd-build-list{margin-top:12px;border-top:1px solid var(--line);}
.pd-item{display:grid;grid-template-columns:22px 1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.pd-item i{width:18px;height:18px;border-radius:2px;border:1px solid rgba(0,0,0,.15);}
.pd-item b{font-family:'Fraunces',serif;font-weight:500;font-size:15px;display:block;line-height:1.2;}
.pd-item small{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--fog);}
.pd-item .q{font-family:'Fraunces',serif;font-size:18px;}
.pd-item .x{font-size:18px;color:var(--fog);padding:0 4px;}
.pd-item .x:hover{color:var(--ink);}
.pd-item.sel{background:linear-gradient(90deg,rgba(192,143,78,.14),transparent);box-shadow:inset 2px 0 0 var(--timber);padding-left:8px;}
.pd-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;}
.pd-add .mono{font-size:10px;color:var(--fog);margin-right:4px;}
.pd-add button{font-size:12.5px;border:1px solid var(--line);border-radius:2px;padding:6px 10px;transition:border-color .25s;}
.pd-add button:hover{border-color:var(--ink);}
.pd-totals{display:grid;grid-template-columns:1fr auto;margin:16px 0 14px;font-size:14px;}
.pd-totals dt,.pd-totals dd{margin:0;padding:6px 0;border-bottom:1px solid var(--line);}
.pd-totals dt{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);display:flex;align-items:center;}
.pd-totals dd{text-align:right;font-variant-numeric:tabular-nums;}
.pd-link-btn{display:block;width:100%;text-align:center;margin-top:10px;padding:14px;border:1px solid var(--ink);border-radius:2px;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;transition:background .3s,color .3s;}
.pd-link-btn:hover{background:var(--ink);color:var(--paper);}
.pd-link-light{border-color:var(--ink);}

/* controls */
.pd-controls{border-top:1px solid var(--ink);}
@media(min-width:1000px){.pd-controls{position:sticky;top:90px;}}
.pd-editing{font-size:10.5px;color:var(--timber-dim);padding-top:14px;}
.pd-group{padding:16px 0 20px;border-bottom:1px solid var(--line);}
.pd-glabel{font-family:'Fraunces',serif;font-size:21px;margin-bottom:12px;display:flex;align-items:baseline;gap:10px;}
.pd-glabel span{font-family:'Space Mono',monospace;font-size:11px;color:var(--timber-dim);letter-spacing:.1em;}
.pd-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.pd-cards button{border:1px solid var(--line);border-radius:2px;padding:12px 6px 10px;font-size:12.5px;line-height:1.25;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .25s,background .25s;}
.pd-cards svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;}
.pd-cards button.on{border-color:var(--ink);background:var(--paper);}
.pd-chips{display:flex;flex-wrap:wrap;gap:6px;}
.pd-chips button{border:1px solid var(--line);border-radius:2px;padding:7px 11px;font-size:13px;font-variant-numeric:tabular-nums;transition:all .25s;}
.pd-chips button small{display:block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);}
.pd-chips button.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.pd-chips button.on small{color:var(--bone-dim);}
.pd-custom{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.pd-custom[hidden]{display:none;}
.pd-custom label,.sp-dims label{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);display:flex;flex-direction:column;gap:4px;}
.pd-custom input,.sp-dims input{width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;padding:8px 2px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);letter-spacing:0;}
.pd-custom input:focus,.sp-dims input:focus{outline:none;border-color:var(--ink);}
.pd-orient{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.pd-orient[hidden]{display:none;}
.pd-orient .mono{font-size:10px;color:var(--fog);}
.pd-guide{font-size:13.5px;color:var(--ink-soft);margin-top:12px;}
.pd-swatches{margin-top:0;}
.pd-swatches .swatch{text-align:left;cursor:pointer;}
.pd-swatches .swatch.on .chip{box-shadow:0 0 0 2px var(--bone),0 0 0 3.5px var(--ink);}
.pd-qty{display:flex;align-items:center;gap:10px;}
.pd-qty button{width:36px;height:36px;border:1px solid var(--line);border-radius:2px;font-size:18px;}
.pd-qty button:hover{border-color:var(--ink);}
.pd-qty output{font-family:'Fraunces',serif;font-size:26px;min-width:28px;text-align:center;}
.pd-qty .mono{font-size:10px;color:var(--fog);}
.pd-form-copy{font-size:14.5px;color:var(--ink-soft);margin-bottom:18px;}

/* ---------- studio build ---------- */
.sp-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:60px;}
@media(min-width:1000px){.sp-grid{grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:start;}}
.sp-side{border-top:1px solid var(--ink);}
@media(min-width:1000px){.sp-side{position:sticky;top:90px;}}
.sp-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.sp-tools{display:flex;flex-wrap:wrap;gap:6px;}
.sp-tools button{font-size:12.5px;border:1px solid var(--line);border-radius:2px;padding:7px 10px;transition:border-color .25s,background .25s;}
.sp-tools button:hover{border-color:var(--ink);}
.sp-tools .sp-t{border-color:rgba(192,143,78,.55);}
.sp-tools button::before{content:"+ ";color:var(--timber-dim);}
.sp-import{margin-top:14px;}
.sp-sel{font-size:14px;}
.sp-sel .mono{font-size:10px;color:var(--fog);}
.sp-sel .row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.sp-sel .row button{font-size:12px;border:1px solid var(--line);border-radius:2px;padding:6px 10px;}
.sp-sel .row button:hover{border-color:var(--ink);}
.sp-sel b{font-family:'Fraunces',serif;font-weight:500;font-size:17px;}
.sp-sel label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);}
.sp-sel select,.sp-sel input{border:none;border-bottom:1px solid var(--line);background:transparent;font-family:'Inter',sans-serif;font-size:14px;padding:4px 2px;color:var(--ink);letter-spacing:0;text-transform:none;max-width:130px;}
.sp-board{background:var(--ink);border-radius:2px;overflow:hidden;color:var(--bone);}
.sp-board-bar,.sp-board-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(239,233,220,.62);}
.sp-board-bar{border-bottom:1px solid rgba(239,233,220,.12);}
.sp-board-bar span{color:var(--timber);}
.sp-board-foot{border-top:1px solid rgba(239,233,220,.12);}
.sp-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;}
.sp-toggle input{accent-color:var(--timber);}
.sp-canvas{touch-action:none;}
.sp-canvas svg{display:block;width:100%;height:auto;max-height:78vh;user-select:none;}
.sp-canvas .sp-obj{cursor:move;}
.sp-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:20px;border-top:1px solid var(--line);}
@media(min-width:760px){.sp-stats{grid-template-columns:repeat(4,1fr);}}
.sp-stat{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);}
.sp-stat .mono{font-size:10px;color:var(--timber-dim);}
.sp-stat .v{font-family:'Fraunces',serif;font-size:26px;margin-top:4px;line-height:1.1;}
.sp-stat p{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.sp-wide{grid-column:1/-1;}
.sp-wide p{font-size:13.5px;max-width:80ch;}
.sp-actions{display:grid;grid-template-columns:1fr;gap:0;margin-top:16px;}
@media(min-width:760px){.sp-actions{grid-template-columns:1fr 1fr;gap:12px;}.sp-actions .pd-link-btn{margin-top:8px;}}
@media(max-width:999px){.pd-stage-col{display:contents;}.pd-stage{order:1;}.pd-controls{order:2;}.pd-lower{order:3;margin-top:0;}.pd-config{display:flex;flex-direction:column;}}

/* ---------- v2: header current link, hero buttons ---------- */
nav a.is-current{color:var(--timber);}
.pd-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.pd-btn-solid,.pd-btn-ghost{font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:15px 22px;border-radius:2px;transition:background .3s,color .3s,border-color .3s;}
.pd-btn-solid{background:var(--timber);color:var(--ink);}
.pd-btn-solid:hover{background:var(--bone);}
.pd-btn-ghost{border:1px solid rgba(239,233,220,.5);color:var(--bone);}
.pd-btn-ghost:hover{border-color:var(--bone);background:rgba(239,233,220,.08);}
.pd-cards-5{grid-template-columns:repeat(3,1fr);}
.pd-spec{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.pd-spec div{padding:10px 0;font-size:14px;font-variant-numeric:tabular-nums;}
.pd-spec .mono{display:block;font-size:9.5px;color:var(--fog);margin-bottom:2px;}
.pd-as-btn{display:block;text-align:center;}

/* ---------- room planner ---------- */
.rp-tabs{display:flex;flex-wrap:wrap;align-items:stretch;margin-top:48px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);}
.rp-tabs button{flex:1 1 0;min-width:130px;text-align:left;padding:16px 14px 14px 0;font-family:'Fraunces',serif;font-size:17px;color:var(--fog);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .25s,border-color .25s;}
.rp-tabs button span{display:block;font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:var(--timber-dim);margin-bottom:3px;}
.rp-tabs button.on{color:var(--ink);border-bottom-color:var(--timber);}
.rp-tab-total{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:10px 0 10px 16px;}
.rp-tab-total .mono{font-size:10px;color:var(--fog);}
.rp-tab-total b{font-family:'Fraunces',serif;font-weight:500;font-size:24px;}
.rp-grid{margin-top:32px;}
.rp-side .pd-glabel{font-size:20px;}
.rp-hint{font-size:13px;color:var(--ink-soft);margin:-4px 0 12px;line-height:1.5;}
.rp-presets button{text-align:left;}
.rp-dims{display:grid;gap:12px;margin-top:16px;}
.rp-dim{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;}
.rp-dim label{font-family:'Fraunces',serif;font-size:16px;line-height:1.1;}
.rp-dim label small{display:block;font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);margin-top:3px;}
.rp-stepper{display:grid;grid-template-columns:40px 1fr auto 40px;align-items:center;border:1px solid var(--line);border-radius:2px;background:var(--paper);}
.rp-stepper button{height:44px;font-size:18px;color:var(--ink-soft);}
.rp-stepper button:hover{background:var(--bone-dim);}
.rp-stepper input{width:100%;border:0;background:transparent;text-align:right;font-family:'Fraunces',serif;font-size:20px;padding:6px 4px;color:var(--ink);-moz-appearance:textfield;}
.rp-stepper input::-webkit-outer-spin-button,.rp-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.rp-stepper input:focus{outline:2px solid var(--timber);outline-offset:-2px;}
.rp-stepper span{font-family:'Space Mono',monospace;font-size:11px;color:var(--fog);padding:0 6px 0 2px;}
.rp-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.rp-row .mono{font-size:10px;color:var(--fog);width:64px;}
.rp-row select,.rp-side select{flex:1;border:1px solid var(--line);border-radius:2px;background:var(--paper);padding:9px 8px;font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);}
.rp-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;min-width:64px;}
.rp-check input{width:18px;height:18px;accent-color:var(--timber);}
.rp-furn{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:14px;}
.rp-furn .rp-check{border:1px solid var(--line);border-radius:2px;padding:10px 12px;background:var(--paper);}
.rp-level{display:grid;grid-template-columns:1fr;gap:6px;}
.rp-level button{text-align:left;padding:10px 12px;}
.rp-fin{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.rp-fin button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:2px;padding:10px;font-size:13.5px;}
.rp-fin button i{width:18px;height:18px;border-radius:2px;border:1px solid rgba(0,0,0,.18);}
.rp-fin button.on{border-color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink);}
.rp-add button{border-color:rgba(192,143,78,.55);}
.rp-next{margin-top:18px;}
.rp-nav{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:18px;align-items:end;}
.rp-nav .pd-link-btn,.rp-nav .submit-btn{margin-top:0;}
.rp-big{display:flex;flex-direction:column;padding:6px 0 14px;}
.rp-big .mono{font-size:10px;color:var(--timber-dim);}
.rp-big b{font-family:'Fraunces',serif;font-weight:500;font-size:44px;line-height:1.1;}
.rp-big small{font-size:12px;color:var(--fog);}
.rp-inst{margin:6px 0 12px;}
.rp-selbox{border-bottom:0;}
.rp-selbox .pd-glabel span{font-size:11px;}
.rp-view button{color:rgba(239,233,220,.75);}
.rp-view button.on{background:var(--bone);color:var(--ink);}
.sp-board .pd-seg{border-color:rgba(239,233,220,.25);}
.sp-board .pd-seg button+button{border-left-color:rgba(239,233,220,.25);}
.sp-board{position:relative;}
.sp-canvas.is-elev{background:#f7f4ec;}
.rp-legend{display:flex;align-items:center;gap:6px;}
.rp-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-left:8px;}
.lg-ok{background:#b9c98f;}.lg-no{background:var(--timber);}
.rp-flash{position:absolute;left:50%;bottom:58px;transform:translate(-50%,10px);background:var(--bone);color:var(--ink);font-size:13px;padding:10px 16px;border-radius:2px;box-shadow:0 8px 30px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-width:90%;text-align:center;}
.rp-flash.on{opacity:1;transform:translate(-50%,0);}
.rp-quote{margin-top:36px;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:26px 24px;scroll-margin-top:100px;}
.rp-quote-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.rp-quote-head h3{font-family:'Fraunces',serif;font-weight:400;font-size:28px;margin-top:8px;}
.rp-sample{font-size:10px;color:var(--timber-dim);border:1px solid rgba(192,143,78,.5);padding:6px 10px;border-radius:2px;}
.rp-sample[hidden]{display:none;}
.rp-table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums;}
.rp-table th{font-family:'Space Mono',monospace;font-weight:400;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);text-align:right;padding:8px 0;border-bottom:1px solid var(--ink);}
.rp-table th:first-child,.rp-table td:first-child{text-align:left;}
.rp-table td{padding:12px 0;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;}
.rp-table td:first-child{padding-left:28px;position:relative;}
.rp-table td i{position:absolute;left:0;top:13px;width:16px;height:16px;border-radius:2px;border:1px solid rgba(0,0,0,.18);}
.rp-table td small{display:block;font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fog);margin-top:3px;}
.rp-table tfoot td{padding:9px 0;}
.rp-table tfoot td:first-child{padding-left:0;}
.rp-table .rp-total td{font-family:'Fraunces',serif;font-size:22px;border-bottom:1px solid var(--ink);}
.rp-table .rp-gst td{font-size:12.5px;color:var(--ink-soft);text-align:left;border:0;padding-top:12px;}
.rp-table .rp-empty{text-align:left;color:var(--fog);padding-left:0!important;}
.rp-modes{font-size:12.5px;color:var(--ink-soft);margin-top:14px;max-width:80ch;}
@media(max-width:700px){
  .rp-tabs button{min-width:50%;flex:1 1 50%;font-size:15px;}
  .rp-tab-total{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);}
  .rp-dim{grid-template-columns:90px 1fr;}
  .rp-quote{padding:20px 16px;}
  .pd-spec{grid-template-columns:1fr 1fr 1fr;}
}
@media(max-width:999px){.rp-selbox.is-empty{display:none;}}
.rp-stepper output{text-align:right;font-family:'Fraunces',serif;font-size:20px;padding:6px 4px;color:var(--ink);}
.rp-custom{margin-top:14px;}
.rp-customs{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.rp-customs .pd-glabel span{color:var(--fog);font-weight:400;}
.rp-cust{border:1px solid var(--line);background:var(--paper);padding:12px;margin:10px 0;display:grid;gap:10px;}
.rp-cust-dims{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.rp-cust-dims label{display:grid;gap:4px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);}
.rp-cust-dims input{width:100%;min-width:0;border:1px solid var(--line);background:#fff;padding:8px 6px;font-size:15px;color:var(--ink);border-radius:2px;}
.rp-cust-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;}
.rp-cust-row select{border:1px solid var(--line);background:#fff;padding:7px 8px;font-size:14px;border-radius:2px;}
.rp-cust small{font-size:10.5px;letter-spacing:.06em;color:var(--fog);}
.rp-cust small.rp-warn{color:var(--timber);}
.rp-cust .rp-cust-row .pd-link-btn{width:auto;margin:0 0 0 auto;padding:6px 10px;font-size:10px;border:0;text-decoration:underline;text-underline-offset:3px;background:transparent;}
.rp-customs .rp-hint{margin-top:10px;}
