/* Guided kitchen studio. All component styles are scoped to cfg-. */
.configurator-section{background:#f0f1eb;padding:76px 5% 40px;border-top:1px solid #e1e4da;border-bottom:1px solid #e1e4da}
.configurator-section .studio-heading{margin-bottom:36px}
.configurator-section .studio-heading h2{font-size:clamp(38px,3.6vw,54px)}
.cfg-app{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;align-items:start;isolation:isolate}
.cfg-app button,.cfg-app input,.cfg-app select{font:inherit}
.cfg-app button{transition:background .18s,border-color .18s,box-shadow .18s;line-height:1.35}
.cfg-app button:disabled{cursor:default;opacity:.4}
.cfg-app [hidden]{display:none!important}
.cfg-preview{position:sticky;top:18px;border:1px solid #dce0d4;background:#fafbf7;border-radius:15px;overflow:hidden;min-width:0;box-shadow:0 8px 35px #2b352507}
.cfg-preview-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 23px 12px}
.cfg-eyebrow{display:block;font-size:8px;letter-spacing:1.4px;font-weight:600;color:#77806e;text-transform:uppercase}
.cfg-preview-title{font-size:14px;line-height:1.4;letter-spacing:-.2px;margin-top:5px;font-weight:600}
.cfg-view-modes{display:flex;padding:3px;background:#eef0e7;border:1px solid #e0e3d8;border-radius:8px;flex-shrink:0}
.cfg-view-modes button{background:transparent;font-size:11px;padding:8px 13px;border-radius:5px;color:#6c7367}
.cfg-view-modes button[aria-pressed=true],.cfg-view-modes .cfg-active{background:#30382c;color:#fff;box-shadow:0 2px 4px #0001}
.cfg-stage{height:430px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 62%,#e9ebdf 0%,#fafbf7 66%)}
.cfg-stage #kitchen-canvas{position:absolute;inset:0;z-index:1}
.cfg-stage #kitchen-canvas canvas{width:100%;height:100%;display:block}
.cfg-stage #kitchen-canvas:focus-visible{outline-offset:-4px}
.cfg-loading,.cfg-initial{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#747d69;font-size:12px}
.cfg-loading{position:absolute;inset:0;z-index:2;pointer-events:none}
.cfg-initial{min-height:440px}
.cfg-stage-note{position:absolute;bottom:10px;left:14px;right:14px;text-align:center;font-size:9px;color:#777e6e;pointer-events:none;z-index:3;line-height:1.5}
.cfg-preview-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 22px;border-top:1px solid #e6e9df;background:#ffffff8a}
.cfg-selection-label{font-size:11px;color:#5f6b55;line-height:1.6;min-width:0}
.cfg-selection-label strong{color:#30382c;font-weight:600}
.cfg-reset-view{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:white;border:1px solid #dce1d2;padding:8px 10px;border-radius:6px;font-size:10px!important;white-space:nowrap}
.cfg-reset-view svg{width:16px;height:16px}
.cfg-variants{border-top:1px solid #e4e7dd;padding:14px 20px;background:#f5f6f0}
.cfg-variants>p,.cfg-variants>span,.cfg-variants-title{font-size:10px;color:#68735e;margin:0 0 10px}
.cfg-variant-list,.cfg-variant-slots{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cfg-variant{position:relative;display:flex;align-items:center;gap:10px;min-width:0;border:1px solid #d9dfce;border-radius:7px;background:#fff;padding:10px}
.cfg-variant img{width:75px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0}
.cfg-variant strong{font-size:11px;display:block;font-weight:600}.cfg-variant small{font-size:9px;color:#737c6a;display:block}
.cfg-variant button{font-size:10px;background:transparent;color:#56634b;padding:3px 5px;border-radius:4px;text-align:left}
.cfg-variant button:hover{background:#eef1e6}
.cfg-variant-empty{border-style:dashed;background:transparent;min-height:44px}
.cfg-variant-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.cfg-variant-compare{display:flex;gap:8px;margin-top:8px}
.cfg-panel{background:#fff;border:1px solid #dce0d4;border-radius:15px;min-width:0;box-shadow:0 8px 35px #2b352507;overflow:hidden}
.cfg-step-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e7e9e0;padding:0 20px;gap:15px}
.cfg-step{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-bottom:3px solid transparent;background:none;padding:21px 0 17px;font-size:11px!important;color:#838a7a;white-space:nowrap;letter-spacing:-.2px}
.cfg-step>span:first-child{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#f2f3ee;color:#8d9683;font-size:9px}
.cfg-step[aria-current=step],.cfg-step.cfg-active{border-bottom-color:var(--accent);color:#30352a;font-weight:600}
.cfg-step[aria-current=step]>span:first-child,.cfg-step.cfg-active>span:first-child{background:#ffe9db;color:#a84a26}
.cfg-resume{padding:10px 24px;background:#f5f7ef;font-size:10px;color:#647055;border-bottom:1px solid #e7ebde;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cfg-resume button{font-size:10px;background:none;text-decoration:underline;color:inherit;padding:0}
.cfg-step-body{padding:27px 25px 25px;min-height:430px}
.cfg-step-body h3{font-size:24px;letter-spacing:-.8px;line-height:1.18;margin:0 0 9px}
.cfg-step-body h4{font-size:12px;font-weight:600;margin:23px 0 11px;line-height:1.5;letter-spacing:-.2px}
.cfg-step-body>p,.cfg-intro{font-size:12px;color:#78816e;line-height:1.75;margin-bottom:22px}
.cfg-layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.cfg-layout-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f8f9f5;border:1px solid #dfe4d7;border-radius:8px;padding:15px 10px 13px;position:relative;font-size:12px!important;color:#515e45}
.cfg-layout-card svg{width:78px;height:45px;stroke-width:1.1;overflow:visible}
.cfg-layout-card>span,.cfg-layout-card strong{font-weight:600;font-size:12px}
.cfg-layout-card:hover,.cfg-scope-card:hover,.cfg-option:hover,.cfg-zone:hover,.cfg-preset:hover{background:#fff8f2;border-color:#d6aa8e}
.cfg-layout-card[aria-pressed=true],.cfg-layout-card.cfg-active,.cfg-scope-card[aria-pressed=true],.cfg-scope-card.cfg-active{border-color:#dc744c;background:#fff4ea;box-shadow:inset 0 0 0 1px #dc744c;color:#4d3c2f}
.cfg-layout-card[aria-pressed=true]:after{content:'✓';position:absolute;top:9px;right:10px;color:#b8582f;font-size:11px}
.cfg-segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}
.cfg-option{background:#f7f8f3;border:1px solid #dfe4d7;border-radius:7px;padding:11px 4px;font-size:10px!important;min-height:44px;color:#65715b;text-align:center}
.cfg-option[aria-pressed=true],.cfg-option.cfg-active{background:#30382c;color:#fff;border-color:#30382c}
.cfg-details{border-top:1px solid #e7eadf;margin-top:22px;padding-top:15px}
.cfg-details>summary{font-size:11px;font-weight:600;cursor:pointer;color:#556147;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px}
.cfg-details>summary:after{content:'+';font-size:18px;font-weight:400}.cfg-details[open]>summary:after{content:'−'}
.cfg-details>summary::-webkit-details-marker{display:none}
.cfg-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin-top:17px}
.cfg-check{display:flex;gap:8px;align-items:center;font-size:11px;color:#66735a;cursor:pointer}
.cfg-check input{accent-color:#49583c;width:15px;height:15px;flex-shrink:0}
.cfg-scope-grid{display:grid;gap:10px;margin-top:20px}
.cfg-scope-card{display:flex;align-items:center;gap:14px;text-align:left;background:#f8f9f5;border:1px solid #e0e5d8;border-radius:8px;padding:18px 17px;font-size:13px!important;min-height:78px}
.cfg-scope-card svg{width:43px;height:34px;flex-shrink:0;color:#7b886c}
.cfg-scope-card strong{font-size:13px;font-weight:600;display:block;margin-bottom:4px}
.cfg-scope-card small{font-size:10px;display:block;color:#7b8470;line-height:1.6}
.cfg-current-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.cfg-field{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#5d6951;line-height:1.6}
.cfg-field select{max-width:100%;padding:10px 9px;border:1px solid #d9dfcd;background:#fff;border-radius:6px;color:#37432e;font-size:12px;min-height:42px}
.cfg-help{font-size:10px!important;color:#7d856f;line-height:1.75;margin:13px 0 0}
.cfg-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cfg-preset{display:flex;align-items:center;gap:10px;padding:12px 10px;text-align:left;border:1px solid #e0e4d7;border-radius:7px;background:#f8f9f5;font-size:10px!important;color:#4e5c43}
.cfg-preset strong{font-size:11px;font-weight:600}.cfg-preset small{display:block;font-size:9px;color:#8c947f;margin-top:3px}
.cfg-preset-colors,.cfg-preset-swatches{display:flex;flex-shrink:0}.cfg-preset-colors span,.cfg-preset-swatches span{display:block;width:15px;height:30px}.cfg-preset-colors span:first-child,.cfg-preset-swatches span:first-child{border-radius:4px 0 0 4px}.cfg-preset-colors span:last-child,.cfg-preset-swatches span:last-child{border-radius:0 4px 4px 0}
.cfg-preset[aria-pressed=true],.cfg-preset.cfg-active{border-color:#d77c55;background:#fff6ef}
.cfg-zone-list{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}
.cfg-zone{display:flex;align-items:center;gap:6px;border:1px solid #dce1d1;border-radius:20px;font-size:10px!important;background:#fff;padding:8px 11px;min-height:34px}
.cfg-zone[aria-pressed=true],.cfg-zone.cfg-active{border-color:#59684b;background:#edf1e4;color:#394b2b;box-shadow:inset 0 0 0 1px #59684b}
.cfg-zone-dot{width:12px;height:12px;border-radius:50%;border:1px solid #0001;display:inline-block}
.cfg-selection-heading{font-size:12px;font-weight:600;color:#37462b;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 10px}
.cfg-filter-list{display:flex;gap:4px;align-items:center;margin:13px 0 14px;flex-wrap:wrap}
.cfg-filter{padding:5px 10px;border-radius:5px;background:none;color:#919985;font-size:10px!important;border:1px solid transparent}
.cfg-filter[aria-pressed=true],.cfg-filter.cfg-active{color:#4d5c41;background:#edf1e5;border-color:#e1e7d7}
.cfg-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px 8px}
.cfg-swatch{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:start;background:none;border:1px solid transparent;border-radius:7px;font-size:9px!important;color:#737e65;padding:5px 2px;position:relative;min-width:0}
.cfg-swatch>span:first-child,.cfg-swatch-chip{height:40px;width:100%;max-width:48px;border-radius:5px;border:1px solid #00000012;box-shadow:0 2px 3px #00000009;display:block}
.cfg-swatch>span:last-child{display:block;line-height:1.4;white-space:nowrap}
.cfg-swatch[aria-pressed=true],.cfg-swatch.cfg-active{border-color:#77866b;background:#f1f4eb;color:#33462a}
.cfg-swatch[aria-pressed=true]:after{content:'✓';position:absolute;top:10px;right:8px;width:14px;height:14px;display:grid;place-items:center;background:#fff;border-radius:50%;font-size:9px;color:#425639;box-shadow:0 1px 4px #0002}
.cfg-handle-list{display:flex;gap:8px}.cfg-handle-list button{flex:1;border:1px solid #dce2d0;border-radius:6px;background:#f8faf4;padding:11px 7px;font-size:10px;color:#637156;min-height:40px}
.cfg-handle-list button[aria-pressed=true],.cfg-handle-list .cfg-active{border-color:#77866b;background:#edf2e5;color:#3c4f30}
.cfg-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}
.cfg-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:11px 14px;border-radius:6px;border:1px solid #dce2d1;background:white;color:#56654a;font-size:11px!important;font-weight:600;cursor:pointer}
.cfg-button-primary{background:var(--accent);border-color:var(--accent);color:#252824}.cfg-button-primary:hover{background:#f78355;border-color:#f78355}
.cfg-button-quiet{background:transparent;border-color:transparent;color:#7e8872;font-weight:400;padding-left:0}
.cfg-button-quiet:hover{color:#35472a;background:transparent}
.cfg-footer{padding:18px 25px 20px;border-top:1px solid #e6eadd;background:#fafbf7;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.cfg-footer .cfg-actions{margin:0}.cfg-footer .cfg-help{width:100%;margin:0;font-size:9px!important}
.cfg-footer>a:not(.cfg-button){font-size:10px;color:#7d876e;border-bottom:1px solid #cfd6c4}
.cfg-inline-confirm{margin:12px 0;padding:12px 14px;border:1px solid #edccb4;border-radius:7px;background:#fff5ec;font-size:11px;color:#876143}
.cfg-inline-confirm button{font-size:10px;background:#fff;border:1px solid #ddbea6;padding:7px 9px;margin:8px 7px 0 0;border-radius:5px}
.cfg-disclaimer{max-width:900px;margin:21px auto 0;text-align:center;color:#8c947f;font-size:10px;line-height:1.8}
.cfg-muted{color:#909980}.cfg-status{font-size:10px;color:#71815f;margin-top:10px}.cfg-caption{font-size:10px;color:#7f8a73}
.cfg-summary-image{display:block;width:100%;max-height:300px;object-fit:contain;margin:15px 0;border:1px solid #e2e7d8;background:#f7f9f3;border-radius:8px}
#summary-dialog .summary-list dd{overflow-wrap:anywhere}.configurator-section:has(.cfg-app)~*{}
@media(min-width:1550px){.cfg-stage{height:495px}.cfg-step-body{min-height:470px}.cfg-preview-title{font-size:16px}.cfg-step{font-size:12px!important}}
@media(max-width:1100px){.cfg-app{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cfg-stage{height:370px}.cfg-step-nav{padding:0 14px;gap:7px}.cfg-step{font-size:10px!important;gap:5px}.cfg-step-body{padding:23px 20px}.cfg-preview-top{padding:18px 17px 10px}.cfg-preview-title{font-size:12px}.cfg-view-modes button{font-size:10px;padding:7px 10px}.cfg-footer{padding:16px 20px}.cfg-preset{gap:7px;padding:10px 8px}.cfg-preset strong{font-size:10px}.cfg-preset-colors span,.cfg-preset-swatches span{width:12px}.cfg-preview-bottom{padding:12px 16px}.cfg-variants{padding:12px 15px}.cfg-variant img{width:48px;height:38px}.cfg-variant{padding:7px}}
@media(max-width:760px){
.configurator-section{padding:50px 0 30px}.configurator-section .studio-heading{padding:0 6%;margin-bottom:25px}.configurator-section .studio-heading h2{font-size:36px}.configurator-section .studio-heading>p:last-child{font-size:12px}
.cfg-app{display:flex;flex-direction:column;gap:0;isolation:auto}.cfg-preview{position:sticky;top:0;z-index:6;width:100%;border-radius:0;border-left:0;border-right:0;box-shadow:0 5px 14px #26331c13;background:#fafbf7}.cfg-preview-top{padding:11px 6% 5px;gap:10px}.cfg-eyebrow{font-size:6px;letter-spacing:1px}.cfg-preview-title{font-size:11px;margin-top:3px}.cfg-view-modes button{font-size:9px;padding:6px 9px}.cfg-stage{height:225px}.cfg-stage-note{font-size:7px;bottom:4px}.cfg-preview-bottom{padding:7px 6%;gap:7px}.cfg-selection-label{font-size:9px;line-height:1.4}.cfg-reset-view{padding:5px 8px;font-size:8px!important}.cfg-reset-view svg{width:13px;height:13px}.cfg-variants{padding:7px 6%;display:flex;align-items:center;gap:8px}.cfg-variants>p,.cfg-variants-title{margin:0;font-size:8px;max-width:66px}.cfg-variant-list,.cfg-variant-slots{flex:1;gap:7px;min-width:0}.cfg-variant{padding:5px 6px;gap:5px;min-height:31px}.cfg-variant img{width:34px;height:26px}.cfg-variant strong{font-size:8px}.cfg-variant small{display:none}.cfg-variant button{font-size:8px;padding:2px 3px}.cfg-variant-actions{gap:2px;margin:0}.cfg-variant-empty{min-height:31px}.cfg-variant-compare{margin:0;gap:3px}
.cfg-panel{border-radius:0;border-width:0 0 1px;width:100%;box-shadow:none;overflow:visible}.cfg-step-nav{padding:0 6%;gap:14px}.cfg-step{padding:17px 0 14px;font-size:10px!important;gap:7px}.cfg-step>span:first-child{width:18px;height:18px;font-size:8px}.cfg-resume{padding:9px 6%;font-size:9px}.cfg-step-body{padding:24px 6%;min-height:0}.cfg-step-body h3{font-size:24px}.cfg-step-body>p,.cfg-intro{font-size:11px;margin-bottom:17px}.cfg-step-body h4{font-size:11px;margin-top:20px}.cfg-layout-grid{margin-top:17px;gap:9px}.cfg-layout-card{padding:13px 8px 11px;gap:7px}.cfg-layout-card svg{width:70px;height:40px}.cfg-layout-card>span,.cfg-layout-card strong{font-size:11px}.cfg-segmented{gap:6px}.cfg-option{font-size:9px!important;padding:10px 4px;min-height:40px}.cfg-check-grid{gap:13px 8px}.cfg-check{font-size:10px}.cfg-details>summary{font-size:10px}.cfg-scope-card{padding:15px;gap:13px;min-height:70px}.cfg-scope-card strong{font-size:12px}.cfg-scope-card small{font-size:9px}.cfg-current-grid{gap:12px}.cfg-field select{font-size:16px}.cfg-preset{padding:12px 9px;gap:9px}.cfg-preset strong{font-size:10px}.cfg-palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 6px}.cfg-swatch{font-size:8px!important}.cfg-swatch>span:first-child,.cfg-swatch-chip{height:37px;max-width:43px}.cfg-zone{font-size:9px!important;padding:7px 10px}.cfg-filter{font-size:9px!important}.cfg-handle-list button{font-size:10px}.cfg-footer{padding:16px 6% 21px;gap:10px}.cfg-button{min-height:43px;font-size:10px!important}.cfg-button-quiet{font-size:9px!important}.cfg-disclaimer{padding:0 6%;font-size:9px;margin-top:18px}.mobile-project-cta.cfg-suppressed{opacity:0;pointer-events:none;transform:translateY(70px)}
}
@media(max-width:380px){.cfg-stage{height:198px}.cfg-preview-title{font-size:10px}.cfg-step{font-size:9px!important;gap:5px}.cfg-step-nav{gap:8px}.cfg-step-body h3{font-size:22px}.cfg-layout-card svg{height:36px}.cfg-swatch>span:last-child{font-size:7px}.cfg-variant img{display:none}}
@media(prefers-reduced-motion:reduce){.cfg-app *{scroll-behavior:auto;transition:none}}
@media print{.cfg-panel,.cfg-variants,.cfg-preview-top,.cfg-preview-bottom,.cfg-disclaimer{display:none}.cfg-app{display:block}.cfg-preview{position:static;box-shadow:none}}
@media(max-width:760px){.cfg-panel,.cfg-step-body{scroll-margin-top:350px}}
@media(max-width:380px){.cfg-panel,.cfg-step-body{scroll-margin-top:315px}}
.cfg-layout-card>span{text-transform:capitalize}
@media(max-width:760px){.cfg-stage{height:180px}.cfg-preview-top{padding-top:8px;padding-bottom:4px}.cfg-preview-bottom{padding-top:6px;padding-bottom:6px}.cfg-preview-bottom .cfg-selection-label{font-size:0}.cfg-preview-bottom .cfg-selection-label strong{font-size:9px}.cfg-preview-bottom .cfg-selection-label br{display:none}.cfg-variants-title{display:none}.cfg-variants{padding-top:6px;padding-bottom:6px}.cfg-panel,.cfg-step-body{scroll-margin-top:290px}}
@media(max-width:380px){.cfg-stage{height:165px}.cfg-panel,.cfg-step-body{scroll-margin-top:275px}}

html{scroll-behavior:auto}
