:root{--pink:#ff2d8d;--black:#111;--muted:#6b7280;--bg:#f7f7f8;--line:#e5e7eb;--green:#16803c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:#151515}header{height:78px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:4px solid var(--pink)}.header-actions{display:flex;gap:9px;align-items:center}.brand{font-weight:900;letter-spacing:.8px;font-size:22px}.tag{font-size:12px;color:#ddd;margin-top:4px}.ghost,.btn{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}.ghost{background:#fff;color:#111}.btn{background:var(--pink);color:#fff}.btn.secondary{background:#111}.steps{display:flex;gap:8px;padding:18px 5vw;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.step{padding:9px 13px;border-radius:999px;background:#eee;color:#666;font-size:13px;white-space:nowrap}.step.active{background:var(--pink);color:#fff;font-weight:800}main{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;padding:28px 5vw 70px;max-width:1500px;margin:auto}#summary{position:sticky;top:20px;align-self:start;background:#111;color:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 30px #0002}.summary-title{font-weight:900;font-size:20px;margin-bottom:18px}.line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#ddd}.total{border-top:1px solid #444;margin-top:10px;padding-top:16px;font-size:25px;font-weight:900;color:#fff}.pink{color:var(--pink)}h1{font-size:34px;margin:0 0 8px}h2{font-size:23px}p.lead{color:var(--muted);margin-top:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;cursor:pointer}.chip.on{background:#111;color:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:2px solid transparent;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #0000000d;transition:.15s}.card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #00000014}.card.selected{border-color:var(--pink)}.card img{width:100%;height:190px;object-fit:cover;background:#eee}.card-body{padding:16px}.eyebrow{font-size:12px;color:var(--pink);font-weight:900;text-transform:uppercase}.home-name{font-size:21px;font-weight:900;margin:5px 0}.specs{color:#666;font-size:13px}.price{font-size:24px;font-weight:900;margin:12px 0}.media-pending{height:190px;display:grid;place-items:center;background:linear-gradient(135deg,#eee,#fafafa);color:#777;font-weight:800}.option-group{background:#fff;border-radius:16px;margin:14px 0;padding:18px}.option-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eee}.option-row:last-child{border-bottom:0}.option-name{font-weight:700}.option-note{font-size:12px;color:#777}.money{font-weight:900}.search{width:100%;padding:13px;border:1px solid #ddd;border-radius:10px;font-size:15px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.floorplan{width:100%;max-height:400px;object-fit:contain;background:#fff;border-radius:14px;padding:12px}.site-card{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;background:#fff;padding:18px;border-radius:14px;margin:12px 0}.setup-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:18px}.setup-section{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.setup-section h2{font-size:17px;margin:0;padding:13px 16px;background:#f7f7f8;border-bottom:1px solid var(--line)}.setup-section-items{padding:4px 14px}.setup-choice-card{margin:0;border-radius:0;padding:14px 4px;border-bottom:1px solid #eee;box-shadow:none}.setup-choice-card:last-child{border-bottom:0}.setup-choice-card .option-name{line-height:1.35}.setup-choice-card .money{white-space:nowrap}.setup-section:nth-child(5){grid-column:1/-1}.setup-section:nth-child(5) .setup-section-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}@media(max-width:800px){.setup-section-grid{grid-template-columns:1fr}.setup-section:nth-child(5){grid-column:auto}.setup-section:nth-child(5) .setup-section-items{display:block}}.notice{background:#fff4f8;border:1px solid #ffc2dd;border-radius:12px;padding:14px;color:#6d173e}.quote-box{background:#fff;border-radius:18px;padding:24px}.quote-section{border-bottom:1px solid #eee;padding:13px 0}.quote-section:last-child{border:0}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:20px;z-index:10}.modal.hidden{display:none}.modal-card{background:#fff;border-radius:18px;max-width:900px;width:100%;max-height:88vh;overflow:auto;padding:25px;position:relative}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.admin-row{display:grid;grid-template-columns:1fr 160px;gap:10px;padding:8px 0}.admin-row input{padding:9px;border:1px solid #ddd;border-radius:8px}.small{font-size:12px;color:#777}.save-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.save-form input{padding:12px;border:1px solid #ddd;border-radius:9px}.full{grid-column:1/-1}@media(max-width:1000px){main{grid-template-columns:1fr}#summary{position:static}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.grid{grid-template-columns:1fr}main{padding:20px}.save-form{grid-template-columns:1fr}.brand{font-size:17px}.tag{display:none}}
.home-desc{font-size:13px;line-height:1.45;color:#666;margin:9px 0}.admin-head,.admin-toolbar,.admin-card-title,.admin-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #eee;padding-bottom:14px;margin-bottom:12px}.admin-toolbar{position:sticky;top:-25px;background:#fff;padding:12px 0;z-index:3}.count{background:#eee;border-radius:999px;padding:3px 8px;font-size:12px}.admin-list{display:grid;gap:12px}.admin-edit-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fafafa}.admin-card-title{margin-bottom:12px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-form-grid label{font-size:12px;font-weight:800;color:#555}.admin-form-grid input,.admin-form-grid textarea,.admin-form-grid select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #d8d8dc;border-radius:9px;background:#fff;font:inherit}.admin-form-grid textarea{min-height:72px;resize:vertical}.span2{grid-column:1/-1}.delete-btn{border:0;background:#fff0f0;color:#a40000;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}.danger-lite{color:#a40000;border:1px solid #ffd0d0}.admin-savebar{position:sticky;bottom:-25px;background:#fff;border-top:1px solid #eee;margin-top:16px;padding:14px 0}@media(max-width:650px){.admin-form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.admin-head{align-items:flex-start;flex-direction:column}}

.price-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#666;margin-top:12px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}.gallery-grid img{width:100%;height:190px;object-fit:cover;border-radius:12px}.admin-form-grid textarea{min-height:90px}
.card-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.quote-line{color:#333}.quote-total{color:#111;border-color:#ddd}.big-price{font-size:1.6rem;font-weight:800;color:#ff2d8d}.dashboard-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric{background:#111;color:#fff;border-radius:18px;padding:18px}.metric span{display:block;color:#bbb;font-size:.85rem}.metric b{font-size:1.8rem}.metric.wide{grid-column:span 2}.customer-grid,.quote-admin-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:14px;align-items:center}.status-pill{background:#ffe1ef;color:#111;border-radius:999px;padding:5px 10px;font-size:.8rem}.quote-admin-card select{padding:9px;border:1px solid #ddd;border-radius:10px}.save-form textarea{min-height:90px}.modal-card{max-height:90vh;overflow:auto}@media(max-width:900px){.dashboard-cards{grid-template-columns:1fr 1fr}.customer-grid,.quote-admin-grid{grid-template-columns:1fr}.metric.wide{grid-column:span 2}}

.as-shown-badge{display:inline-block;background:#fff0f7;color:#8a174d;border:1px solid #ffc1dc;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;margin-bottom:8px}
.as-shown-option{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;background:#111;color:#fff;padding:18px;border-radius:16px;margin:18px 0}
.preview-board{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;border-radius:18px;padding:18px;margin:18px 0}
.preview-title{font-weight:900;margin-bottom:10px}
.mini-house{height:210px;position:relative;background:linear-gradient(#dfe9ef 0 55%,#d8d0c4 55%);border-radius:14px;overflow:hidden}
.mini-house .house-body{position:absolute;left:11%;right:11%;bottom:22px;height:105px;background:var(--siding);border:8px solid var(--trim);border-top:0}
.mini-house .roof{position:absolute;left:8%;right:8%;bottom:127px;height:65px;background:#333;clip-path:polygon(50% 0,100% 100%,0 100%)}
.mini-house .door{position:absolute;right:20%;bottom:0;width:48px;height:78px;background:var(--trim);border:4px solid #333}
.mini-house .window{position:absolute;left:17%;bottom:28px;width:72px;height:58px;background:#cfe6ef;border:7px solid var(--trim)}
.mini-house .window:before,.mini-house .window:after{content:"";position:absolute;background:var(--shutter);top:-7px;bottom:-7px;width:14px}
.mini-house .window:before{left:-25px}.mini-house .window:after{right:-25px}
.interior-preview{height:210px;border-radius:14px;overflow:hidden;display:grid;grid-template-rows:1fr 38px 70px;background:#eee}
.cabinet-preview{display:grid;place-items:center;font-weight:900;border-bottom:8px solid #333}
.counter-preview{display:grid;place-items:center;font-size:12px;font-weight:800}
.floor-preview{display:grid;place-items:center;font-size:12px;font-weight:800}
.style-section{background:#fff;border-radius:18px;padding:18px;margin:16px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.style-card{border:1px solid #e5e7eb;border-radius:14px;padding:10px;background:#fff}
.style-card.selected{border:2px solid var(--pink);box-shadow:0 0 0 3px #ff2d8d18}
.style-card.needs-price{background:#fffaf2}
.style-select{border:0;background:transparent;width:100%;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer;padding:0}
.style-select:disabled{cursor:not-allowed;opacity:.65}
.style-select small{display:block;color:#666;margin-top:3px}
.swatch{width:48px;height:48px;border-radius:10px;border:1px solid #bbb;flex:0 0 auto}
.learn,.learn-inline{border:0;background:none;color:#c51f6f;text-decoration:underline;font-weight:800;cursor:pointer;padding:6px 0;font-size:12px}
.learn-inline{margin-left:8px}
.guide-image{width:100%;height:auto;border-radius:12px;border:1px solid #ddd}
.admin-row3{display:grid;grid-template-columns:1.2fr 130px 2fr;gap:8px;margin:7px 0}
.admin-row3 input{padding:9px;border:1px solid #ddd;border-radius:8px}
@media(max-width:900px){.preview-board{grid-template-columns:1fr}.style-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.style-grid{grid-template-columns:1fr}.admin-row3{grid-template-columns:1fr}}

/* V7 design-center refinements */
.step{border:0;cursor:pointer;font-family:inherit}.step:hover:not(.disabled){background:#ddd;color:#111}.step.active:hover{background:var(--pink);color:#fff}.step.disabled{opacity:.45;cursor:not-allowed}
.material-thumb{width:92px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #ddd;flex:0 0 auto;background:#f4f4f4}
.style-select{align-items:center}.design-panel{background:#fafafa;border:1px solid #eee;border-radius:15px;padding:15px}.design-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.design-pick{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:9px;min-height:80px}.design-pick img{width:86px;height:62px;object-fit:cover;border-radius:8px}.design-pick small{display:block;color:#777;margin-top:4px}.big-swatch{width:86px;height:62px;border-radius:8px;border:1px solid #ccc}.design-empty{color:#777;font-size:13px;padding:18px;border:1px dashed #ccc;border-radius:12px;grid-column:1/-1}.preview-board{align-items:start}.style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.style-card{overflow:hidden}.learn{width:100%;margin-top:8px}.option-note{margin-top:7px}
@media(max-width:800px){.style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-picks{grid-template-columns:1fr}}
@media(max-width:520px){.style-grid{grid-template-columns:1fr}}


/* ===== V8 - Integrated Kitchen Design Center ===== */
.designer-shell{
  background:#fff;border-radius:22px;padding:22px;margin:20px 0;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
}
.designer-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:18px}
.designer-heading h2{margin:3px 0 0;font-size:28px}
.designer-help{max-width:460px;color:#666;font-size:14px;line-height:1.45;text-align:right}
.kitchen-stage{background:#f4f4f4;border-radius:18px;padding:14px}
.kitchen-room{
  height:520px;position:relative;overflow:hidden;border-radius:14px;
  background:linear-gradient(#eee 0 70%,#d9d9d9 70% 100%);
  perspective:900px;
}
.k-wall{position:absolute;inset:0 0 31% 0;background:linear-gradient(180deg,#f7f5f2,#e9e6e1)}
.upper-cabinets{
  position:absolute;left:6%;right:6%;top:7%;height:25%;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;z-index:4
}
.cab-door,.base-door,.island-base{
  background-size:cover!important;background-position:center!important;border:1px solid rgba(0,0,0,.12);
}
.cab-door{border-radius:3px;box-shadow:0 5px 12px rgba(0,0,0,.15);position:relative}
.cab-door:after,.base-door:after{
  content:"";position:absolute;inset:7px;border:2px solid rgba(30,30,30,.2);border-radius:2px;pointer-events:none
}
.cab-door span{position:absolute;right:10px;top:50%;width:3px;height:20px;background:#272727;border-radius:3px}
.backsplash{
  position:absolute;left:5%;right:5%;top:33%;height:12%;z-index:2;
  background:
    linear-gradient(90deg,rgba(255,255,255,.86),rgba(245,245,245,.9)),
    repeating-linear-gradient(90deg,#ddd 0 1px,transparent 1px 38px);
  border-top:1px solid #ddd;border-bottom:1px solid #ccc
}
.counter-run{
  position:absolute;left:4%;right:4%;top:44%;height:5%;z-index:6;
  background-size:cover!important;background-position:center!important;
  box-shadow:0 4px 8px rgba(0,0,0,.23);border-radius:2px
}
.lower-cabinets{
  position:absolute;left:6%;right:6%;top:49%;height:25%;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;z-index:4
}
.base-door{position:relative;border-radius:2px}
.oven-face{position:absolute;inset:12px 15px;background:linear-gradient(#333,#111);border:5px solid #aaa;z-index:3}
.kitchen-floor{
  position:absolute;left:-10%;right:-10%;bottom:-9%;height:39%;z-index:1;
  transform:rotateX(61deg);transform-origin:center bottom;
  background-size:260px auto!important;background-repeat:repeat!important;
  box-shadow:inset 0 20px 35px rgba(0,0,0,.16)
}
.island{
  position:absolute;left:34%;width:34%;height:27%;bottom:5%;z-index:8;
  filter:drop-shadow(0 13px 13px rgba(0,0,0,.23))
}
.island-top{
  position:absolute;left:-7%;right:-7%;top:0;height:18%;
  background-size:cover!important;background-position:center!important;
  clip-path:polygon(4% 0,96% 0,100% 100%,0 100%)
}
.island-base{
  position:absolute;left:0;right:0;top:18%;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px
}
.island-panel{border:2px solid rgba(40,40,40,.22)}
.kitchen-label{
  position:absolute;z-index:12;background:rgba(17,17,17,.94);color:white;border-radius:12px;padding:9px 12px;
  display:flex;flex-direction:column;min-width:145px;box-shadow:0 8px 20px rgba(0,0,0,.18)
}
.kitchen-label span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#ff85bb;font-weight:900}
.kitchen-label b{font-size:12px;margin-top:2px}
.kitchen-label small{font-size:11px;color:#ddd;margin-top:2px}
.cabinet-label{top:3%;right:2%}.counter-label{top:39%;left:2%}.floor-label{bottom:3%;right:2%}
.scene-note{font-size:11px;color:#777;margin-top:9px;text-align:center}
.kitchen-controls{margin-top:18px}
.choice-row-block{border-top:1px solid #eee;padding:18px 0 4px}
.choice-row-block:first-child{border-top:0}
.choice-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.choice-row-head h3{margin:0;font-size:18px}
.material-strip{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 12px;scrollbar-width:thin}
.material-tile{
  flex:0 0 190px;display:flex;align-items:center;gap:10px;text-align:left;padding:9px;border-radius:13px;
  border:1px solid #ddd;background:#fff;cursor:pointer;font:inherit
}
.material-tile:hover{border-color:#aaa;transform:translateY(-1px)}
.material-tile.selected{border:2px solid var(--pink);box-shadow:0 0 0 3px rgba(255,45,141,.10)}
.material-tile:disabled{opacity:.52;cursor:not-allowed}
.material-sample{
  width:68px;height:62px;flex:0 0 68px;border-radius:9px;border:1px solid #ccc;
  background-size:cover!important;background-position:center!important
}
.material-copy b{display:block;font-size:13px;line-height:1.2}
.material-copy small{display:block;color:#666;margin-top:5px;font-size:11px}
.exterior-shell{margin-top:24px}
.exterior-preview-v8{height:340px;position:relative;overflow:hidden;border-radius:16px;background:#dfe9ef;margin-bottom:12px}
.ext-sky{position:absolute;inset:0;background:linear-gradient(#d9eef7,#f7f5ed 72%)}
.ext-ground{position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(#a9b985,#7f9366)}
.ext-house{position:absolute;left:11%;right:11%;bottom:17%;height:58%;z-index:4}
.ext-body{position:absolute;left:0;right:0;bottom:0;height:66%;background:var(--siding);border:9px solid var(--trim);border-top:0;box-shadow:0 12px 22px rgba(0,0,0,.2)}
.ext-roof{position:absolute;left:-4%;right:-4%;top:0;height:42%;background:#3d3d3d;clip-path:polygon(50% 0,100% 100%,0 100%)}
.ext-door{position:absolute;left:46%;bottom:0;width:58px;height:96px;background:#f5f5f2;border:6px solid var(--trim)}
.ext-window{position:absolute;bottom:36px;width:115px;height:75px;background:#cfe8f3;border:8px solid var(--trim)}
.ext-window.w1{left:14%}.ext-window.w2{right:14%}
.ext-window i{position:absolute;top:-8px;bottom:-8px;width:18px;background:var(--shutter)}
.ext-window i:first-child{left:-34px}.ext-window i:last-child{right:-34px}
.exterior-summary{
  position:absolute;left:18px;bottom:16px;z-index:9;background:rgba(17,17,17,.9);color:white;border-radius:12px;padding:10px 13px
}
.exterior-summary b{display:block}.exterior-summary span{display:block;font-size:12px;color:#ddd;margin-top:3px}
.choice-row-block.compact{padding-top:13px}
.material-tile.compact{flex-basis:170px}

@media(max-width:900px){
  .designer-heading{align-items:flex-start;flex-direction:column}
  .designer-help{text-align:left}
  .kitchen-room{height:430px}
}
@media(max-width:650px){
  .kitchen-room{height:360px}
  .upper-cabinets{left:3%;right:3%}
  .lower-cabinets{left:3%;right:3%}
  .kitchen-label{display:none}
  .material-tile{flex-basis:165px}
  .material-sample{width:58px;height:54px;flex-basis:58px}
}


/* ===== V9 BDX integrated visualizer ===== */
.bdx-shell{
  background:#fff;border-radius:20px;overflow:hidden;margin:20px 0;
  box-shadow:0 10px 30px rgba(0,0,0,.06);border:1px solid #e9e9e9
}
.bdx-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:16px 18px;background:#111;color:white
}
.bdx-topbar h2{margin:3px 0 0;font-size:22px}
.bdx-topbar .eyebrow{color:#ff5aa2}
.bdx-toggle{display:flex;gap:7px;background:#252525;border-radius:999px;padding:4px}
.bdx-toggle button{
  border:0;background:transparent;color:#ddd;padding:9px 18px;border-radius:999px;
  font-weight:800;cursor:pointer
}
.bdx-toggle button.active{background:var(--pink);color:#fff}
.bdx-frame-wrap{background:#111}
.bdx-frame{
  display:block;width:100%;height:min(760px,72vh);min-height:610px;border:0;background:#111
}
.bdx-fallback{
  display:flex;justify-content:center;gap:5px;align-items:center;flex-wrap:wrap;
  padding:8px 15px;color:#bbb;font-size:12px;background:#111;border-top:1px solid #333
}
.bdx-fallback a{color:#ff5aa2;font-weight:800}
.selection-recorder{
  background:#fff;border-radius:20px;padding:24px;margin:22px 0;
  box-shadow:0 10px 30px rgba(0,0,0,.05)
}
.selection-recorder-head{
  display:flex;justify-content:space-between;align-items:end;gap:24px;
  border-bottom:1px solid #eee;padding-bottom:15px;margin-bottom:4px
}
.selection-recorder-head h2{margin:3px 0 0}
.selection-recorder-head p{max-width:530px;margin:0;color:#666;font-size:13px;line-height:1.45;text-align:right}
.price-choice-group{padding:18px 0;border-bottom:1px solid #eee}
.price-choice-group:last-child{border-bottom:0}
.price-choice-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}
.price-choice-head h3{margin:0;font-size:18px}
.price-choice-head span{font-size:12px;color:#666}
.price-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.price-choice{
  position:relative;display:flex;align-items:center;gap:10px;text-align:left;
  padding:11px;border:1px solid #ddd;border-radius:13px;background:white;cursor:pointer
}
.price-choice:hover{border-color:#aaa}
.price-choice.selected{border:2px solid var(--pink);box-shadow:0 0 0 3px rgba(255,45,141,.10)}
.price-choice.disabled{opacity:.55;cursor:not-allowed}
.price-choice-dot{
  width:44px;height:44px;border-radius:9px;border:1px solid #ccc;flex:0 0 44px
}
.price-choice-copy{min-width:0}
.price-choice-copy b{display:block;font-size:13px}
.price-choice-copy small{display:block;color:#666;margin-top:3px;font-size:11px}
.checkmark{
  margin-left:auto;background:var(--pink);color:white;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;font-weight:900
}
.sync-note{
  background:#fff7fb;border:1px solid #ffd2e6;border-radius:14px;padding:13px 16px;
  display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.45;color:#555
}
.sync-note b{color:#111;white-space:nowrap}

@media(max-width:900px){
  .bdx-frame{min-height:520px;height:68vh}
  .selection-recorder-head{flex-direction:column;align-items:flex-start}
  .selection-recorder-head p{text-align:left}
  .price-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .bdx-topbar{align-items:flex-start;flex-direction:column}
  .bdx-frame{min-height:430px;height:60vh}
  .price-choice-grid{grid-template-columns:1fr}
  .sync-note{flex-direction:column}
}

/* ===== V10: BDX auto-sync probe; visualizer is the visual UI ===== */
.bdx-syncbar{display:flex;gap:10px;align-items:center;padding:10px 14px;background:#151515;color:white;border-top:1px solid #333}
.bdx-syncbar b{display:block;font-size:12px}
.bdx-syncbar span{display:block;font-size:11px;color:#bbb;margin-top:2px}
.sync-light{width:10px;height:10px;border-radius:50%;background:#f2b233;box-shadow:0 0 0 4px rgba(242,178,51,.15);flex:0 0 10px}
.sync-light.synced{background:#31c46c;box-shadow:0 0 0 4px rgba(49,196,108,.15)}
.current-design{background:#fff;border-radius:18px;padding:20px;margin:20px 0;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.current-design h2{margin:4px 0 14px}
.selection-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.selection-summary-card{border:1px solid #e2e2e2;border-radius:12px;padding:12px;min-height:82px}
.selection-summary-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#777;font-weight:900}
.selection-summary-card b{display:block;margin-top:5px;font-size:14px}
.selection-summary-card small{display:block;margin-top:5px;color:#666}
.manual-fallback{background:#fafafa;border:1px solid #e6e6e6;border-radius:14px;padding:13px 15px;margin:16px 0}
.manual-fallback summary{cursor:pointer;font-weight:800}
.manual-select-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:12px;margin:10px 0}
.manual-select-row span{font-weight:800;font-size:13px}
.manual-select-row select{width:100%;padding:10px;border:1px solid #ccc;border-radius:9px;background:white}
@media(max-width:760px){.selection-summary-grid{grid-template-columns:1fr 1fr}.manual-select-row{grid-template-columns:1fr}}
.integration-note{margin:16px 0 6px;padding:14px 16px;border:1px solid #ececec;border-radius:14px;background:#fff;display:flex;gap:8px;flex-direction:column}.integration-note b{font-size:15px}.integration-note span{font-size:13px;color:#666}.sync-light.integration-ready{background:#f3b51b;box-shadow:0 0 0 4px rgba(243,181,27,.12)}.map-ids{padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#f7f7f7;font-size:13px}.admin-map-head{padding:8px 0;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.04em}

/* ===== V13 Universal MHC finish visualizer ===== */
.universal-viz{background:#111;border-radius:20px;overflow:hidden;margin:20px 0;box-shadow:0 12px 30px rgba(0,0,0,.10)}
.viz-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;color:#fff}.viz-head h2{margin:3px 0 0}.viz-head .eyebrow{color:var(--pink)}.viz-note{font-size:12px;color:#ccc;border:1px solid #444;border-radius:999px;padding:7px 11px}
.kitchen-photo{position:relative;overflow:hidden;background:#ddd;aspect-ratio:1318/431}.kitchen-photo>img{display:block;width:100%;height:100%;object-fit:cover}.finish-layer{position:absolute;inset:0;pointer-events:none;opacity:.72;mix-blend-mode:multiply;background:var(--cab);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.finish-layer.cabinets{-webkit-mask-image:url('assets/visualizer/mask-cabinets.png');mask-image:url('assets/visualizer/mask-cabinets.png');background:var(--cab)}.finish-layer.counters{-webkit-mask-image:url('assets/visualizer/mask-counters.png');mask-image:url('assets/visualizer/mask-counters.png');background:var(--counter);opacity:.55}.finish-layer.floors{-webkit-mask-image:url('assets/visualizer/mask-floor.png');mask-image:url('assets/visualizer/mask-floor.png');background:var(--floor);opacity:.52}.viz-caption{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.76);color:#fff;padding:9px 12px;border-radius:10px;max-width:390px}.viz-caption b,.viz-caption span{display:block}.viz-caption span{font-size:11px;color:#ddd;margin-top:2px}
.selected-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#333}.selected-strip button{border:0;background:#171717;color:#fff;text-align:left;padding:12px 14px;cursor:pointer;min-width:0}.selected-strip button:hover{background:#222}.selected-strip span{display:block;color:#aaa;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.selected-strip b{display:block;margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finish-picker{background:#fff;border:1px solid #e8e8e8;border-radius:18px;padding:20px;margin:20px 0;box-shadow:0 8px 24px rgba(0,0,0,.04)}.finish-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.finish-picker-head h2{margin:3px 0 0}.category-tabs{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.visual-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.visual-choice{position:relative;border:1px solid #ddd;border-radius:14px;background:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer;min-width:0}.visual-choice:hover{border-color:#999}.visual-choice.selected{border:2px solid var(--pink);box-shadow:0 0 0 3px rgba(255,45,141,.10)}.visual-choice.disabled{opacity:.45;cursor:not-allowed}.visual-choice>img,.visual-choice>.visual-swatch{display:block;width:100%;height:105px;object-fit:cover;background:#ddd}.visual-choice-copy{display:block;padding:10px 11px}.visual-choice-copy b{display:block;font-size:13px}.visual-choice-copy small{display:block;margin-top:4px;color:#666;font-size:11px}.visual-choice>i{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-style:normal;font-weight:900}.visualizer-disclaimer{font-size:11px;line-height:1.45;color:#777;padding:0 4px 6px}
@media(max-width:760px){.viz-head,.finish-picker-head{align-items:flex-start;flex-direction:column}.visual-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-strip{grid-template-columns:1fr}.viz-note{display:none}}
@media(max-width:470px){.visual-choice-grid{grid-template-columns:1fr}.kitchen-photo{aspect-ratio:4/3}.kitchen-photo>img{object-fit:cover;object-position:center}.viz-caption{right:12px}}

/* V14: real image overlays, reliable under file:// */
.kitchen-photo>.kitchen-base{position:relative;z-index:1}
.kitchen-photo>.material-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:2;mix-blend-mode:multiply}
.kitchen-photo>.material-overlay.cabinets{opacity:.72}
.kitchen-photo>.material-overlay.counters{opacity:.72;z-index:3}
.kitchen-photo>.material-overlay.floors{opacity:.68;z-index:4}
.kitchen-photo>.viz-caption{z-index:5}
.kitchen-photo>.finish-layer{display:none!important}

.kitchen-photo>.kitchen-canvas{position:relative;z-index:1;width:100%;height:auto;display:block;aspect-ratio:1435/618;object-fit:cover}


/* ===== V22 Design Center: selections left, visualizer + pricing right ===== */
#rightRail{align-self:start;min-width:0}
#vizHost{display:none}
main.design-workspace{grid-template-columns:minmax(520px,1fr) minmax(500px,620px);max-width:1680px;align-items:start}
main.design-workspace #rightRail{position:sticky;top:18px;display:flex;flex-direction:column;gap:18px}
main.design-workspace #vizHost{display:block;order:1}
main.design-workspace #summary{position:static;order:2}
main.design-workspace .universal-viz{margin:0;box-shadow:0 12px 30px rgba(0,0,0,.10)}
main.design-workspace #app{min-width:0}
main.design-workspace .finish-picker{margin-top:20px}
main.design-workspace .visual-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
main.design-workspace .finish-picker-head{align-items:flex-start;flex-direction:column}
main.design-workspace .category-tabs{justify-content:flex-start}
@media(max-width:1180px){
  main.design-workspace{grid-template-columns:minmax(430px,1fr) minmax(420px,520px)}
}
@media(max-width:1000px){
  main.design-workspace{grid-template-columns:1fr}
  main.design-workspace #rightRail{position:static}
  main.design-workspace #vizHost{order:1}
  main.design-workspace #summary{order:2}
  main.design-workspace .visual-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){main.design-workspace .visual-choice-grid{grid-template-columns:1fr}}

/* ===== V23 Compact configurator workspace ===== */
main.design-workspace{grid-template-columns:minmax(500px,1fr) minmax(470px,590px);gap:22px}
.design-left-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:14px}
.design-left-head h1{font-size:30px;margin:2px 0 0}
.design-left-head p{max-width:390px;margin:0;color:#6b7280;font-size:13px;line-height:1.45;text-align:right}
.compact-as-shown{padding:12px 14px;margin:0 0 12px}
.config-sections{display:flex;flex-direction:column;gap:9px}
.config-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.035)}
.config-section.open{border-color:#d7d7d7}
.config-section-head{width:100%;border:0;background:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer}
.config-section-head>span:first-child{min-width:0;display:flex;align-items:center;gap:12px}
.config-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ff2d8d;font-weight:900;min-width:78px}
.config-section-head b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.config-row-note{display:block;font-size:8px!important;line-height:1.1;letter-spacing:.03em;color:#8a8a8a;font-weight:600;text-transform:uppercase;white-space:normal;max-width:145px}
.config-status{display:flex;align-items:center;gap:9px;color:#777;font-size:11px;white-space:nowrap}
.config-status i{font-style:normal;font-size:18px;color:#111;width:18px;text-align:center}
.config-section-body{border-top:1px solid #eee;padding:10px}
main.design-workspace .visual-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
main.design-workspace .visual-choice{min-height:58px;padding:7px;gap:7px;border-radius:10px}
main.design-workspace .visual-choice img,main.design-workspace .visual-choice .visual-swatch{width:48px;height:44px;min-width:48px;border-radius:7px}
main.design-workspace .visual-choice-copy b{font-size:11px;line-height:1.15}
main.design-workspace .visual-choice-copy small{font-size:10px;margin-top:3px}
.more-options-note{display:flex;gap:10px;align-items:flex-start;background:#fff4f8;border:1px solid #ffd0e5;border-radius:12px;padding:10px 12px;margin-top:10px;font-size:11px;line-height:1.4}
.more-options-note b{white-space:nowrap}.more-options-note span{color:#666}
main.design-workspace #rightRail{gap:10px}
main.design-workspace #summary{padding:13px 15px;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
main.design-workspace #summary .summary-title{font-size:14px;margin-bottom:7px}
main.design-workspace #summary .line{padding:3px 0;font-size:11px}
main.design-workspace #summary .total{padding-top:8px;margin-top:6px;font-size:18px}
main.design-workspace #summary .small{font-size:10px}
main.design-workspace .universal-viz{border-radius:15px}
main.design-workspace .viz-head{padding:12px 14px}
main.design-workspace .viz-head h2{font-size:20px;margin:2px 0}
main.design-workspace .selected-strip button{padding:8px 10px}
main.design-workspace .selected-strip span{font-size:9px}
main.design-workspace .selected-strip b{font-size:11px}
.compact-disclaimer{font-size:10px;padding:7px 10px;margin-top:8px}
@media(max-width:1250px){main.design-workspace .visual-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.design-left-head{align-items:flex-start;flex-direction:column}.design-left-head p{text-align:left}.more-options-note{flex-direction:column}main.design-workspace .visual-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){main.design-workspace .visual-choice-grid{grid-template-columns:1fr}.config-section-head>span:first-child{display:block}.config-kicker{display:block;margin-bottom:3px}}

/* ===== V24 Full option workspace ===== */
.config-group-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 2px 7px;padding-top:2px}
.config-group-label span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#111}
.config-group-label small{font-size:10px;color:#777;text-align:right}
.factory-label{margin-top:18px;border-top:1px solid #ececec;padding-top:15px}
.factory-config .config-kicker{color:#666}
.factory-search{position:sticky;top:0;background:#fff;padding-bottom:8px;z-index:2}
.factory-search input{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:9px;padding:8px 10px;font-size:11px;outline:none}
.factory-search input:focus{border-color:#ff2d8d;box-shadow:0 0 0 2px rgba(255,45,141,.09)}
.factory-subgroup+.factory-subgroup{margin-top:10px;padding-top:9px;border-top:1px solid #eee}
.factory-subhead{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#888;margin:1px 2px 5px}
.compact-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border-radius:9px;cursor:pointer;border:1px solid transparent}
.compact-option:hover{background:#fafafa;border-color:#eee}
.compact-option.selected{background:#fff4f8;border-color:#ffc4de}
.compact-option input{accent-color:#ff2d8d;width:14px;height:14px;margin:0}
.compact-option-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.compact-option-copy b{font-size:11px;line-height:1.25;font-weight:700}
.compact-option-copy small{font-size:9px;line-height:1.25;color:#777}
.compact-price{font-size:10px;font-weight:800;white-space:nowrap;color:#333}
.empty-compact{font-size:11px;color:#777;padding:8px}
.guide-source-note{font-size:9px;line-height:1.35;color:#777;margin:10px 3px 2px}
main.design-workspace #summary .line{padding:2px 0}
main.design-workspace #summary{padding:11px 14px}
@media(max-width:650px){.config-group-label{align-items:flex-start;flex-direction:column}.config-group-label small{text-align:left}.compact-option{grid-template-columns:18px minmax(0,1fr) auto}}

/* Setup package: grouped, two-column customer layout. Admin data/pricing remains untouched. */
.setup-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:18px}
.setup-section{border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden}
.setup-section h2{margin:0;padding:12px 14px;background:#f7f7f8;border-bottom:1px solid #e5e7eb;font-size:15px}
.setup-section-items{padding:8px}
.setup-choice-card{margin:0!important;border-radius:10px!important;box-shadow:none!important}
.setup-choice-card+.setup-choice-card{margin-top:7px!important}
@media(max-width:800px){.setup-section-grid{grid-template-columns:1fr}}
.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.setup-section{border:1px solid #eee;border-radius:12px;padding:12px 14px;background:#fff}
.setup-section h2{margin:0 0 8px;font-size:14px;letter-spacing:.04em}
.setup-choice{display:flex;gap:8px;align-items:center;padding:6px 0}
.setup-choice b{margin-left:auto;white-space:nowrap}.hidden{display:none!important}.account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;border-bottom:1px solid #eee;padding-bottom:14px}.account-card-actions{display:flex;gap:7px;flex-wrap:wrap}.account-empty,.account-welcome{background:#fff4f8;border:1px solid #ffc2dd;border-radius:16px;padding:24px}.account-profile-form{margin-top:16px}.account-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-right:42px}.account-head h2{margin:4px 0}.account-quote-list{display:grid;gap:12px;margin-top:18px}.account-quote-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fafafa}.account-quote-card h3{margin:5px 0;font-size:17px}.account-quote-card small{color:#777}.account-quote-total{font-size:20px;font-weight:900;color:var(--pink)}@media(max-width:700px){.account-quote-card{grid-template-columns:1fr}.header-actions{gap:5px}.header-actions .ghost{padding:9px 10px;font-size:12px}.account-secure{align-items:stretch;flex-direction:column}.account-profile-form{grid-template-columns:1fr}}.setup-choice>span{display:flex;flex-direction:column;min-width:0}.setup-choice strong{font-size:13px}.setup-description{display:block;margin-top:3px;color:#777;font-size:10px;line-height:1.35;font-weight:500}.admin-caption-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.admin-caption-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800}.admin-caption-grid textarea{min-height:72px;resize:vertical;border:1px solid #ddd;border-radius:8px;padding:9px;font:inherit;font-weight:500}.customer-record{margin-bottom:10px}.customer-quotes{margin-top:10px;padding-top:9px;border-top:1px solid #eee}.customer-quote-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #f2f2f2}.customer-quote-row:first-of-type{margin-top:6px}@media(max-width:800px){.admin-caption-grid{grid-template-columns:1fr}}
@media(max-width:800px){.setup-grid{grid-template-columns:1fr}}
.customer-record-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.admin-customer-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:4px 0 12px;padding:10px 14px;background:#f7f7f8;border-radius:10px;color:#555;font-size:12px}.admin-customer-summary b{color:#111;font-size:14px}.customer-identity{display:flex;flex-direction:column;gap:5px;min-width:0}.customer-identity>b{font-size:16px}.customer-contact{display:flex;gap:8px 14px;flex-wrap:wrap;color:#555;font-size:12px}.customer-contact span{overflow-wrap:anywhere}.customer-account-badge{align-self:flex-start;padding:3px 7px;border-radius:999px;background:#f3f4f6;color:#666;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.customer-build-count{font-size:11px;font-weight:800;color:#555;margin-bottom:4px}.customer-quote-row.admin-build-link{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;align-items:center}.customer-quote-row.admin-build-link:hover{background:#fff4f8}.customer-build-name{display:flex;flex-direction:column;gap:2px}.customer-build-name small{color:#666;font-size:11px}.customer-quote-row strong{white-space:nowrap;color:var(--pink)}.account-local-info{display:grid;gap:6px;background:#fff;border:1px solid #eee;border-radius:12px;padding:14px;margin:14px 0}.account-local-info b,.account-local-info span{display:block;line-height:1.35;overflow-wrap:anywhere}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.account-secure{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:20px;padding:16px 18px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa}.account-secure-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.account-secure-copy b{display:block;font-size:14px;line-height:1.3}.account-secure span{display:block;font-size:11px;color:#666;line-height:1.45}.account-secure-btn{flex:0 0 auto;white-space:nowrap}.account-profile-card{max-width:680px}.account-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-profile-form .full{grid-column:1/-1}.admin-build-detail{color:#171717;font-size:14px}.admin-build-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:16px;margin-bottom:16px}.admin-build-detail{max-width:820px;margin:auto}.admin-build-detail .eyebrow{color:#ff2d8d}.admin-build-detail h2,.admin-build-detail h3,.admin-build-detail b,.admin-build-detail span,.admin-build-detail p{letter-spacing:normal;word-spacing:normal}.admin-build-title h2{margin:4px 0 6px;color:#111}.admin-build-title p{margin:0;color:#555}.admin-build-total{font-size:26px;font-weight:900;color:var(--pink);white-space:nowrap}.admin-build-home{display:flex;justify-content:space-between;gap:15px;background:#f7f7f8;border-radius:12px;padding:14px 16px;margin-bottom:18px}.admin-build-home span{color:#666}.admin-build-detail h3{font-size:15px;margin:20px 0 6px;padding-bottom:6px;border-bottom:1px solid #ddd;color:#111}.admin-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:8px 4px;border-bottom:1px solid #f0f0f0;color:#222}.admin-detail-row b{color:#111;text-align:right}.admin-empty{color:#777;padding:8px 4px;font-style:italic}@media(max-width:650px){.admin-build-title,.admin-build-home{flex-direction:column}.admin-detail-row{grid-template-columns:1fr}.admin-detail-row b{text-align:left}}

/* V25 admin control center */
.admin-controlbar{display:flex;gap:10px;align-items:center;margin:10px 0 16px}.admin-controlbar .search{flex:1}.admin-category{border:1px solid #e5e7eb;border-radius:14px;margin:12px 0;overflow:hidden}.admin-category-head{display:flex;align-items:center;gap:12px;padding:12px;background:#f7f7f8;position:sticky;top:0;z-index:2}.admin-category-head>div{flex:1}.admin-category-head b{display:block}.admin-category-head span{font-size:11px;color:#777}.admin-switch{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;white-space:nowrap}.mini{padding:7px 10px;font-size:11px;border:1px solid #ddd}.admin-option-row{display:grid;grid-template-columns:76px 1fr 190px;gap:10px;align-items:center;padding:9px 11px;border-top:1px solid #eee}.admin-option-thumb{width:76px;height:58px;border-radius:8px;background:#eee;overflow:hidden;display:grid;place-items:center;color:#888;font-size:10px}.admin-option-thumb img{width:100%;height:100%;object-fit:cover}.admin-option-fields{display:grid;grid-template-columns:minmax(180px,1.1fr) 100px minmax(180px,1.4fr);gap:7px}.admin-option-fields input{width:100%;padding:8px;border:1px solid #ddd;border-radius:8px}.admin-option-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.image-btn{border:1px solid #ddd;background:#fff;padding:7px 8px;border-radius:8px;font-size:10px;font-weight:800;cursor:pointer}.image-btn input{display:none}.visual-choice img{object-fit:cover}.config-kicker{line-height:1.2}@media(max-width:800px){.admin-option-row{grid-template-columns:58px 1fr}.admin-option-actions{grid-column:1/-1;justify-content:flex-start}.admin-option-fields{grid-template-columns:1fr}.admin-category-head{flex-wrap:wrap}}
.picture-link{border:0;background:none;color:#d71972;padding:0;margin-top:4px;font-size:10px;font-weight:900;text-decoration:underline;cursor:pointer;display:inline-block}.option-picture-large{max-height:70vh;object-fit:contain}.unified-admin-row{min-height:78px}.unified-admin-row .admin-option-thumb{cursor:pointer}.unified-fields{grid-template-columns:minmax(160px,1.2fr) 110px minmax(180px,1.5fr)}.unified-fields input:nth-child(4){grid-column:auto}.admin-option-thumb img{cursor:zoom-in}
/* V29: disclaimer belongs below the visualizer, never over the kitchen. */
.viz-caption{display:none!important}
.compact-disclaimer{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#666;line-height:1.4;margin-top:0;padding:8px 10px}
.compact-disclaimer b{color:#333}

/* V31: keep the entire kitchen image unobstructed. Selection summary and disclaimer live outside it. */
main.design-workspace .selected-strip{display:none!important}
.kitchen-photo{background:#eee}
.kitchen-canvas{display:block;width:100%;height:100%;object-fit:cover}
.visualizer-disclaimer{margin-top:7px!important}

/* V35: full kitchen frame. Never crop the counter/island out of the preview. */
.kitchen-photo{aspect-ratio:1318/610!important;background:#eee!important}
.kitchen-canvas{width:100%!important;height:auto!important;aspect-ratio:1318/610!important;object-fit:contain!important;object-position:center!important}

/* V38 fixed master-frame visualizer */
.kitchen-photo{aspect-ratio:1435/573!important;background:#eee!important;}
.kitchen-canvas{display:block!important;width:100%!important;height:100%!important;aspect-ratio:1435/573!important;object-fit:contain!important;}

/* V41 clean universal kitchen master: fixed frame, no crop */
.kitchen-photo{aspect-ratio:2/1!important;background:#eee!important;}
.kitchen-canvas{width:100%!important;height:100%!important;aspect-ratio:2/1!important;object-fit:contain!important;object-position:center!important;}

/* V55 catalog + flooring */
.home-toolbar{flex-wrap:wrap}
.series-select{min-width:190px;border:1px solid #ddd;border-radius:12px;padding:10px 12px;background:#fff;font:inherit}
.catalog-count{font-size:12px;color:#777;margin:8px 0 14px}
.series-pricing-notice{background:#fff;border:1px solid #e6e6e6;border-left:4px solid #ff2d8d;border-radius:12px;padding:16px 18px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px}
.series-pricing-notice span{font-size:13px;color:#666;line-height:1.45}
.config-section-body .visual-choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.config-section-body .visual-choice{min-height:175px;align-items:stretch;overflow:hidden}
.config-section-body .visual-choice>img{width:100%;height:105px;object-fit:cover;border-radius:9px;border:1px solid #e5e5e5}.config-section-body .visual-choice>img.contain-sample{object-fit:contain;background:#f7f4ec;padding:4px}.config-section-body .visual-choice>img.shutter-sample{height:150px;width:100%;object-fit:contain;padding:8px;background:#fff}.config-section-body .visual-choice:has(.shutter-sample){min-height:205px}
.config-section-body .visual-choice-copy{padding-top:8px}


/* MHC mobile layout */
@media(max-width:900px){
  header{height:auto;min-height:64px;padding:10px 16px;gap:10px}
  .brand{font-size:16px;letter-spacing:.2px;line-height:1.15}
  .tag{display:none}
  .header-actions .ghost,.header-actions .btn{padding:9px 10px;font-size:12px}
  .steps{padding:12px 16px;gap:6px}
  .step{padding:8px 11px;font-size:12px}
  main{grid-template-columns:1fr;gap:16px;padding:18px 16px 40px}
  main.design-workspace{grid-template-columns:1fr;max-width:none}
  main.design-workspace #rightRail{position:static}
  #summary{position:static}
  .grid{grid-template-columns:1fr}
  h1{font-size:28px}
  .quote-box,.modal-card{padding:16px}
  .actions{flex-wrap:wrap}
  .actions .btn{flex:1 1 140px}
  .land-address-grid{grid-template-columns:1fr!important}
  .option-row,.setup-choice{align-items:flex-start}
  .setup-choice b{white-space:normal}
}
@media(max-width:640px){
  .grid{grid-template-columns:1fr}
  .card img{height:180px;object-fit:cover}
  .modal{padding:8px}
  .modal-card{max-height:94vh;border-radius:14px}
  .save-form input,.save-form textarea{width:100%;font-size:16px}
}

@media(max-width:900px){
  html,body{overflow-x:hidden}
  main,main.design-workspace{display:block!important;width:100%!important;max-width:100%!important;padding:16px!important}
  #app,#rightRail,#vizHost,#summary,.universal-viz,.finish-picker,.option-group{min-width:0!important;max-width:100%!important}
  .line{gap:8px}
  .line b,.line .pink{white-space:nowrap}
  .option-group h2,.finish-picker-head h2{overflow-wrap:anywhere}
  .universal-viz img,.kitchen-photo,.kitchen-photo>img{max-width:100%;height:auto}
}


.home-admin-card{padding:12px;border-top:1px solid #eee}
.home-admin-top{display:grid;grid-template-columns:minmax(160px,1.2fr) 110px 120px 130px auto;gap:8px;align-items:center}
.home-admin-top input{width:100%;padding:8px;border:1px solid #ddd;border-radius:8px}
.home-admin-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.home-gallery-editor{margin-top:12px}
.home-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.home-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.home-picture-card{display:grid;gap:5px;padding:6px;border:1px solid #eee;border-radius:10px;background:#fff}
.home-picture-card.is-thumb{border-color:#ff2d8d;box-shadow:0 0 0 2px rgba(255,45,141,.15)}
.home-picture-card img{width:100%;height:92px;object-fit:cover;border-radius:8px;cursor:zoom-in}
.home-picture-card button{border:0;border-radius:7px;padding:5px 6px;font-size:11px;font-weight:800;background:#111;color:#fff}
.home-picture-card button.danger{background:#fff;color:#b42318;border:1px solid #f3c1bc}
@media(max-width:800px){.home-admin-top{grid-template-columns:1fr 1fr}.home-admin-actions{grid-column:1/-1;justify-content:flex-start}}

