:root{font-family:var(--font-ui);font-size:var(--font-size-body);line-height:var(--line-height);color:var(--text);background:var(--bg)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:var(--space-5)}
body{margin:0;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button:disabled{cursor:not-allowed;opacity:1;background:var(--surface-2);color:var(--text-muted);border-color:var(--line);border-style:solid}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-width) solid var(--text);outline-offset:var(--space-1)}
img{max-width:100%}
:is(h1,:where([data-seo-heading="h1"],[data-seo-caption="h1"])),:is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])),:is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])),p,figure{margin:0}
:is(h1,:where([data-seo-heading="h1"],[data-seo-caption="h1"])),:is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])),:is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])){font-family:var(--font-display);font-weight:var(--font-weight-display);line-height:var(--line-height-heading);letter-spacing:var(--tracking-heading)}
:is(h1,:where([data-seo-heading="h1"],[data-seo-caption="h1"])){font-size:var(--font-size-h1-desktop)}
:is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2-desktop)}
:is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])){font-size:var(--font-size-h3)}
p{max-width:var(--measure-text)}
.eyebrow{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-eyebrow);line-height:var(--line-height);margin-bottom:var(--space-3)}
.muted,.small{color:var(--muted)}
.small{font-size:var(--font-size-small)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
main,.topbar,footer{width:100%;max-width:var(--content-width);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-8))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5);border-bottom:var(--border-width) solid var(--line)}
.brand{display:flex;flex-direction:column;align-items:center;line-height:var(--line-height);flex-shrink:0}
.brand>span{font-family:var(--font-display);font-size:var(--font-size-brand);letter-spacing:var(--tracking-heading)}
.brand small{font-size:var(--font-size-brand-small);letter-spacing:var(--tracking-brand);margin:var(--space-2) 0 0 var(--space-1)}
.top-note{font-size:var(--font-size-small);color:var(--muted)}
.text-link{font-size:var(--font-size-small);border-bottom:var(--border-width) solid var(--ink);padding-block:var(--space-2)}
.text-link span{display:inline-grid;place-items:center;min-width:var(--counter-size);height:var(--counter-size);background:var(--surface);color:var(--text);border:var(--border-width) solid var(--text);border-radius:var(--radius-round);font-size:var(--font-size-small);margin-left:var(--space-1);padding-inline:var(--space-1)}
.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}
.topbar-actions>.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-secondary-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);white-space:nowrap}
.topbar-actions>.text-link span{border-color:var(--line);margin-left:var(--space-2)}
.button,.family-action,.add-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-secondary-height);padding:var(--space-2) var(--space-5);border:var(--border-width) solid var(--line);border-radius:var(--radius);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-control);text-align:center;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}
.button-dark{min-height:var(--button-primary-height);background:var(--accent);border-color:var(--accent);color:var(--accent-text)}
.add-button{background:transparent;color:var(--text);border-color:var(--line)}
.button-dark:hover:not(:disabled){background:var(--accent);box-shadow:inset 0 0 0 var(--border-width) var(--accent-text)}
.add-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-muted)}
.button-light,.family-action{background:transparent;color:var(--ink);border-color:var(--line)}
.button-light:hover,.family-action:hover{border-color:var(--text-muted);background:var(--surface-2)}
.plain,.text-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:var(--border-width) solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--font-size-body);min-height:var(--button-secondary-height)}
.full{width:100%}
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--space-7);align-items:center;padding-block:var(--space-6)}
.hero .intro{font-size:var(--font-size-body);line-height:var(--line-height);max-width:var(--measure-intro);margin:var(--space-5) 0 var(--space-5);color:var(--muted)}
.hero-photo{background:var(--bg)}
.hero-photo img{display:block;width:100%;height:auto}
.hero-photo figcaption{font-size:var(--font-size-small);color:var(--muted);background:var(--bg);padding-top:var(--space-3)}
.family-section{padding-block:var(--space-7) var(--space-8)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}
.section-heading>p{max-width:var(--measure-heading);color:var(--muted);font-size:var(--font-size-body)}
.section-heading .eyebrow{margin-bottom:var(--space-2)}
.family-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-6) 0}
.family-filters{display:flex;gap:var(--space-2);flex-wrap:wrap}
.family-filters button{padding:var(--space-2) var(--space-4);min-height:var(--button-secondary-height);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);font-size:var(--font-size-body)}
.family-filters button[aria-pressed=true]{background:var(--surface-2);border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 var(--border-width) var(--accent);font-weight:var(--font-weight-semibold)}
#family-result-count{font-size:var(--font-size-small)}
.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.family-card{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;align-content:start;padding:0 0 var(--space-6);border:0;border-bottom:var(--border-width) solid var(--line);background:var(--bg);text-align:left;width:100%;min-width:0}
.family-card:hover .family-action{background:var(--surface-2);border-color:var(--text-muted);color:var(--text)}
.family-card[aria-pressed=true] .family-action{background:var(--surface-2);border-color:var(--accent);color:var(--text)}
.family-visual{width:100%;background:var(--surface)}
.family-visual img{display:block;width:100%;height:auto}
.family-info{padding:var(--space-5) 0 0;min-width:0}
.family-card:nth-child(5n+1){grid-column:1/-1;grid-template-columns:minmax(0,1.85fr) minmax(var(--family-info-width),1fr);align-items:center}
.family-card:nth-child(5n+1) .family-info{padding:var(--space-5) 0 var(--space-5) var(--space-7)}
.family-price{display:block;margin-top:var(--space-3);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--accent)}
.family-name{font-family:var(--font-display);display:block;font-size:var(--font-size-family-desktop);line-height:var(--line-height-heading);letter-spacing:var(--tracking-heading);font-weight:var(--font-weight-display)}
.family-meta{display:block;margin-top:var(--space-4);font-size:var(--font-size-body);line-height:var(--line-height);color:var(--muted)}
.photo-reference{display:block;margin-top:var(--space-2);font-size:var(--font-size-small);line-height:var(--line-height);color:var(--muted)}
.family-action{margin-top:var(--space-5);border-color:var(--line)}
.family-text-visual{display:flex;flex-direction:column;justify-content:center;min-height:var(--empty-image-height);padding:var(--space-6);background:var(--surface)}
.family-text-visual>span{font-size:var(--font-size-h2)}
.family-text-visual>small{margin-top:var(--space-2);font-size:var(--font-size-body);color:var(--muted)}
.model-label{display:none}
body.is-configuring .hero,body.is-configuring #families,body.is-configuring .collection-how,body.is-configuring .collection-faq{display:none}
.model-showcase{padding-block:var(--space-5) var(--space-6)}
#model-back{margin-bottom:var(--space-5)}
.showcase-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-5)}
#showcase-intro{margin-top:var(--space-3)}
.showcase-heading :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h1-desktop)}
.showcase-heading .button-dark{min-height:var(--button-secondary-height);background:transparent;color:var(--text);border-color:var(--line)}
.showcase-heading .button-dark:hover{background:var(--surface-2);box-shadow:none;border-color:var(--text-muted)}
.showcase-gallery{background:var(--surface);touch-action:pan-y pinch-zoom}
.showcase-image-link{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}
.showcase-image-link img,.showcase-gallery>img{display:block;width:100%;height:auto}
.showcase-thumbs{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-3) var(--space-1) var(--space-1);scrollbar-width:thin;scroll-snap-type:x proximity}
.gallery-thumb{flex:0 0 var(--thumbnail-size);min-width:var(--thumbnail-size);width:var(--thumbnail-size);align-self:flex-start;padding:0;border:var(--border-width) solid var(--line);background:var(--surface);scroll-snap-align:start}
.gallery-thumb img{display:block;width:100%;height:auto}
.gallery-thumb[aria-pressed=true]{border:var(--border-selected-width) solid var(--accent)}
.showcase-caption{font-size:var(--font-size-small);color:var(--muted);margin-top:var(--space-2);line-height:var(--line-height)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7);align-items:start;padding-block:var(--space-6) var(--space-8)}
.configuration-step{scroll-margin-top:calc(var(--button-secondary-height) + var(--space-6))}
#form-section{padding-bottom:var(--space-7)}
.builder,.selection{min-width:0}
.fabric-section{padding-top:var(--space-7);border-top:var(--border-width) solid var(--line)}
.fabric-section>p.muted{margin-top:var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height)}
.fabric-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-5)}
.fabric-option{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-4);border:var(--border-width) solid var(--line);background:var(--surface);border-radius:var(--radius);cursor:pointer;font-size:var(--font-size-body);line-height:var(--line-height)}
.fabric-option:has(input:checked){border-color:var(--dark);box-shadow:inset 0 0 0 var(--border-width) var(--dark);background:var(--surface-2)}
.fabric-option input{accent-color:var(--dark);width:var(--radio-size);height:var(--radio-size);flex:0 0 var(--radio-size);margin:var(--space-1) 0 0}
.fabric-option small{display:block;margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-small);line-height:var(--line-height)}
.material-options .fabric-option{padding:var(--space-5) var(--space-4)}
.material-options .fabric-option>span{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height)}
.material-options .fabric-option small{font-size:var(--font-size-small);font-weight:var(--font-weight-normal)}
.material-unconfirmed,.material-inquiry{padding:var(--space-4);border:var(--border-width) solid var(--line);background:var(--surface);font-size:var(--font-size-body);line-height:var(--line-height)}
.material-unconfirmed .button,.material-inquiry .button{margin-top:var(--space-3)}
.material-help:empty{display:none}
.material-help{margin-top:var(--space-4);font-size:var(--font-size-body);line-height:var(--line-height)}
.material-help a{text-decoration:underline;text-underline-offset:var(--space-1)}
.material-status{display:block;margin-top:var(--space-2);font-size:var(--font-size-small);color:var(--muted)}
#material-note{margin-top:var(--space-3)}
#material-note:empty{display:none}
.module-note{margin-bottom:var(--space-4);font-size:var(--font-size-body);color:var(--muted)}
.pill{border:var(--border-width) solid var(--line);padding:var(--space-1) var(--space-3);white-space:nowrap;font-size:var(--font-size-small);border-radius:var(--radius)}
.drawing-link{display:inline-flex;align-items:center;min-height:var(--button-secondary-height);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--line);border-radius:var(--radius);font-size:var(--font-size-body);line-height:var(--line-height)}
.drawing-link small{display:block;font-size:var(--font-size-small);color:var(--muted);margin-top:var(--space-1);text-decoration:none}
.drawings{font-size:var(--font-size-body);margin-top:var(--space-3)}
.drawings summary{cursor:pointer;text-decoration:underline;text-underline-offset:var(--space-1);padding-block:var(--space-1)}
.drawings>p{margin-block:var(--space-3)}
.drawing-reference{display:block;padding-block:var(--space-2);text-decoration:underline}
.drawings img{display:block;width:100%;height:auto;margin-block:var(--space-3)}
.module-search{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-5) 0 var(--space-5);font-size:var(--font-size-body)}
.module-search input{min-width:0;flex:1;width:100%;min-height:var(--button-primary-height);padding:var(--space-3) var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--font-size-body)}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.module-card{display:flex;flex-direction:column;min-width:0;border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.module-selected{border-color:var(--dark);box-shadow:inset 0 0 0 var(--border-width) var(--dark)}
.module-figure{margin:0;background:var(--surface)}
.module-visual{display:block;width:100%;background:var(--surface);padding:0}
.module-image-link{display:block;width:100%;padding:0;border:0;background:var(--surface);cursor:zoom-in}
.module-image{display:block;width:100%;height:auto}
.module-figure.is-drawing .module-visual{background:var(--surface)}
.module-figure.is-drawing .module-image-link{background:transparent}

.module-image-caption{font-size:var(--font-size-small);line-height:var(--line-height);color:var(--muted);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--line)}
.module-image-unavailable{padding:var(--space-4);border-bottom:var(--border-width) solid var(--line);font-size:var(--font-size-body);color:var(--muted)}
.module-body{padding:var(--space-5) var(--space-4);display:flex;flex:1;flex-direction:column}
.module-body :is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])){font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere}
.module-size{margin-top:var(--space-2);font-size:var(--font-size-small);color:var(--muted);line-height:var(--line-height)}
.module-bottom{display:flex;flex-direction:column;gap:var(--space-4);align-items:stretch;margin-top:auto;padding-top:var(--space-5)}
.module-price{color:var(--accent);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height);overflow-wrap:anywhere}
.add-button{width:100%;min-height:var(--button-secondary-height)}
.presets{padding-block:var(--space-5);margin:var(--space-6) 0;border-block:var(--border-width) solid var(--line);font-size:var(--font-size-body)}
.presets summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);cursor:pointer;font-weight:var(--font-weight-semibold);list-style:none;line-height:var(--line-height)}
.presets summary::-webkit-details-marker{display:none}
.presets summary span{font-size:var(--font-size-h3);font-weight:var(--font-weight-normal)}
.presets>p{margin-top:var(--space-4);font-size:var(--font-size-body)}
.preset-button{display:block;width:100%;text-align:left;background:var(--surface);border:var(--border-width) solid var(--line);padding:var(--space-4);margin-top:var(--space-3);font-size:var(--font-size-body)}
.preset-button span{display:block;margin-top:var(--space-1);font-size:var(--font-size-small);color:var(--muted)}
.fabric-detail-section{margin-top:var(--space-6)}
#fabric-group{margin-top:var(--space-4)}
#fabric-group:empty{display:none}
#fabric-options details{grid-column:1/-1;border-top:var(--border-width) solid var(--line);padding-top:var(--space-4)}
#fabric-options details summary{cursor:pointer;padding:var(--space-2) 0;font-size:var(--font-size-body)}
#fabric-options details .fabric-option{margin-top:var(--space-2)}
.selection{scroll-margin-top:calc(var(--button-secondary-height) + var(--space-6))}
.selection-inner{position:static;background:var(--surface);padding:var(--space-5) var(--space-5);border:var(--border-width) solid var(--line)}
.selection :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2);margin-bottom:var(--space-5)}
.selection .eyebrow{font-size:var(--font-size-small);letter-spacing:var(--tracking-eyebrow)}
.empty-selection{padding-block:var(--space-4) var(--space-5);border-block:var(--border-width) solid var(--line);font-size:var(--font-size-body);color:var(--muted);line-height:var(--line-height)}
.selection-line{padding-block:var(--space-4);border-top:var(--border-width) solid var(--line)}
.line-top,.line-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.line-top{align-items:flex-start;flex-wrap:wrap;font-size:var(--font-size-body);line-height:var(--line-height)}
.line-top strong{font-weight:var(--font-weight-semibold)}
.line-top>span{white-space:nowrap}
.selection-line>.small{margin-top:var(--space-2);font-size:var(--font-size-small)}
.line-controls{margin-top:var(--space-3)}
.quantity{display:flex;align-items:center;border:var(--border-width) solid var(--line);background:var(--surface);border-radius:var(--radius)}
.quantity button{width:var(--button-icon-size);height:var(--button-icon-size);border:0;background:none;font-size:var(--font-size-h3)}
.quantity button:hover{background:var(--surface)}
.quantity output{width:var(--quantity-size);text-align:center;font-size:var(--font-size-body)}
.remove-button{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:none;padding:var(--space-2) var(--space-3);min-height:var(--button-secondary-height);color:var(--text);font-size:var(--font-size-body)}
.selection-fabric{padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--line);font-size:var(--font-size-small);color:var(--muted)}
.total{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-5) 0 var(--space-2);font-size:var(--font-size-body)}
.total strong{color:var(--accent);font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);line-height:var(--line-height);white-space:nowrap}
.tax-note{font-size:var(--font-size-small);color:var(--muted);line-height:var(--line-height)}
.configuration-size{margin-top:var(--space-4);background:var(--surface);border:var(--border-width) solid var(--line);padding:var(--space-3);font-size:var(--font-size-small);line-height:var(--line-height)}
.review-note{font-size:var(--font-size-body);line-height:var(--line-height);margin:var(--space-5) 0 var(--space-3)}
.selection .small{font-size:var(--font-size-small);line-height:var(--line-height)}
.selection .button{margin-top:var(--space-5)}
.selection .plain{margin-top:var(--space-1)}
.review-plan-stage{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;min-height:calc(var(--button-icon-size) * 4);max-height:calc(var(--button-icon-size) * 8);margin-bottom:var(--space-5);padding:var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--bg)}
#review-plan{display:block;width:100%;height:100%;max-height:calc(var(--button-icon-size) * 7);overflow:visible}
#review-plan .form-module{cursor:default}
.review-sofa-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height);overflow-wrap:anywhere}
.selection .tax-note a,.review-email{text-decoration:underline;text-underline-offset:var(--space-1)}
.review-fulfillment{margin-block:var(--space-5);font-size:var(--font-size-small);line-height:var(--line-height);color:var(--text-muted)}
.review-fulfillment p+p{margin-top:var(--space-2)}
.review-delivery{margin-block:var(--space-5)}
.review-delivery>p{margin-bottom:var(--space-2);font-size:var(--font-size-small);color:var(--text-muted)}
.review-delivery-options{display:flex;gap:var(--space-2)}
.review-delivery-options button{flex:1;min-width:0;min-height:var(--button-secondary-height);padding:var(--space-3) var(--space-2);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--font-size-small);line-height:var(--line-height)}
.review-delivery-options button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 var(--border-width) var(--accent)}
.review-inquiry-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);margin-top:var(--space-5)}
.selection .review-inquiry-actions .button{margin:0}
.review-email{align-self:flex-start;display:inline-flex;align-items:center;min-height:var(--button-icon-size);font-size:var(--font-size-small)}
#configuration-whatsapp[aria-disabled=true],#configuration-email[aria-disabled=true]{pointer-events:none;opacity:.45}
.configuration-link-fallback{margin-top:var(--space-4);padding:var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--bg)}
.configuration-link-fallback label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-small);line-height:var(--line-height)}
.configuration-link-fallback input{display:block;width:100%;min-width:0;min-height:var(--button-secondary-height);padding:var(--space-2);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-small)}
.selection .configuration-link-fallback .button{margin-top:var(--space-3)}
.review-inquiry-status{margin-top:var(--space-3);overflow-wrap:anywhere}
.review-inquiry-status:empty{display:none}
.spree-footer-contact{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);width:100%}
.spree-footer-contact>a{overflow-wrap:anywhere}
.spree-footer-contact .button{text-decoration:none}
.spree-menu-contact>a[href^="tel:"],.spree-menu-contact>a[href^="mailto:"]{display:flex;grid-column:1/-1;align-items:center;min-height:var(--button-icon-size);font-size:var(--font-size-small);text-decoration:underline;text-underline-offset:var(--space-1);overflow-wrap:anywhere}
.local-note{font-size:var(--font-size-small);line-height:var(--line-height);color:var(--muted);text-align:center}
.bottom-note{border-top:var(--border-width) solid var(--line);padding-block:var(--space-6);margin-top:0}
.bottom-note :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2);letter-spacing:var(--tracking-heading)}
.bottom-note p{margin-top:var(--space-3);font-size:var(--font-size-body);color:var(--muted);line-height:var(--line-height)}
.product-information{display:grid;grid-template-columns:minmax(0,1fr) var(--information-width);gap:var(--space-8);padding-block:var(--space-6) var(--space-8);border-top:var(--border-width) solid var(--line)}
.product-information :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2)}
.product-information p{margin-top:var(--space-4);font-size:var(--font-size-body);line-height:var(--line-height);color:var(--muted)}
.product-information a{text-decoration:underline;text-underline-offset:var(--space-1)}
.warranty-notice img{display:block;width:100%;height:auto;background:var(--surface);filter:none!important;opacity:1}
.warranty-notice figcaption{font-size:var(--font-size-small);line-height:var(--line-height);margin-top:var(--space-3)}
#model-inquiry .button{margin-top:var(--space-5)}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);border-top:var(--border-width) solid var(--line);padding-block:var(--space-5);font-size:var(--font-size-small);color:var(--muted)}
footer a{text-decoration:underline;text-underline-offset:var(--space-1)}
dialog{width:min(var(--dialog-width),calc(100% - var(--space-6)));max-height:calc(100dvh - var(--space-6));padding:var(--space-5);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--dialog-shadow);overflow:auto}
dialog::backdrop{background:var(--backdrop)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.dialog-head .eyebrow{margin:0}
.icon-button{display:grid;place-items:center;width:var(--button-icon-size);height:var(--button-icon-size);min-width:var(--button-icon-size);min-height:var(--button-icon-size);padding:0;background:none;border:var(--border-width) solid var(--line);border-radius:var(--radius);font-size:var(--font-size-h2);line-height:var(--line-height-icon)}
.dialog-head+:is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){margin:var(--space-4) 0 var(--space-3);font-size:var(--font-size-h2)}
dialog>p{font-size:var(--font-size-body);line-height:var(--line-height);color:var(--muted)}
dialog textarea{display:block;width:100%;background:var(--surface);color:var(--ink);resize:vertical;border:var(--border-width) solid var(--line);padding:var(--space-4);font-size:var(--font-size-body);line-height:var(--line-height);margin:var(--space-5) 0 var(--space-4);border-radius:var(--radius)}
.dialog-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}
#inquiry-note{font-size:var(--font-size-small);margin-top:var(--space-3)}
#export-status{min-height:var(--space-5);margin-top:var(--space-3)}
.image-dialog{position:fixed;inset:0;margin:auto;width:min(var(--image-dialog-width),calc(100% - var(--space-5)));height:calc(100dvh - var(--space-5));max-height:calc(100dvh - var(--space-5));max-width:none;padding:var(--image-dialog-headroom) var(--space-4) var(--space-4);overflow:auto;overscroll-behavior:contain}
.image-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center}
.image-close{position:absolute;top:var(--space-2);right:var(--space-4);min-height:var(--button-secondary-height);padding:var(--space-1) var(--space-3);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);font-size:var(--font-size-body)}
#image-full{display:block;width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pinch-zoom}
#image-caption{font-size:var(--font-size-small);color:var(--muted);margin-top:var(--space-3);text-align:center}
.mobile-selection-link{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);bottom:0;left:0;right:0;z-index:40;background:var(--surface);color:var(--text);border-top:var(--border-width) solid var(--line);min-height:var(--mobile-bar-height);padding:var(--space-4) clamp(var(--space-4),4vw,var(--space-8)) calc(var(--space-4) + env(safe-area-inset-bottom));font-size:var(--font-size-body)}
.configuration-bar-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-4);min-width:0}
#mobile-total{color:var(--accent);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}
#configuration-dimensions{font-size:var(--font-size-small);color:var(--text-muted)}
#step-next{flex-shrink:0}
body.is-configuring{padding-bottom:calc(var(--mobile-bar-reserve) + var(--space-5) + env(safe-area-inset-bottom))}
.no-script{padding:var(--space-6);text-align:center}
@media(max-width:1100px){
  .workspace{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
  .selection-inner{position:static}
  .selection{max-width:none}
  .family-card:nth-child(5n+1) .family-info{padding-left:var(--space-5)}
  .hero{gap:var(--space-6)}
  .product-information{gap:var(--space-6)}
}
@media(max-width:760px){
  :is(h1,:where([data-seo-heading="h1"],[data-seo-caption="h1"])){font-size:var(--font-size-h1)}
  :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2)}
  main,.topbar,footer{padding-inline:var(--space-4)}
  .topbar{padding-block:var(--space-4);gap:var(--space-2)}
  .top-note{display:none}
  .brand>span{font-size:var(--font-size-h2)}
  .brand small{font-size:var(--font-size-brand-small);margin-top:var(--space-1)}
  .text-link{font-size:var(--font-size-small)}
  .hero{grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding-block:var(--space-6)}
  .hero :is(h1,:where([data-seo-heading="h1"],[data-seo-caption="h1"])){font-size:var(--font-size-h1)}
  .hero .intro{font-size:var(--font-size-body);margin:var(--space-4) 0 var(--space-5);max-width:var(--measure-intro)}
  .hero .button-dark,#model-inquiry .button-dark{width:100%}
  .hero-photo{margin-inline:calc(-1 * var(--space-4))}
  .hero-photo figcaption{padding-inline:var(--space-4)}
  .family-section{padding-block:var(--space-6) var(--space-7)}
  .section-heading{align-items:flex-start;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}
  .section-heading>p{font-size:var(--font-size-body)}
  .family-toolbar{gap:var(--space-4);margin-block:var(--space-5)}
  .family-filters{gap:var(--space-2);width:100%}
  .family-filters button{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-small)}
  #family-result-count{font-size:var(--font-size-small)}
  .family-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
  .family-card,.family-card:nth-child(5n+1){grid-column:auto;grid-template-columns:minmax(0,1fr);padding-bottom:var(--space-5)}
  .family-visual{width:calc(100% + var(--space-6));margin-inline:calc(-1 * var(--space-4))}
  .family-info,.family-card:nth-child(5n+1) .family-info{padding:var(--space-5) 0 0}
  .family-name{font-size:var(--font-size-h1)}
  .family-meta{margin-top:var(--space-2)}
  .photo-reference{font-size:var(--font-size-small)}
  .family-action{width:100%;margin-top:var(--space-4);min-height:var(--button-secondary-height)}
  .model-showcase{padding-block:var(--space-4) var(--space-5)}
  #model-back{margin-bottom:var(--space-4);font-size:var(--font-size-small)}
  .showcase-heading{align-items:flex-start;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5)}
  .showcase-heading :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h1)}
  .showcase-heading .button{width:100%}
  .showcase-gallery{width:calc(100% + var(--space-6));margin-inline:calc(-1 * var(--space-4))}
  .showcase-thumbs{gap:var(--space-2)}
  .showcase-caption{font-size:var(--font-size-small)}
  .workspace{gap:var(--space-5);padding-bottom:var(--space-6)}
  .fabric-section{padding-top:var(--space-6)}
  #form-section{padding-bottom:var(--space-6)}
  .fabric-options{grid-template-columns:minmax(0,1fr);gap:var(--space-2);margin-top:var(--space-4)}
  .material-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .material-options .fabric-option{padding:var(--space-4) var(--space-3);gap:var(--space-2)}
  .material-options .fabric-option>span{font-size:var(--font-size-h3)}
  .material-options .fabric-option small{font-size:var(--font-size-small)}
  .material-options .fabric-option input{width:var(--radio-size);height:var(--radio-size);flex-basis:var(--radio-size)}
  .module-search{align-items:stretch;flex-direction:column;gap:var(--space-2);margin:var(--space-5) 0 var(--space-4)}
  .module-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
  .module-body{padding:var(--space-5) var(--space-4)}
  .module-bottom{gap:var(--space-4);padding-top:var(--space-5)}
  .module-body :is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])){font-size:var(--font-size-h3)}
  .module-price{color:var(--accent);font-size:var(--font-size-h3)}
  .module-size{font-size:var(--font-size-body)}
  .module-image-caption{font-size:var(--font-size-small)}
  .selection-inner{padding:var(--space-5) var(--space-4)}
  .selection :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2)}
  .bottom-note{padding-block:var(--space-5)}
  .bottom-note :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2)}
  .product-information{grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-6) var(--space-7)}
  .warranty-notice{max-width:var(--warranty-width)}
  footer{gap:var(--space-4) var(--space-5);padding-block:var(--space-5)}
  footer>span{width:100%}

  .mobile-selection-link{gap:var(--space-3);padding-inline:var(--space-4)}
  .configuration-bar-summary{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}
  #step-next{padding-inline:var(--space-3)}
  .dialog-actions{flex-direction:column}
  .dialog-actions .button{width:100%}
  dialog{padding:var(--space-5) var(--space-4)}
  .image-dialog{padding:var(--image-dialog-headroom) var(--space-2) var(--space-4);width:calc(100% - var(--space-3))}
  #image-full{max-height:calc(100dvh - var(--image-dialog-mobile-reserve))}
}
@media(max-width:360px){
  .topbar-actions{gap:var(--space-2)}
  .topbar-actions>.text-link{padding-inline:var(--space-2)}
  .material-options{grid-template-columns:minmax(0,1fr)}
  .family-filters button{flex:auto;width:100%}
  .text-link{font-size:var(--font-size-small)}
  .mobile-selection-link{flex-direction:column;align-items:stretch}
  .configuration-bar-summary{flex-direction:row;justify-content:space-between;align-items:baseline;gap:var(--space-2)}
  #step-next{width:100%}
  body.is-configuring{padding-bottom:calc(var(--mobile-bar-reserve) + var(--button-primary-height) + var(--space-5) + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
  .topbar,.hero,.family-section,.collection-how,.collection-faq,.config-steps,.model-showcase,.builder,.bottom-note,.product-information,footer,.selection button,.local-note,dialog,.mobile-selection-link{display:none!important}
  body.is-configuring{padding:0}
  .workspace{display:block!important}.selection-inner{position:static;border:0;background:var(--surface)}.selection{width:100%}.selection-line{break-inside:avoid}.quantity{border:0}.quantity output{width:auto}main{padding:0}
}

.material-unconfirmed{flex-direction:column;align-items:flex-start}

.module-view-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4) 0}
.module-view-tabs button{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-height:var(--button-secondary-height);font-size:var(--font-size-body)}
.module-view-tabs button[aria-pressed=true]{background:var(--surface-2);color:var(--text);border-color:var(--accent);box-shadow:inset 0 0 0 var(--border-width) var(--accent);font-weight:var(--font-weight-semibold)}
.module-variant-note{padding:var(--space-2) var(--space-4) 0;font-size:var(--font-size-small);color:var(--muted)}

