.sauna-builder{background:#e3ebdf;color:#2b3e38;padding:clamp(32px,4.5vw,72px) 4.5vw;scroll-margin-top:24px}.builder-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}.builder-gallery{position:sticky;top:24px}.builder-gallery figure{position:relative;margin:0;border-radius:8px;overflow:hidden;background:#20332d}.builder-gallery figure>img{display:block;width:100%;height:auto;aspect-ratio:.8;object-fit:cover}.builder-gallery figcaption{position:absolute;bottom:0;inset-inline:0;padding:48px 22px 22px;background:linear-gradient(transparent,#000b);color:white;font:14px/1.5 Helvetica,Arial,sans-serif}.preview-note{font-size:13px;line-height:1.5;color:#43564d;margin:12px 0 0}.builder-controls{min-width:0}.builder-controls h2{font-size:clamp(2.3rem,4.2vw,4.2rem);margin:0 0 28px;line-height:1.08}.builder-controls fieldset{border:0;border-top:1px solid #2b3e3838;padding:20px 0 24px;margin:0;min-width:0}.builder-controls legend{float:left;width:100%;font:400 22px/1.2 Georgia,serif;margin-bottom:18px;padding:0}.choice-pair{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.choice-pair button{padding:0;border:0;border-radius:6px;background:transparent;color:#2b3e38;cursor:pointer;font:inherit;text-align:left;min-width:0}.choice-photo{position:relative;border:2px solid transparent;border-radius:7px;overflow:hidden}.choice-photo img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}.choice-check{display:none;position:absolute;top:9px;right:9px;width:27px;height:27px;border-radius:50%;background:#2b3e38;color:#e3ebdf;place-items:center;font-size:17px}.choice-pair button[aria-pressed=true] .choice-photo{border-color:#2b3e38}.choice-pair button[aria-pressed=true] .choice-check{display:grid}.choice-pair button:focus-visible{outline:2px solid #2b3e38;outline-offset:5px}.choice-pair strong{display:block;font-size:17px;line-height:1.3;font-weight:400;margin:10px 0 5px}.choice-dimensions{display:block;font-size:14px;line-height:1.5;color:#43564d}.choice-price{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:16px;line-height:1.5;color:#2b3e38;margin-top:5px}.choice-price del,.summary-price del{color:#58665b;font-size:14px;font-weight:400}.interior-included{clear:both;font-size:14px;line-height:1.5;color:#43564d;margin:0 0 14px}.builder-summary{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #2b3e3838;padding-top:22px;margin-top:0}.builder-summary span{font-size:14px;color:#43564d}.builder-summary p{margin:7px 0;font-size:16px;line-height:1.4}.summary-price{text-align:right}.summary-price p{display:flex;gap:8px 12px;align-items:baseline;justify-content:flex-end;flex-wrap:wrap}.summary-price strong{font-size:23px;color:#2b3e38;font-weight:500;white-space:nowrap}.builder-controls #sauna-enquiry{width:100%;margin-top:22px;background:#2b3e38;color:#e3ebdf;min-height:52px}.builder-controls #sauna-enquiry:hover{background:#1e3029;color:#fff}.builder-delivery{font-size:13px;line-height:1.6;color:#43564d;margin:14px 0 0}@media(max-width:1050px){.builder-grid{grid-template-columns:1fr 1fr;gap:26px}.choice-pair{gap:12px}.builder-summary{flex-direction:column}.summary-price{text-align:left}.summary-price p{justify-content:flex-start}}@media(max-width:800px){.sauna-builder{padding:32px 22px}.builder-grid{grid-template-columns:1fr;gap:28px}.builder-gallery{position:static}.builder-gallery figure>img{aspect-ratio:1.15}.builder-controls h2{font-size:2.6rem}.builder-summary{flex-direction:row}.summary-price{text-align:right}.summary-price p{justify-content:flex-end}}@media(max-width:430px){.builder-summary{flex-direction:column}.summary-price{text-align:left}.summary-price p{justify-content:flex-start}.choice-pair strong{font-size:16px}.choice-photo img{aspect-ratio:1.3}}

/* Continue the pale-yellow sauna section through its materials disclosure. */
.modular-section>.product-details>summary{background:#e3ebdf;color:#2b3e38;border-top:1px solid #2b3e3838}

/* Full-image gallery: preserve the complete product at every viewport. */
.builder-gallery figure{background:transparent;overflow:visible}.builder-gallery .sauna-expand{display:block;position:relative;width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;background:#f7f5ef;cursor:zoom-in}.builder-gallery .sauna-expand>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.builder-gallery figcaption{position:static;padding:12px 0 8px;background:none;color:#2b3e38;font:400 1rem/1.5 'DM Sans',sans-serif}.sauna-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}.sauna-thumbnails button{min-width:0;background:transparent;color:#2b3e38;border:2px solid transparent;border-radius:6px;padding:5px;cursor:pointer;text-align:left;font:inherit}.sauna-thumbnails button[aria-pressed=true]{border-color:#2b3e38}.sauna-thumbnails img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#f7f5ef;border-radius:3px}.sauna-thumbnails span{display:block;padding:8px 2px 3px;font-size:.875rem;line-height:1.4}.builder-gallery .preview-note{font-size:.875rem}.sauna-expand:focus-visible,.sauna-thumbnails button:focus-visible,.sauna-lightbox button:focus-visible{outline:3px solid #2b3e38;outline-offset:4px}.sauna-lightbox{width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:16px;border:0;border-radius:8px;background:#e3ebdf;color:#2b3e38}.sauna-lightbox::backdrop{background:#10251fe6}.sauna-lightbox>button{display:block;margin:0 0 12px auto;background:#2b3e38;color:#e3ebdf;border:0;padding:12px 18px;border-radius:30px;font:inherit;cursor:pointer}.sauna-lightbox figure{margin:0}.sauna-lightbox img{display:block;max-width:100%;width:auto;height:auto;max-height:72dvh;object-fit:contain;margin:auto}.sauna-lightbox figcaption{font-size:1rem;line-height:1.5;padding:12px 0 0}@media(max-width:430px){.sauna-thumbnails{gap:6px}.sauna-thumbnails button{padding:3px}.builder-gallery .sauna-expand>img{aspect-ratio:3/2}}

/* Keep intrinsic image dimensions from stretching the configurator gallery. */
.builder-gallery{align-self:start;height:max-content;min-height:0}
.builder-gallery figure,.builder-gallery .sauna-expand,.sauna-thumbnails,.sauna-thumbnails button{height:auto;min-height:0}
.sauna-thumbnails{align-items:start;grid-auto-rows:max-content}
.sauna-thumbnails button{align-self:start;display:block}
.sauna-thumbnails img{height:auto;max-height:none}

.builder-controls .sauna-specifications-link{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;margin:10px 0 4px;padding:6px 12px;color:#2b3e38;font-size:1rem;line-height:1.5;text-align:center;text-decoration:underline;text-underline-offset:4px}.sauna-specifications-link:hover{text-decoration-thickness:2px}.sauna-specifications-link:focus-visible{outline:3px solid #2b3e38;outline-offset:3px}#sauna-package{scroll-margin-top:130px}

/* Preserve the complete coastal exterior without letterboxing. */
.builder-gallery .sauna-expand>img[src*="coastal-sauna.jpg"]{aspect-ratio:16/9;object-fit:contain}
.sauna-thumbnails button[data-gallery="exterior"] img[src*="coastal-sauna.jpg"]{object-fit:cover}
