/* Configurator material study: same TENT-AR blue/white system, gallery silhouettes. */
.roof-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0}.roof-picker button{display:flex;align-items:center;gap:12px;text-align:left;padding:10px;background:#fff;border:1px solid #d8e1e9;font:inherit;cursor:pointer;min-width:0}.roof-picker button[aria-pressed=true]{border:2px solid #1261c2;padding:9px;background:#f1f6fc}.roof-picker img{width:92px;height:70px;object-fit:contain}.roof-picker span{font-size:12px;line-height:1.5}.roof-picker b{display:block;font-size:16px;color:#073d74;margin-bottom:4px}.viewer{border:1px solid #d9e2e9;overflow:hidden;background:#e9eef1}.viewer canvas{height:490px}.viewer-hint{position:absolute;bottom:16px;left:20px;font-size:11px;color:#627381;pointer-events:none}.view-label{left:20px;top:18px;color:#41617b;font-weight:700;letter-spacing:.08em}.model-modes{display:flex;gap:0;border:1px solid #cdd9e3;background:#fff;margin-top:16px}.model-modes button{flex:1;font:inherit;font-size:12px;min-height:46px;border:0;background:none;cursor:pointer;padding:10px 8px}.model-modes button[aria-pressed=true]{background:#073d74;color:white}.shape-note{font-size:13px;line-height:1.6;margin:14px 0;color:#506779}.config-controls{border-color:#d9e2e9}.webgl-unavailable{padding:20px;color:#18344b;background:white}.viewer:has(.webgl-unavailable) canvas{display:none}@media(min-width:1101px){.config-layout{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr)}}@media(max-width:900px){.roof-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.roof-picker button{display:block;padding:8px}.roof-picker button[aria-pressed=true]{padding:7px}.roof-picker img{width:100%;height:74px}.roof-picker span{display:block;font-size:11px}.roof-picker b{font-size:14px}.viewer canvas{height:340px}.viewer-hint{font-size:10px}.model-modes button{font-size:11px}.shape-note{font-size:12px}}

.extension-root .config-layout{grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr)}.extension-root .viewer canvas{height:490px}.extension-root .model-modes button{justify-content:center;padding:10px 8px;border:0;display:block}.extension-root .model-modes button[aria-pressed=true]{background:#073d74;color:#fff}.extension-root .roof-picker button{padding:10px;display:flex}.extension-root .roof-picker button[aria-pressed=true]{border:2px solid #1261c2;padding:9px;background:#f1f6fc}.extension-root .viewer-hint{font-size:11px}.extension-root .shape-note{font-size:13px}@media(max-width:1100px){.extension-root .config-layout{grid-template-columns:1fr}.extension-root .viewer-column{position:static}.extension-root .viewer canvas{height:500px}}@media(max-width:600px){.extension-root .viewer canvas{height:330px}.extension-root .roof-picker button{display:block;padding:8px}.extension-root .roof-picker button[aria-pressed=true]{padding:7px}.extension-root .model-modes button{font-size:11px}.extension-root .viewer-hint{font-size:10px}}

.viewer-material{position:absolute;right:18px;bottom:14px;padding:7px 10px;background:#ffffffbf;color:#35516a;font-size:11px;pointer-events:none}@media(max-width:600px){.viewer-material{right:10px;bottom:35px;font-size:10px;padding:5px 8px}}

@media(max-width:600px){
.extension-root .roof-picker > button[data-roof-type]{display:flex;flex-direction:column;align-items:stretch;min-width:0;white-space:normal;gap:4px;padding:8px}
.extension-root .roof-picker > button[data-roof-type][aria-pressed=true]{padding:7px}
.extension-root .roof-picker > button[data-roof-type] img{width:100%;max-width:100%;height:74px}
.extension-root .roof-picker > button[data-roof-type] span{display:block;min-width:0;overflow-wrap:anywhere}
}
/* Opening placement and envelope composition */
.opening-toolbar,.opening-actions{display:flex;gap:8px;flex-wrap:wrap}.opening-toolbar button{flex:1;background:#1261c2;color:#fff;border-color:#1261c2}.opening-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.opening-list button{text-align:left;padding:12px;border:1px solid #c9d6e2;background:#fff}.opening-list button[aria-pressed=true]{border-color:#1261c2;box-shadow:inset 0 0 0 1px #1261c2;background:#edf5ff}.opening-list small{display:block;font-size:11px;line-height:1.5;font-weight:400;margin-top:5px}.opening-fields{padding:16px;background:#f5f8fb;border:1px solid #d8e2ec}.opening-fields input[type=color]{padding:4px;height:44px;cursor:pointer}.opening-slider{display:block;margin:14px 0}.opening-slider input{width:100%;padding:0;accent-color:#1261c2}.opening-actions button{font-size:12px;padding:9px 10px}.opening-elevation{margin:16px 0;padding:12px;background:#fff;border:1px solid #c9d6e2}.opening-elevation svg{width:100%;display:block;touch-action:none;overflow:visible}.opening-elevation g{cursor:grab}.opening-elevation g:active{cursor:grabbing}.elevation-title{font-size:12px;font-weight:700}.layer-preview{margin:20px 0;padding:18px;border:1px solid #d8e2ec;background:#f5f8fb}.layer-preview h2{font-size:18px;margin:0}.layer-preview canvas{width:100%;height:220px;display:block}.layer-preview p{font-size:12px;line-height:1.6}#layer-legend strong{font-size:14px}#config-errors{margin-top:16px}.opening-fields .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opening-fields label{min-width:0}.opening-fields input,.opening-fields select{width:100%;min-width:0}@media(max-width:600px){.opening-fields{padding:12px}.opening-fields .form-grid{grid-template-columns:1fr}.layer-preview canvas{height:200px}.opening-list{grid-template-columns:1fr 1fr}}
@media(min-width:1101px){.extension-root .viewer-column{position:sticky;top:215px;align-self:start}.extension-root .opening-list button{display:block}.extension-root .opening-list small{display:block}}
.extension-root .opening-toolbar button{background:#1261c2;color:#fff;border:1px solid #1261c2;justify-content:center}.extension-root .opening-toolbar button:hover{background:#073d74;color:#fff}.extension-root .opening-list button{display:block}.extension-root .opening-list small{display:block}
#opening-editor .opening-toolbar button,#config-form button.primary{background:#1261c2;color:#fff;border-color:#1261c2}#opening-editor .opening-toolbar button:hover,#config-form button.primary:hover{background:#073d74;color:#fff}#opening-editor .opening-list button{display:block}#opening-editor .opening-list small{display:block}
/* Facade-first editing; retained controls are size and specification only. */
#opening-editor .opening-intro{font-size:14px;line-height:1.6;margin:0 0 14px;color:#12324b}#opening-editor .opening-walls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}#opening-editor .opening-walls button{display:block;text-align:left;font-size:12px;padding:10px 12px;min-height:60px;color:#12324b;background:white}#opening-editor .opening-walls button[aria-pressed=true]{background:#edf5ff;border-color:#1261c2;box-shadow:inset 0 0 0 1px #1261c2}#opening-editor .opening-walls span{display:block;font-size:10px;color:#637a8b;margin-top:4px}#opening-editor .opening-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}#opening-editor .opening-toolbar button{font-size:12px;padding:12px 7px;white-space:nowrap}#opening-editor .opening-elevation{padding:12px 8px;margin:14px 0;border:1px solid #c7d7e5;background:#f9fbfd}#opening-editor .opening-elevation svg{width:100%;height:auto;min-height:210px;user-select:none;-webkit-user-select:none;touch-action:none}#opening-editor .opening-elevation g:hover>rect:first-child{stroke:#1261c2;stroke-width:3}#opening-editor .opening-elevation .is-dragging,#opening-editor .opening-elevation .is-dragging g{cursor:grabbing}#opening-editor .opening-elevation g:focus{outline:none}#opening-editor .opening-elevation g:focus>rect:first-child{stroke:#1261c2;stroke-width:4}#opening-editor .elevation-title{margin:0 4px 8px;color:#12324b;font-size:12px}#opening-editor .opening-drag-status{min-height:36px;margin:8px 4px 0;font-size:12px;line-height:1.5;color:#526d87}#opening-editor .opening-drag-status[data-blocked=true]{color:#a24a22}#opening-editor .opening-selection{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}#opening-editor .opening-selection strong{font-size:15px}#opening-editor .opening-selection button{background:transparent;color:#9d4035;border:0;text-decoration:underline;padding:8px 0;font-size:12px}#opening-editor .opening-position{font-size:12px;line-height:1.6;margin-top:15px;color:#526d87}#opening-editor .opening-extra{border-top:1px solid #d8e2ec;margin-top:16px;padding-top:14px}#opening-editor .opening-extra summary{cursor:pointer;font-size:12px;color:#1261c2}#opening-editor .opening-extra .opening-actions{margin-top:12px}#opening-editor .opening-empty{font-size:13px;line-height:1.6;margin:0;color:#526d87}@media(max-width:600px){#opening-editor .opening-toolbar{grid-template-columns:1fr}#opening-editor .opening-elevation{padding:12px 4px}#opening-editor .opening-elevation svg{min-height:190px}}
#opening-editor .opening-elevation svg{height:clamp(230px,30vw,380px);min-height:0}@media(max-width:600px){#opening-editor .opening-elevation svg{height:240px;min-height:0}}