.module-3d-button{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:calc(100% - var(--space-6));min-height:var(--button-secondary-height);margin:0 var(--space-4) var(--space-4);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}
.module-3d-button:hover:not(:disabled){background:var(--surface)}
.module-3d-button span{font-size:var(--font-size-h3);line-height:var(--line-height)}
.module-3d-error{padding:0 var(--space-4) var(--space-4);color:var(--ink);font-size:var(--font-size-small)}
.spree-3d-dialog{width:min(var(--viewer-dialog-width),calc(100% - var(--space-6)));max-width:none;max-height:calc(100dvh - var(--space-5));padding:0;overflow:auto;overscroll-behavior:contain}
.spree-3d-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--line);background:var(--surface)}
.spree-3d-header :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h3);line-height:var(--line-height);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere}
.spree-3d-close{flex-shrink:0;min-height:var(--button-secondary-height);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-2) var(--space-3);font-size:var(--font-size-body)}
.spree-3d-stage{position:relative;isolation:isolate;width:100%;height:clamp(var(--viewer-min-height),58dvh,var(--viewer-max-height));background:var(--surface);overflow:hidden}
.spree-3d-poster{display:block;width:100%;height:100%;object-fit:contain;background:var(--surface)}
.spree-3d-stage:not(.is-ready):not(.has-error) .spree-3d-poster{opacity:.45}
.spree-3d-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:calc(-1 * var(--space-1))}
.spree-3d-canvas:active{cursor:grabbing}
.spree-3d-canvas:focus-visible{outline:var(--focus-width) solid var(--text)}
.spree-3d-status{position:absolute;z-index:1;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);width:fit-content;max-width:calc(100% - var(--space-6));margin-inline:auto;padding:var(--space-3) var(--space-4);background:var(--surface);border:var(--border-width) solid var(--line);font-size:var(--font-size-body);text-align:center;color:var(--ink)}
.spree-3d-dialog .spree-3d-instructions{max-width:none;margin:0;padding:var(--space-4) var(--space-5) var(--space-2);color:var(--ink);font-size:var(--font-size-body);text-align:center;line-height:var(--line-height)}
.spree-3d-toolbar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-1) var(--space-5) var(--space-3)}
.spree-3d-control{display:inline-flex;align-items:center;justify-content:center;width:var(--button-icon-size);height:var(--button-icon-size);min-width:var(--button-icon-size);min-height:var(--button-icon-size);padding:0;border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--font-size-h3);line-height:var(--line-height-icon)}
.spree-3d-control[data-view3d-action=reset]{width:auto;height:auto;min-height:var(--button-secondary-height);padding:var(--space-2) var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height-control)}
.spree-3d-control:hover:not(:disabled),.spree-3d-close:hover{background:var(--surface);border-color:var(--dark)}
.spree-3d-dialog .spree-3d-caption{max-width:none;margin:0;padding:0 var(--space-5) var(--space-4);font-size:var(--font-size-small);line-height:var(--line-height);color:var(--muted);text-align:center}
@media(max-width:700px){
  .spree-3d-dialog{width:calc(100% - var(--space-4));max-height:calc(100dvh - var(--space-4));padding:0}
  .spree-3d-header{padding:var(--space-3) var(--space-3);gap:var(--space-2)}
  .spree-3d-header :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h3)}
  .spree-3d-close{padding-inline:var(--space-2);font-size:var(--font-size-body)}
  .spree-3d-stage{height:clamp(var(--viewer-mobile-min-height),51dvh,var(--viewer-mobile-max-height))}
  .spree-3d-dialog .spree-3d-instructions{padding:var(--space-3) var(--space-3) var(--space-2);font-size:var(--font-size-small)}
  .spree-3d-toolbar{gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-3)}
  .spree-3d-control{min-width:var(--button-icon-size);min-height:var(--button-icon-size)}
  .spree-3d-control[data-view3d-action=reset]{font-size:var(--font-size-body)}
  .spree-3d-dialog .spree-3d-caption{padding:0 var(--space-4) var(--space-4);font-size:var(--font-size-small)}
}
@media(max-height:560px) and (orientation:landscape){
  .spree-3d-stage{height:65dvh;min-height:var(--viewer-landscape-min-height)}
  .spree-3d-header{position:sticky;top:0;z-index:2;padding-block:var(--space-2)}
}

