/* Local UX V2. Layout and presentation only; no image, camera or palette transforms. */
:root{--header:64px;--screen-top:76px;--screen-height:calc(100svh - 88px)}
html{scroll-padding-top:var(--screen-top);scroll-behavior:auto}
.header{height:var(--header)}
.product-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(490px,1fr);gap:32px;padding:12px 3.3%;align-items:start;max-width:1700px;margin:auto}
.configuration{min-width:0;display:grid;gap:24px}
.functional-screen{height:var(--screen-height);min-height:600px;scroll-margin-top:0}
.commercial-gallery{position:sticky;top:var(--screen-top);min-width:0}
.commercial-stage{height:calc(100svh - 234px);min-height:320px;max-height:none}
.commercial-footer{margin:10px 0}.commercial-footer p{font-size:21px}
.commercial-thumbs .commercial-thumb{height:62px}.gallery-note{display:none}
.gallery-personal-link{margin:8px 0 0;min-height:34px;font-size:13px}
.site-footer{display:none}.review-tag{font-size:10px;padding:4px 8px;bottom:2px}
.section{padding:0;border:0;scroll-margin-top:0}
.selection-screen{display:grid;grid-template-rows:68px minmax(0,1fr);gap:10px}
.product-heading{padding:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:34px 24px;column-gap:16px;align-items:center}
.product-heading h1{grid-column:1;grid-row:1;font-size:29px;line-height:1.1;margin:0;letter-spacing:-.035em;white-space:nowrap}
.product-heading .offer{display:contents}.offer>strong{grid-column:2;grid-row:1;font-size:27px}
.size-options{grid-column:2;grid-row:2;font-size:14px}.size-options>span:first-child{display:none}.size-options strong{font-size:14px}
#compact-format{grid-column:1;grid-row:2;font-size:14px;color:var(--muted)}
.territory{display:grid;grid-template-rows:46px 56px minmax(235px,1fr) 44px 24px 48px;gap:8px;position:relative;min-height:0}
.search input{font-size:16px;padding:10px 12px}.search button{min-height:44px}
.suggestions{position:absolute;top:47px;left:0;right:0;z-index:700;margin:0;box-shadow:0 6px 20px #16393d15}
.suggestions button{font-size:15px}.suggestions small{font-size:12px}
#search-feedback{position:absolute;top:46px;left:0;right:0;z-index:600;background:var(--paper);font-size:14px;margin:0}
.coverages{margin:0;gap:8px}.coverages button{min-height:56px;padding:5px 3px}.coverages strong{font-size:14px}.coverages span{font-size:13px}
.map-frame{min-height:0;height:100%}#map{height:100%;min-height:0}
.map-toolbar{top:8px;left:8px}.map-toolbar button{font-size:13px;min-height:38px;padding:7px 10px}
.map-bottom{margin:0;min-height:44px;align-items:center}.map-bottom strong{font-size:14px;max-height:40px;overflow:hidden}.map-bottom .link{font-size:14px;min-height:44px;line-height:1.2;text-align:right}
#return-found{justify-self:start;font-size:13px;min-height:24px;padding:0}#map-help{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:0}
.primary,.secondary{font-size:15px}.link{font-size:14px}
.configuration-screen .preview-section{height:100%;display:grid;grid-template-rows:32px 66px 24px minmax(210px,1fr) 112px 66px;gap:7px;min-height:0}
.preview-section>.section-heading{margin:0;gap:8px}.section-heading h2{font-size:25px}.section-number{font-size:12px}
#preview-badge{display:none!important}#adjust-selection{margin-left:auto;font-size:13px;text-align:right;line-height:1.15;min-height:32px}
.info-open{border:1px solid #bdc3b9;background:transparent;border-radius:50%;height:28px;width:28px;padding:0;flex-shrink:0;font:italic 17px Georgia,serif}
.finish-options{margin:0;position:relative}.finish-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.finishes{height:100%;gap:7px}.finishes button{min-height:64px;height:100%;padding:5px 3px;gap:4px}.finishes strong{font-size:14px}.finish-icon{width:28px;height:28px}
.personal-heading{margin:0;min-width:0}.personal-heading>span:first-child{font-size:15px;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-heading>span:last-child{font-size:13px;white-space:nowrap}
.visual-stage{height:100%;min-height:0;aspect-ratio:auto}.preview-empty{padding:16px}.preview-empty p{font-size:24px}.preview-empty span{font-size:14px}.preview-empty svg{width:35%;max-height:110px;margin-bottom:10px}
.orbital-controls{top:9px;right:9px}.orbital-controls button{font-size:13px;min-height:44px}.main-photo .expand{bottom:9px;right:9px}
.generation-state{position:relative;display:grid;grid-template-rows:30px 1fr;align-content:start;min-width:0;padding:5px 0}
.generation-phases{display:flex;align-items:center;gap:14px;list-style:none;padding:0;margin:0;min-height:28px}
.generation-phases li{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}
.phase-mark{display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid #bdc3b9;border-radius:50%;font-size:12px;flex-shrink:0}
.generation-phases [data-state=active]{color:var(--ink)}.generation-phases [data-state=active] .phase-mark{border:2px solid #bdc3b9;border-top-color:var(--ink);font-size:0;animation:spin 1.25s linear infinite}
.generation-phases [data-state=complete] .phase-mark{background:var(--ink);color:white;border-color:var(--ink)}
.generation-phases [data-state=error] .phase-mark{border-color:#97594a;color:#97594a}
.generation-state .activity-row{margin:0;padding:3px 0;min-height:48px;background:none;gap:8px;align-self:start}
.activity-row>.activity{display:none}.activity-row p{font-size:14px;line-height:1.35;margin:0}.activity-row div>span{display:none}.activity-row #cancel-preview{min-height:44px;font-size:13px}
#preview-status{font-size:14px;line-height:1.4;margin:2px 0;align-self:start}
#palette-status{position:absolute;bottom:2px;left:0;right:0;font-size:12px;line-height:1.2;margin:0}
#error-actions{position:absolute;bottom:0;left:0;right:0;display:flex;flex-wrap:nowrap;gap:12px;margin:0;height:44px;align-items:center}
#error-actions .secondary{min-height:42px;padding:6px 10px;font-size:14px}#error-actions .link{font-size:13px;min-height:42px;line-height:1.15}
.generation-state:has(#error-actions:not([hidden])) #preview-status{font-size:13px;line-height:1.25;margin:0}
.generation-state:has(#error-actions:not([hidden])) #palette-status{width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.purchase{display:grid;grid-template-columns:112px 78px minmax(0,1fr);grid-template-rows:18px 44px;column-gap:12px;align-items:end;min-width:0}
.purchase>.section-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:0}
.quantity-row{display:contents}.quantity-row label{grid-column:1;grid-row:1;font-size:13px;line-height:1}.quantity{grid-column:1;grid-row:2;height:44px}.quantity button{min-height:42px;flex:1}.quantity input{font-size:16px}
#line-price{grid-column:2;grid-row:2;font-size:27px;line-height:44px;font-weight:400;white-space:nowrap;margin:0}
#add-cart{grid-column:3;grid-row:1/3;min-height:52px;padding:10px;font-size:15px}
#buy-help,#cart-feedback{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:0;padding:0}
#support-dialog,#piece-info{width:min(92vw,520px);max-height:85svh;overflow:auto;padding:35px 24px 24px}dialog h2{font-size:25px;margin:0 24px 20px 0}.dialog-close{position:absolute;top:6px;right:8px;min-height:44px;min-width:44px;font-size:27px;border:0;background:none}#piece-info p{font-size:16px;line-height:1.6}.support-form label,.support-form .small{font-size:14px}
@media(min-width:901px) and (max-height:760px){.commercial-stage{height:calc(100svh - 218px);min-height:300px}.commercial-thumbs .commercial-thumb{height:52px}.commercial-footer p{font-size:19px}.commercial-gallery{top:var(--screen-top)}.product-layout{padding-top:12px}.functional-screen{min-height:600px}}
@media(max-width:1100px) and (min-width:901px){.product-layout{gap:24px;padding-inline:24px;grid-template-columns:minmax(0,1fr) minmax(470px,1fr)}}
@media(max-width:900px){
 :root{--screen-top:126px;--screen-height:calc(100svh - 138px)}
 .product-layout{display:flex;max-width:640px;padding:12px 16px;gap:0}.commercial-gallery{position:static;margin-bottom:22px}.commercial-stage{height:auto;aspect-ratio:1.12;min-height:0}.commercial-footer p{font-size:20px}.commercial-thumbs .commercial-thumb{height:55px}.gallery-personal-link{display:none}
 .configuration{gap:24px;width:100%}.functional-screen{min-height:620px}.selection-screen{grid-template-rows:62px minmax(0,1fr);gap:8px}.product-heading{padding:0;grid-template-rows:31px 23px;gap:0 6px}.product-heading h1{font-size:25px}.offer>strong{font-size:25px}#compact-format,.size-options strong{font-size:13px}
 .territory{grid-template-rows:46px 54px minmax(225px,1fr) 44px 24px 48px;gap:6px}.coverages button{min-height:54px}.coverages strong{font-size:13px}.coverages span{font-size:12px}.map-toolbar button{font-size:12px;padding:7px 9px}.map-bottom strong{font-size:14px}.map-bottom .link{font-size:13px}.touch-adjust{display:block}
 .configuration-screen .preview-section{grid-template-rows:32px 64px 22px minmax(210px,1fr) 112px 104px;gap:6px}
 .section-heading h2{font-size:24px}#adjust-selection{font-size:12px;max-width:130px}.finishes strong{font-size:13px}.finishes button{min-height:64px}.personal-heading>span:first-child{font-size:14px}.personal-heading>span:last-child{font-size:12px}
 .generation-phases{gap:12px;justify-content:space-between}.generation-phases li{font-size:12px;gap:5px}.phase-mark{width:18px;height:18px}.preview-empty p{font-size:23px}.preview-empty span{font-size:13px}
 .purchase{grid-template-columns:112px 1fr;grid-template-rows:44px 48px;row-gap:8px;column-gap:12px}.quantity-row label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.quantity{grid-row:1;grid-column:1}#line-price{grid-row:1;grid-column:2;justify-self:end;line-height:44px}#add-cart{grid-column:1/3;grid-row:2;min-height:48px;font-size:16px}
 #error-actions{gap:9px}#error-actions .secondary{font-size:13px}#error-actions .link{font-size:12px}.generation-state:has(#error-actions:not([hidden])) #preview-status{font-size:13px;line-height:1.2}
 .review-tag{display:none}.orbital-controls button{min-height:42px;font-size:12px;padding:7px 9px}.mobile-context a{font-size:12px}.mobile-context small{font-size:9px}.mobile-context strong{font-size:13px}
}
@media(max-width:370px){.product-layout{padding-inline:12px}.product-heading h1{font-size:24px}.header{padding-inline:12px}.functional-screen{min-height:620px}.configuration-screen{min-height:574px}.configuration-screen .preview-section{grid-template-rows:32px 64px 22px minmax(210px,1fr) 112px 104px}.generation-phases{gap:7px}.generation-phases li{font-size:12px}#adjust-selection{max-width:115px}}
@media(prefers-reduced-motion:reduce){.generation-phases [data-state=active] .phase-mark{animation:none;border-style:dashed}}

/* Product example remains explicitly distinct from the selected territory. */
.preview-empty{padding:0;background:#e8e4dc;justify-content:end;align-items:stretch;text-align:left}
.preview-empty>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.preview-empty:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#f8f6efeF)}
.preview-empty>p,.preview-empty>span{position:relative;z-index:1;margin:0;padding:0 20px 14px}.preview-empty>p{font-size:25px;padding-top:6px}.preview-empty>span{font-size:14px}.preview-empty .example-caption{position:absolute;top:12px;left:12px;padding:5px 8px;background:#fbfaf3eb;border-radius:3px;font-size:12px}

/* Functional availability: reserved status next to the finish controls. */
.configuration-screen .preview-section{grid-template-rows:32px 104px 24px minmax(210px,1fr) 112px 66px}
.finish-options{display:flex;flex-direction:column;gap:4px}.finishes{height:64px;flex:none}.finish-feedback{min-height:32px;margin:0;font-size:12px;line-height:16px;color:var(--muted)}
#palette-status{display:none!important}.finishes button,.orbital-large-finishes button{position:relative}
[data-finish-loading="true"]::after{content:"";position:absolute;right:5px;top:5px;width:9px;height:9px;border:2px solid #bdc3b9;border-top-color:#16393d;border-radius:50%;animation:spin 1s linear infinite}
@media(prefers-reduced-motion:reduce){[data-finish-loading="true"]::after{animation:none}}
