/* Buying controls follow the readable storefront style without changing other pages. */
.configurator-page{--control-muted:#52624e}.configurator-page header{height:100px;gap:24px}.configurator-page nav a,.configurator-page nav button,.basket-button{font-size:14px}.basket-button{min-height:44px}.basket-button span{width:30px;height:30px;font-size:13px}.intro{padding:38px 0 32px;grid-template-columns:1.25fr 1fr}.intro h1{font-size:clamp(50px,5.5vw,76px);line-height:1.04}.intro-right p{font-size:16px;color:var(--control-muted);line-height:1.85;max-width:470px;margin-bottom:0}.route-choice{margin-bottom:24px}.route-card{padding:22px 25px;min-height:100px}.route-card strong{font-size:17px}.route-card small{font-size:14px;color:var(--control-muted);line-height:1.7}.sofa-offer-banner span{font-size:14px;color:#4d6442}.sofa-offer-banner{gap:25px}.eyebrow{font-size:11px;line-height:1.6}.configuration-panel .panel-header>.eyebrow{font-size:11px}.configurator{grid-template-columns:minmax(0,1fr) minmax(450px,1fr)}.configuration-panel{padding:30px}.configuration-panel h2{font-size:40px;margin:13px 0 28px}.configuration-panel fieldset{margin-bottom:29px}.configuration-panel legend{font-size:16px;line-height:1.6;gap:10px;margin-bottom:15px;flex-wrap:wrap}.configuration-panel legend b{width:26px;height:26px;font-size:12px;flex-shrink:0;background:#f2f4e9}.construction-grid{gap:10px}.construction-option{padding:16px 12px;min-height:148px;transition:background-color .15s,border-color .15s}.construction-option strong{font-size:14px}.construction-option small{font-size:12px;line-height:1.7;color:var(--control-muted)}.construction-option .construction-icon{width:39px;height:25px;margin:4px 0 17px}.construction-option[aria-pressed=true]{background:#eaf0df;box-shadow:0 0 0 1px #48684b}.shape-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.shape-button{padding:14px 5px 12px;min-height:83px}.shape-button svg{width:42px;height:29px}.shape-button span{font-size:12px;line-height:1.5;white-space:normal;margin-top:9px}.shape-button.selected{background:#eaf0df}.field-help{font-size:13px;line-height:1.8;color:var(--control-muted);margin-top:12px}.units{padding:3px;gap:3px}.units button{font-size:13px;min-width:43px;min-height:38px;padding:7px 10px}.dimensions{gap:12px}.dimension-field{font-size:14px;color:#40573c}.dimension-field>span{line-height:1.6;margin-bottom:8px}.dimension-input input{font-size:19px;padding:13px 10px;min-height:52px}.dimension-input small{font-size:13px;color:var(--control-muted)}.dimension-field>.dimension-input{border-color:#b9c6ae}.dimension-input:focus-within{outline:2px solid #63835d;outline-offset:2px}.grade-grid{gap:8px}.grade-button{padding:15px 5px 13px;min-height:80px}.grade-button strong{font-size:13px;line-height:1.5;white-space:normal}.grade-button .bars{height:23px;margin-bottom:10px}.grade-button.selected{border-color:#42684c;box-shadow:0 0 0 1px #42684c}.firmness-scale{margin-top:31px;padding-bottom:42px}.firmness-track{height:12px}.firmness-indicator{top:14px}.firmness-indicator>strong{font-size:12px;line-height:21px}.firmness-endpoints{font-size:12px;top:-20px;color:var(--control-muted)}.colour-note{font-size:12px}.fullness-option{padding:17px 14px;min-height:112px}.fullness-option strong{font-size:15px}.fullness-option small{font-size:13px;color:var(--control-muted)}.fullness-option[aria-pressed=true]{border-color:#42684c;box-shadow:0 0 0 1px #42684c}.finish-card{padding:16px 13px;gap:12px;min-height:82px}.finish-card input,.layers-toggle input{width:19px;height:19px}.finish-card strong{font-size:15px}.finish-card small{font-size:12px;color:var(--control-muted);line-height:1.7}.finish-price{font-size:14px}.construction-note{padding:18px}.construction-note strong{font-size:15px}.construction-note p{font-size:13px;color:#625d48;line-height:1.8}.underlink{font-size:14px;line-height:1.6}.filling-help-link{font-size:13px}.mirror-shape{font-size:13px;min-height:36px}.mobile-preview-link{display:none}.price-block{padding:25px 0 17px}.price-label{font-size:11px}.price{font-size:49px}.price-block small{font-size:12px;color:var(--control-muted);line-height:1.7}.quantity{padding:3px}.quantity button{min-width:38px;min-height:44px;font-size:23px}.quantity input{width:38px;font-size:16px}.piece-recap{padding:16px 18px;margin:0 0 19px;background:#f0f3e8;border:1px solid #d6deca;border-radius:7px}.piece-recap>.eyebrow{font-size:10px;color:#52684b}.piece-recap p{font-size:14px;line-height:1.8;margin:8px 0 0;color:#40573c;overflow-wrap:anywhere}.primary-button{font-size:16px;min-height:56px;padding:17px 22px}.secondary-button{font-size:14px;min-height:46px}.review-project{margin-top:12px}.editing-banner{font-size:14px;padding:17px;line-height:1.7}.error{font-size:14px;line-height:1.7}.preview-top{padding:22px;gap:14px;flex-wrap:wrap}.pill{font-size:10px;line-height:1.5;padding:10px 12px}.canvas-wrap{height:clamp(340px,calc(100dvh - 295px),560px)}.preview-title{left:24px;right:20px;top:12px}.preview-title>span{font-size:30px}.preview-title small{font-size:14px;color:#52624e;line-height:1.5}.drag-hint{font-size:12px;color:#52624e;bottom:16px}.view-controls{padding:10px 20px 20px;gap:9px}.segmented button{font-size:13px;min-height:42px;padding:10px 12px}.icon-button{min-width:40px;min-height:42px}.layers-toggle{font-size:13px;min-height:42px;gap:8px}.view-controls .layers-toggle{font-size:13px}.preview-caption{font-size:12px;color:#52624e;line-height:1.7;flex-wrap:wrap;margin:0 22px;padding:16px 0}.hybrid-key{font-size:13px;padding:15px 22px;gap:12px}.hybrid-key small{font-size:12px;line-height:1.7;color:#52624e}.confidence{padding:19px 22px;gap:17px}.confidence>div>span{font-size:20px}.confidence strong{font-size:12px;line-height:1.5}.confidence small{font-size:11px;line-height:1.7;color:#52624e}.sofa-project{padding:30px}.project-heading p{font-size:15px;color:var(--control-muted);line-height:1.8}.project-presets{gap:10px}.project-presets>button{font-size:14px;min-height:44px;padding:11px 16px}.sofa-offer-status{font-size:14px;color:#40573c}.project-line h3{font-size:17px;line-height:1.5}.project-line p,.project-dialog .project-line p{font-size:14px;color:var(--control-muted);line-height:1.8}.line-actions{gap:10px 18px}.line-actions button{font-size:14px;min-height:36px;padding:4px 0}.offer-role{font-size:13px;flex-wrap:wrap;line-height:1.7}.offer-role select{font-size:14px;padding:9px;max-width:100%}.line-right>strong{font-size:19px}.line-right small{font-size:13px;color:#52624e}.line-quantity button{min-width:38px;min-height:42px;font-size:21px}.line-quantity span{font-size:15px;min-width:24px}.project-line{grid-template-columns:90px minmax(0,1fr) auto;gap:20px}.project-empty p{font-size:15px;color:#52624e}.project-total small{font-size:14px;color:#52624e}.basket-bottom-total>a.primary-button{font-size:16px}.offer-totals>div{font-size:14px;line-height:1.7}.project-dialog{max-width:980px}.dialog-heading h2{font-size:38px}.close{min-width:44px;min-height:44px}.project-dialog .project-line{grid-template-columns:75px minmax(0,1fr) auto}.project-dialog .line-art{width:75px}.project-dialog .project-presets>button{font-size:13px}.muted,dialog p{font-size:15px;color:#52624e;line-height:1.8}.guide-list{font-size:15px;line-height:1.9}.guided-header>.underlink{font-size:14px;max-width:260px}.guided-progress>span{font-size:13px;line-height:1.6}.guided-intro p{font-size:15px;color:#52624e;line-height:1.8}.guided-fields legend{font-size:16px}.guided-option{padding:18px;min-height:96px}.guided-option strong{font-size:15px}.guided-option small{font-size:13px;line-height:1.7;color:#52624e}.guided-note,.guided-feel-note{font-size:14px;line-height:1.8}.guided-summary dt{font-size:13px;color:#52624e}.guided-summary dd{font-size:15px}.guided-footer>span{font-size:13px;color:#52624e}.guided-privacy{font-size:12px;color:#52624e;line-height:1.7}.guided-confirm{font-size:14px}.guided-handoff strong{font-size:16px}.guided-handoff p{font-size:14px;color:#52624e}.guided-fields .shape-button span{font-size:12px}.guided-fields .shape-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.applications p,.application-card small{font-size:14px;color:#52624e;line-height:1.8}.applications p{max-width:none}.application-card>span:not(.mini-art){font-size:16px}.applications .eyebrow{font-size:10px}footer p{font-size:13px;color:#52624e}.toast{font-size:15px;line-height:1.6}
@media(max-width:1120px){.configurator-page header{height:auto;min-height:100px;flex-wrap:wrap;padding:20px 0;gap:18px}.configurator-page header nav{order:3;width:100%;justify-content:space-between;gap:18px}.configurator-page header .basket-button{margin-left:auto}.configurator{grid-template-columns:minmax(0,1fr) minmax(410px,1fr)}.configuration-panel{padding:24px 20px}.construction-option{padding:15px 10px}.construction-option strong{font-size:13px}.construction-option small{font-size:12px}.confidence{display:none}.preview-top{padding:18px}.view-controls{padding:10px 15px 18px}.preview-title{left:20px}.sofa-offer-banner{flex-wrap:wrap;gap:12px}.intro{column-gap:25px}.layers-toggle{margin-left:0!important}.project-line{grid-template-columns:75px minmax(0,1fr) auto}.project-line .line-art{width:75px}}
@media(max-width:860px){.configurator{grid-template-columns:1fr;overflow:visible}.preview-column{position:relative;top:auto;border-radius:12px 12px 0 0;overflow:hidden}.configuration-panel{border-left:0;border-top:1px solid var(--line);padding:28px}.canvas-wrap{height:390px}.construction-option{min-height:135px}.construction-option strong{font-size:15px}.construction-option small{font-size:13px}.mobile-preview-link{display:inline-block;margin-top:14px;min-height:36px}.view-controls{padding:10px 20px 20px}.layers-toggle{margin-left:8px!important}.guided-layout{grid-template-columns:1fr;gap:20px}.guided-intro{padding:22px}.guided-header{align-items:start}.guided-progress{padding-bottom:22px}}
@media(max-width:600px){.configurator-page header nav{display:flex;overflow-x:auto;justify-content:flex-start;padding-bottom:5px;gap:24px}.configurator-page header nav a,.configurator-page header nav button{font-size:14px;white-space:nowrap;min-height:36px}.configurator-page header{padding:15px 0;min-height:0;gap:10px}.intro{display:block;padding:28px 0}.intro h1{font-size:52px}.intro-right{margin-top:20px}.intro-right p{font-size:15px}.intro>.eyebrow{font-size:10px}.route-choice{gap:11px}.route-card{padding:20px;min-height:100px}.route-card strong{font-size:16px}.route-card small{font-size:14px}.sofa-offer-banner{padding:20px}.sofa-offer-banner strong{font-size:27px}.sofa-offer-banner span{font-size:14px}.configuration-panel{padding:25px 18px}.configuration-panel h2{font-size:36px}.construction-grid{grid-template-columns:1fr}.construction-option{min-height:0;display:grid;grid-template-columns:48px 1fr;column-gap:14px;padding:17px 15px;align-items:center}.construction-option .construction-icon{grid-row:1/3;margin:0;width:36px;height:24px}.construction-option strong{font-size:15px}.construction-option small{font-size:13px;margin-top:4px}.shape-button span{font-size:12px}.shape-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dimensions{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension-field{font-size:14px}.dimension-input input{font-size:19px}.canvas-wrap{height:350px}.preview-title>span{font-size:27px}.preview-title small{font-size:13px}.view-controls .layers-toggle{font-size:13px}.view-controls{gap:7px;padding:10px 16px 18px}.segmented button{font-size:13px;padding:10px}.preview-top{padding:17px 16px}.preview-caption{margin:0 16px;font-size:12px}.pill{font-size:9px}.preview-top .underlink{font-size:13px}.hybrid-key{padding:15px 16px}.grade-button strong{font-size:12px}.fullness-option{padding:15px 12px}.finish-card{padding:14px 10px;gap:9px}.finish-swatch{display:none}.finish-card small{font-size:12px}.finish-price{font-size:14px}.finish-card strong{font-size:15px}.price{font-size:44px}.quantity button{min-width:35px}.quantity input{width:30px}.piece-recap{padding:15px}.piece-recap p{font-size:14px}.sofa-project{padding:24px 17px}.project-heading h2{font-size:38px}.project-line,.project-dialog .project-line{grid-template-columns:55px minmax(0,1fr);gap:13px}.project-line .line-art,.project-dialog .line-art{width:55px;height:65px}.project-line h3{font-size:16px}.project-line p,.project-dialog .project-line p{font-size:13px}.line-right{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:12px;text-align:left}.line-right>strong{font-size:18px;margin:0}.line-right small{font-size:12px;margin:0}.basket-bottom-total{display:block;text-align:left;margin-top:22px;padding-top:20px}.basket-bottom-total>strong{font-size:36px;margin:8px 0}.project-dialog{padding:23px 16px}.project-dialog .dialog-heading h2{font-size:32px}.project-presets>button{font-size:13px;padding:10px 12px}.guided-route-panel{padding:24px 18px}.guided-header{display:block}.guided-header>.underlink{max-width:none;text-align:left;font-size:14px}.guided-progress>span{font-size:11px}.guided-option{padding:15px 12px;min-height:100px}.guided-option strong{font-size:14px}.guided-option small{font-size:13px}.guided-footer{gap:10px}.guided-footer>.primary-button{font-size:14px;min-width:125px;min-height:48px}.guided-footer>.secondary-button{font-size:14px}.guided-footer>span{font-size:12px}.guided-privacy{font-size:12px}.guided-measure-art{height:230px}.applications{grid-template-columns:1fr 1fr;gap:24px 17px}.application-card>span:not(.mini-art){font-size:15px}.application-card small{font-size:13px}footer{gap:15px}.intro-right br{display:none}}
@media(prefers-reduced-motion:reduce){.construction-option{transition:none}}
@media(min-width:1121px) and (max-height:830px){.confidence{display:none}.canvas-wrap{height:clamp(300px,calc(100dvh - 280px),500px)}}
/* Keep focus and anchor moves predictable while the live form changes height. */
html:has(body.configurator-page){scroll-behavior:auto}
.preview-column:has(#hybrid-key:not([hidden])) .confidence{display:none}
@media(min-width:861px){.preview-column:has(#hybrid-key:not([hidden])) .canvas-wrap{height:clamp(300px,calc(100dvh - 360px),500px)}}

/* Inline guide buttons align with adjacent copy; round bolster end shares diagram styling. */
button.underlink{padding-inline:0;text-align:left}.guided-measure-art circle{fill:#dbe3cc;stroke:#8a9d76;stroke-width:1.2;vector-effect:non-scaling-stroke}

.guided-measure-art text{font-size:14px}

.basket-added{padding:22px;border:1px solid #9bb38e;border-radius:9px;background:#e7f0df;margin-bottom:24px}.basket-added-heading{display:flex;align-items:center;gap:12px}.basket-added-heading>span{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;background:#234e40;color:#fff;border-radius:50%;font-size:20px}.basket-added h3{font-size:23px;margin:0;line-height:1.3}.basket-added p{font-size:15px;line-height:1.7;margin:14px 0 0}.basket-added .basket-added-reassurance{font-size:14px;color:#52624e}.basket-next-actions{display:flex;gap:12px;margin:20px 0 12px;flex-wrap:wrap}.basket-next-actions>a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.basket-next-actions .primary-button{width:auto;gap:24px}.basket-next-help{font-size:14px;line-height:1.8;color:#52624e;margin-bottom:20px}@media(max-width:760px){.basket-added{padding:18px}.basket-added h3{font-size:21px}.basket-next-actions{display:grid;grid-template-columns:1fr}.basket-next-actions>.primary-button,.basket-next-actions>.secondary-button{width:100%;min-height:54px;font-size:16px;justify-content:center}.basket-next-actions>.primary-button{gap:20px}.basket-next-help{font-size:14px}}

.comfort-help{margin:14px 0;font-size:14px;line-height:1.65}.comfort-help summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.comfort-help dl{display:grid;gap:8px;margin:14px 0}.comfort-help dl>div{display:grid;grid-template-columns:85px 1fr;gap:12px}.comfort-help dt{font-weight:600}.comfort-help dd{margin:0}.comfort-help p,.comfort-context p{color:#52624e;font-size:14px;line-height:1.8}.comfort-context{background:#edf1e4;border-radius:6px;padding:16px;margin:18px 0}.comfort-context strong{font-size:14px}.comfort-context p{margin:6px 0 0}.piece-purpose{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:14px;margin-bottom:18px}.piece-purpose select{min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #bccbad;border-radius:5px;color:inherit;background:#fffef9;font:inherit}