/* Current and future photos keep their intrinsic proportions. */
.hero-photo img,.family-visual img,.showcase-image-link img,.showcase-gallery>img,.gallery-thumb img,.module-image,.drawings img{aspect-ratio:auto;max-width:100%}
input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}
#spree-order-details{display:block;max-width:none}
#spree-order-details :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){margin-bottom:var(--space-4)}
#spree-order-details>details{padding-block:var(--space-3)}
#product-information>.order-details{border-top:var(--border-width) solid var(--line);padding-block:var(--space-3)}
#product-information>.order-details>summary{cursor:pointer;min-height:var(--button-icon-size);padding-block:var(--space-2)}
#spree-order-details>details>summary{cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height);min-height:var(--button-icon-size)}
#spree-order-details>details>p{margin-top:var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height)}
#spree-order-details .warranty-notice{max-width:var(--warranty-width);margin-top:var(--space-4)}
.model-details{border-top:var(--border-width) solid var(--line);padding-block:var(--space-4);background:var(--surface);color:var(--text)}
.model-details>summary{cursor:pointer;min-height:var(--button-icon-size);padding-block:var(--space-2);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height)}
.model-details>p{margin-top:var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height)}
.model-details a{text-decoration:underline;text-underline-offset:var(--space-1)}

/* Phase 2: collection, three-step navigation and the public main menu. */
.collection-how,.collection-faq{border-top:var(--border-width) solid var(--line);padding-block:var(--space-7)}
.collection-how ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);padding:0;margin:var(--space-6) 0 0;list-style:none}
.collection-how li{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-body)}
.collection-how svg{flex:0 0 var(--space-6);width:var(--space-6);height:var(--space-6)}
.collection-faq :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){margin-bottom:var(--space-5)}
.collection-faq details{border-top:var(--border-width) solid var(--line);padding-block:var(--space-2)}
.collection-faq details:last-child{border-bottom:var(--border-width) solid var(--line)}
.collection-faq summary{cursor:pointer;min-height:var(--button-secondary-height);padding-block:var(--space-3);font-weight:var(--font-weight-semibold)}
.collection-faq details p{margin-block:var(--space-2) var(--space-4);color:var(--text-muted)}
.collection-faq a{text-decoration:underline;text-underline-offset:var(--space-1)}
.config-steps{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);background:var(--bg);border-block:var(--border-width) solid var(--line);padding-block:var(--space-2)}
.config-steps a{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--button-secondary-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid transparent;border-radius:var(--radius);font-weight:var(--font-weight-semibold)}
.config-steps a[aria-current=step]{background:var(--surface);border-color:var(--accent)}
.config-steps span{color:var(--text-muted)}
.config-steps a[aria-current=step] span{color:var(--accent)}
#product-information>summary{display:list-item;padding-block:var(--space-2)}
.model-documents{margin-block:var(--space-5)}
.model-documents .drawings summary{min-height:var(--button-secondary-height);padding-block:var(--space-3)}
.icon-button svg{width:var(--menu-icon-size);height:var(--menu-icon-size)}
.spree-menu{position:fixed;inset:auto 0 0;width:min(100%,var(--dialog-width));max-width:none;max-height:calc(100dvh - var(--space-4));margin:0 auto;padding:0;overscroll-behavior:contain;border-radius:var(--radius) var(--radius) 0 0}
.spree-menu-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border-bottom:var(--border-width) solid var(--line)}
.spree-menu-head :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2)}
.spree-menu nav{padding:var(--space-4) var(--space-5)}
.spree-menu-account{display:flex;align-items:center;min-height:var(--button-secondary-height);color:var(--text-muted)}
.spree-menu ul{list-style:none;margin:0;padding:0}
.spree-menu-list>li{border-bottom:var(--border-width) solid var(--line)}
.spree-menu-list summary,.spree-menu-list a{min-height:var(--button-secondary-height);padding-block:var(--space-3);font-size:var(--font-size-body)}
.spree-menu-list summary{cursor:pointer;font-weight:var(--font-weight-semibold)}
.spree-menu-list a{display:flex;align-items:center}
.spree-menu-list>li>a{font-weight:var(--font-weight-semibold)}
.spree-menu-list details ul{padding:0 var(--space-4) var(--space-3)}
.spree-menu-list details a{color:var(--text-muted)}
.spree-menu-list a:hover{color:var(--text);text-decoration:underline;text-underline-offset:var(--space-1)}
.spree-menu .spree-menu-languages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-5)}
.spree-menu-languages a{display:flex;align-items:center;min-height:var(--button-icon-size);font-size:var(--font-size-small)}
.spree-menu-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:var(--space-5);border-top:var(--border-width) solid var(--line)}
.spree-menu-contact p{grid-column:1/-1;font-size:var(--font-size-body);color:var(--text-muted)}
.spree-menu-contact strong{color:var(--text)}
.spree-menu-contact .button{margin-top:var(--space-2);align-self:start}
.spree-menu-footer{display:flex;gap:var(--space-5);padding:0 var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));font-size:var(--font-size-small)}
.spree-menu-footer a{display:flex;align-items:center;min-height:var(--button-icon-size);text-decoration:underline;text-underline-offset:var(--space-1)}
@media(max-width:760px){
  .collection-how,.collection-faq{padding-block:var(--space-6)}
  .collection-how ul{gap:var(--space-4);margin-top:var(--space-5)}
  .collection-how li{flex-direction:column;align-items:flex-start;gap:var(--space-3);font-size:var(--font-size-small)}
  .config-steps{gap:var(--space-1);margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4)}
  .config-steps a{padding-inline:var(--space-2);gap:var(--space-2);font-size:var(--font-size-small)}
  .spree-menu-head,.spree-menu nav,.spree-menu-contact{padding-inline:var(--space-4)}
  .spree-menu-footer{padding-inline:var(--space-4)}
}

/* Phase 3: the form builder stays inside its own configuration step. */
.form-preview{position:sticky;top:var(--form-sticky-top,calc(var(--button-secondary-height) + var(--space-4) + var(--border-selected-width)));z-index:25;background:var(--bg);border:var(--border-width) solid var(--line);border-radius:var(--radius);margin-bottom:var(--space-5)}
.form-preview-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--line)}
.form-preview-head p{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}
.form-stage{position:relative;height:min(calc(40svh - var(--button-icon-size) - var(--space-6) - var(--space-5)),calc(100dvh - var(--form-sticky-top,calc(var(--button-secondary-height) + var(--space-4))) - var(--form-footer-height,var(--mobile-bar-reserve)) - var(--button-icon-size) - var(--space-8)));min-height:var(--button-icon-size);overflow:hidden;touch-action:pan-y pinch-zoom}
#form-plan{display:block;width:100%;height:100%;overflow:visible}
.form-module{cursor:pointer;outline:none}
.form-module-shape{fill:var(--surface-2);stroke:var(--text-muted);stroke-width:var(--border-width);vector-effect:non-scaling-stroke;stroke-linejoin:round}
.form-module.is-schematic .form-module-shape{stroke-dasharray:var(--space-1) var(--space-1)}
.form-module:focus-visible .form-module-shape,.form-module.is-selected .form-module-shape{stroke:var(--accent);stroke-width:var(--border-selected-width)}
.form-module-backrest{stroke:var(--text-muted);stroke-width:var(--space-2);stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.form-module-label{fill:var(--text);font-family:var(--font-ui);font-weight:var(--font-weight-semibold);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.form-measure-line{fill:none;stroke:var(--text-muted);stroke-width:var(--border-width);vector-effect:non-scaling-stroke}
.form-measure-text{fill:var(--text);font-family:var(--font-ui);text-anchor:middle;dominant-baseline:central}
.form-plan-controls{position:absolute;inset:0;pointer-events:none}
.form-add-end{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border-radius:var(--radius-round);background:var(--surface);border-color:var(--accent);color:var(--accent);font-family:var(--font-ui);font-size:var(--font-size-h3)}
.form-plan-caption{max-width:none;padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--line);font-size:var(--font-size-small);color:var(--text-muted)}
.form-empty{padding:var(--space-5) var(--space-4);text-align:center}
.form-empty p{max-width:none}
.form-empty p+p{margin-top:var(--space-2)}
.form-preview.is-empty{position:relative;top:auto}
.form-preview.is-empty .form-stage{height:auto;min-height:0}
.form-preview.is-empty #form-plan,.form-preview.is-empty .form-plan-controls{display:none}
.form-presets{margin:var(--space-5) 0;padding-block:var(--space-3)}
.form-presets>summary{min-height:var(--button-secondary-height)}
.form-start-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding-top:var(--space-3)}
.form-start-button{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);font-size:var(--font-size-body);text-align:left}
.form-start-button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 var(--border-width) var(--accent)}
.form-start-button svg{display:block;width:100%;height:calc(var(--thumbnail-size) + var(--space-5));pointer-events:none}
.form-start-button strong{font-weight:var(--font-weight-semibold)}
.form-start-button small{font-size:var(--font-size-small);color:var(--text-muted)}
.form-start-price{color:var(--accent);font-weight:var(--font-weight-semibold)}
.form-selected{margin-top:var(--space-6)}
.form-selected :is(h3,:where([data-seo-heading="h3"],[data-seo-caption="h3"])){margin-bottom:var(--space-4);font-size:var(--font-size-h3)}
.form-selected-list{padding:0;margin:0;list-style:none}
.form-selected-list>li{border-top:var(--border-width) solid var(--line)}
.form-selected-list>li:last-child{border-bottom:var(--border-width) solid var(--line)}
.form-selected-empty{padding-block:var(--space-4);color:var(--text-muted);font-size:var(--font-size-body)}
.form-selected-button,.module-choice{display:grid;grid-template-columns:calc(var(--space-6) + var(--space-5)) minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;min-height:calc(var(--space-6) + var(--space-5));padding:var(--space-3) 0;border:0;background:transparent;color:var(--text);font-size:var(--font-size-body);text-align:left}
.form-selected-image,.module-choice-image{display:block;width:calc(var(--space-6) + var(--space-5));height:calc(var(--space-6) + var(--space-5));object-fit:contain}
.form-selected-image-missing{display:grid;place-items:center;width:calc(var(--space-6) + var(--space-5));height:calc(var(--space-6) + var(--space-5));color:var(--text-muted);border:var(--border-width) solid var(--line);border-radius:var(--radius)}
.form-selected-image-missing svg{width:var(--space-6);height:var(--space-6)}
.form-selected-info,.module-choice-info{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}
.form-selected-info strong,.module-choice-info strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}
.form-selected-info small,.module-choice-info small{font-size:var(--font-size-small);color:var(--text-muted)}
.form-selected-price,.module-choice-price{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--accent);white-space:nowrap}
.module-sheet{position:fixed;inset:auto 0 0;width:min(100%,var(--dialog-width));max-width:none;max-height:calc(100dvh - var(--space-4));margin:0 auto;padding:0;overscroll-behavior:contain;border-radius:var(--radius) var(--radius) 0 0}
.module-sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-bottom:var(--border-width) solid var(--line);background:var(--surface)}
.module-sheet-head :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2);overflow-wrap:anywhere}
.module-sheet-content{padding:0 var(--space-4)}
.module-sheet-choices>.module-choice{border-bottom:var(--border-width) solid var(--line);padding-block:var(--space-4)}
.module-choice:hover{background:var(--surface-2)}
.module-choice:disabled{background:transparent;border-inline:0}
.module-sheet .module-grid{display:block;padding-block:var(--space-4)}
.module-sheet .module-card{border:0;background:transparent}
.module-sheet .module-body{padding-inline:0}
.module-sheet-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:var(--space-3);flex-wrap:wrap;background:var(--surface);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:var(--border-width) solid var(--line)}
.module-sheet-actions:empty{display:none}
.module-sheet-actions>.button{flex:1}
@media(max-width:360px){
  .form-start-list{grid-template-columns:minmax(0,1fr)}
  .form-selected-button,.module-choice{grid-template-columns:calc(var(--space-6) + var(--space-5)) minmax(0,1fr)}
  .form-selected-image,.form-selected-image-missing,.module-choice-image{grid-row:1/3}
  .form-selected-price,.module-choice-price{grid-column:2}
}
@media print{.form-preview,.module-sheet{display:none!important}}

.module-choice-row{display:grid;grid-template-columns:minmax(0,1fr) var(--button-icon-size);align-items:center;gap:var(--space-3);border-bottom:var(--border-width) solid var(--line)}
.module-choice-row .module-choice{min-width:0;padding-block:var(--space-4)}
.module-choice-details{align-self:center}
@media(max-width:360px){.module-choice-row{gap:var(--space-2)}}

.form-start-button,.form-selected-button,#form-add-single{scroll-margin-block-start:calc(var(--form-sticky-top,var(--button-secondary-height)) + var(--form-preview-height,0px) + var(--space-3));scroll-margin-block-end:calc(var(--form-footer-height,var(--mobile-bar-reserve)) + var(--space-3))}
@media(max-height:560px) and (orientation:landscape){
  .form-preview-head{padding-block:0}
  .form-plan-caption{padding-block:0}
  .form-stage{height:calc(40svh - var(--button-icon-size) - var(--space-5))}
}

.form-measure-text{paint-order:stroke;stroke:var(--bg);stroke-width:var(--space-2);stroke-linejoin:round;vector-effect:non-scaling-stroke}

/* Spree Living upholstery: actual fabric images, isolated from product imagery. */
.upholstery-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}
.upholstery-heading>p{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}
.upholstery-heading>.button{flex-shrink:0}
.upholstery-selection{display:flex;align-items:center;gap:var(--space-4);min-height:calc(var(--swatch-size) + var(--space-6));padding:var(--space-4);margin-bottom:var(--space-5);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface)}
.upholstery-selection-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:var(--space-1)}
.upholstery-selection-copy strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}
.upholstery-selection-copy small{font-size:var(--font-size-small);color:var(--text-muted)}
.upholstery-selection-copy .upholstery-request{color:var(--accent)}
.upholstery-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.upholstery-filter{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;font-size:var(--font-size-small);color:var(--text-muted)}
.upholstery-filter select{display:block;width:100%;min-height:var(--button-secondary-height);padding:var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--font-ui);font-size:var(--font-size-body)}
.upholstery-filter select:focus-visible{outline:var(--focus-width) solid var(--text);outline-offset:var(--space-1)}
.upholstery-colour-filters{display:flex;grid-column:1/-1;gap:var(--space-2);flex-wrap:wrap}
.upholstery-colour-filters button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-secondary-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:transparent;color:var(--text);font-size:var(--font-size-small)}
.upholstery-colour-filters button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 var(--border-width) var(--accent);background:var(--surface)}
.upholstery-results{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5)}
.upholstery-results>.text-button{font-size:var(--font-size-small)}
#fabric-options.upholstery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--swatch-size) + var(--space-8)),1fr));gap:var(--space-5) var(--space-4);margin-top:var(--space-5);overflow-anchor:none}
.upholstery-card{display:flex;flex-direction:column;align-items:center;min-width:0}
.upholstery-choice{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-2);width:100%;min-width:0;padding:var(--space-2) 0;border:0;border-radius:var(--radius);background:transparent;color:var(--text);font-size:var(--font-size-body);line-height:var(--line-height);text-align:center}
.upholstery-choice:disabled{background:transparent;border:0;color:var(--text-muted);opacity:1}
.upholstery-swatch{display:flex;flex:0 0 var(--swatch-size);width:var(--swatch-size);height:var(--swatch-size);overflow:hidden;align-items:stretch;justify-content:center;border:var(--border-width) solid var(--line);border-radius:var(--radius-round);background:var(--surface);outline:var(--border-selected-width) solid transparent;outline-offset:var(--space-1)}
.upholstery-swatch-image{display:block;flex:1;min-width:0;width:100%;height:100%;object-fit:cover;filter:none;opacity:1}
.upholstery-swatch-part{display:flex;flex:1;min-width:0;overflow:hidden}
.upholstery-choice[aria-checked=true] .upholstery-swatch,.upholstery-selection .upholstery-swatch{outline-color:var(--accent)}
.upholstery-choice strong{display:block;max-width:100%;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}
.upholstery-choice small{display:block;font-size:var(--font-size-small);color:var(--text-muted)}
.upholstery-choice .upholstery-request{color:var(--accent)}
.upholstery-details{flex-shrink:0;margin-top:var(--space-1);color:var(--text-muted)}
.upholstery-details:hover{color:var(--text);border-color:var(--text-muted)}
.upholstery-image-status{display:grid;place-items:center;width:100%;min-width:0;padding:var(--space-1);font-size:var(--font-size-small);line-height:var(--line-height);color:var(--text-muted);text-align:center}
.upholstery-no-results{grid-column:1/-1;padding-block:var(--space-5);color:var(--text-muted);font-size:var(--font-size-body)}
.upholstery-more{margin-top:var(--space-6)}
.upholstery-sheet{position:fixed;inset:auto 0 0;width:min(100%,var(--dialog-width));max-width:none;max-height:calc(100dvh - var(--space-4));margin:0 auto;padding:0;overscroll-behavior:contain;border-radius:var(--radius) var(--radius) 0 0}
.upholstery-sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border-bottom:var(--border-width) solid var(--line)}
.upholstery-sheet-head :is(h2,:where([data-seo-heading="h2"],[data-seo-caption="h2"])){font-size:var(--font-size-h2);overflow-wrap:anywhere}
.upholstery-sheet-content{padding:var(--space-4)}
.upholstery-sheet-enlarge{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
#upholstery-sheet-image{display:block;width:100%;height:auto;object-fit:contain;filter:none;opacity:1}
.upholstery-sheet-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.upholstery-sheet-components img{display:block;width:100%;height:auto;filter:none;opacity:1}
.upholstery-sheet-components button,.upholstery-sheet-components a{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.upholstery-sheet-components p{margin-top:var(--space-2);font-size:var(--font-size-small);color:var(--text-muted)}
.upholstery-sheet-facts{font-size:var(--font-size-body);overflow-wrap:anywhere}
.upholstery-sheet-facts:empty{display:none}
.upholstery-sheet-facts p,.upholstery-sheet-facts dl{margin-top:var(--space-5)}
.upholstery-sheet-facts dt{margin-top:var(--space-4);font-weight:var(--font-weight-semibold)}
.upholstery-sheet-facts dd{margin:var(--space-1) 0 0;color:var(--text-muted)}
.upholstery-sheet-facts .upholstery-request{color:var(--accent)}
.upholstery-sheet-actions{position:sticky;bottom:0;z-index:2;padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--surface);border-top:var(--border-width) solid var(--line)}
@media(max-width:760px){
  .upholstery-heading{align-items:flex-start;flex-direction:column;gap:var(--space-3)}
  .upholstery-controls{gap:var(--space-3)}
  #fabric-options.upholstery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5) var(--space-3)}
  .upholstery-choice strong{font-size:var(--font-size-small)}
  .upholstery-selection{gap:var(--space-3);padding:var(--space-3)}
}
@media(max-width:360px){
  .upholstery-controls{grid-template-columns:minmax(0,1fr)}
  .upholstery-selection{flex-wrap:wrap}
  .upholstery-selection>.upholstery-details{margin-left:auto}
}
@media print{.upholstery-sheet{display:none!important}}

.upholstery-selection.is-empty{min-height:var(--button-secondary-height);padding-block:var(--space-2)}
.upholstery-component span{display:block;margin-top:var(--space-2);font-size:var(--font-size-small);color:var(--text-muted)}
@media(max-width:760px){
  .upholstery-colour-filters{min-width:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;padding:var(--space-2);scrollbar-width:thin;overscroll-behavior-x:contain}
  .upholstery-colour-filters button{flex-shrink:0}
}

/* Phase 8: only the requested assembled-sofa sheet and its two launch actions. */
.sofa-ar-open{margin-block:var(--space-3)}
.sofa-ar-sheet{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg);color:var(--text);overscroll-behavior:contain}
.sofa-ar-sheet[open]{display:flex;flex-direction:column}
.sofa-ar-head{display:flex;justify-content:flex-end;flex:none;padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-3);background:var(--surface);border-bottom:var(--border-width) solid var(--line)}
.sofa-ar-status{margin:auto;padding:var(--space-5);text-align:center}
.sofa-ar-sheet model-viewer{display:block;flex:1;min-height:0;width:100%;background:var(--bg)}
.sofa-ar-sheet model-viewer[hidden],.sofa-ar-status[hidden]{display:none}
.sofa-ar-room{position:absolute;left:50%;bottom:calc(var(--space-5) + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - var(--space-6));white-space:normal}
@media print{.sofa-ar-sheet,.sofa-ar-open{display:none!important}}

[data-seo-heading]{display:block}
.kitchen-planner-heading{padding-bottom:0}
