/* STEEL-GUARD 0.4.4: isolated finishing layer. No business logic or base reset. */
:root { color-scheme: light; }
.public-site :is(.site-header,.site-footer,.hero,.section,.public-page,.catalog-section,.builder,.builder-preview,.builder-controls,.category-card,.collection-card,.project-card,.material-card) { min-width: 0; }
.public-site :is(h1,h2,h3,.section-heading,.category-card__caption,.collection-card__caption,.project-card,.price-line,.preview-bottom) { min-width: 0; }
.public-site :is(.category-card h3,.collection-card h3,.project-card h3,.door-card h3,.product-info h1,.public-faq summary) { overflow-wrap: break-word; hyphens: auto; }
.public-site .hero h1,.public-site .section-heading h2,.public-site .constructor-preview h2,.public-site .statement h2 { text-wrap: balance; }
.public-site :is(.hero__intro,.section-heading > p,.collection-card__caption p,.category-card__caption p,.public-faq p) { max-width: 70ch; overflow-wrap: anywhere; }
.public-site :is(.category-card__media,.collection-card__media,.project-card__media) img { width: 100%; height: 100%; object-fit: cover; object-position: var(--object-position, 50% 50%); }
.public-site .category-card__caption,.public-site .collection-card__caption { position: relative; }
.public-site .collection-card__caption > *,.public-site .category-card__caption > * { min-width: 0; }
.public-site :is(button,a,summary) { -webkit-tap-highlight-color: transparent; }
.public-site :is(button,a,summary,input,select,textarea):focus-visible { outline: 2px solid #866a42; outline-offset: 3px; }
.public-site .builder-pair { gap: clamp(4px, 1vw, 18px); }
.public-site .builder-pair svg { width: calc(50% - 9px); flex: 0 1 auto; min-width: 0; }
.public-site .preview-bottom { gap: 12px; }
.public-site .preview-bottom > div { min-width: 0; }
.public-site .preview-bottom strong { overflow-wrap: anywhere; }
.public-site .builder-lightbox { max-width: min(94vw, 920px); }
.public-site .builder-lightbox>div { overflow: auto; }
.public-site .builder-lightbox .builder-pair { max-width: 100%; }
.public-site .range-row input { min-width: 0; }
.public-site .price-line > * { min-width: 0; }
.public-site .price-line b { overflow-wrap: anywhere; text-align: right; }
.crm-site :is(.crm-panel,.crm-metric,.crm-page,.crm-main,.crm-form-grid,.report-panel) { min-width: 0; }
.crm-site .report-legend { flex-wrap: wrap; }
.crm-site .report-chart { overscroll-behavior-x: contain; scrollbar-gutter: stable; }
.crm-site .report-chart:focus-visible { outline: 2px solid #866a42; outline-offset: 2px; }
.crm-site .report-chart svg { width: 100%; height: auto; display: block; }
.crm-site .media-admin-overview { display: grid; grid-template-columns: repeat(auto-fill,minmax(210px,1fr)); gap: 16px; margin: 20px 0 28px; }
.crm-site .media-admin-slot { min-width:0; border: 1px solid #d9ded7; background: #fff; display: grid; grid-template-rows: 150px 1fr auto; }
.crm-site .media-admin-image { overflow:hidden; background:#f0f1ec; }
.crm-site .media-admin-image img { display:block; width:100%; height:100%; object-fit:cover; }
.crm-site .media-admin-placeholder { display:grid; place-items:center; width:100%; height:100%; padding:20px; text-align:center; color:#536258; font-size:13px; }
.crm-site .media-admin-slot-info { display:grid; align-content:start; gap:6px; padding:13px; min-width:0; }
.crm-site .media-admin-slot-info strong { font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.crm-site .media-admin-slot-info small { color:#536258; font-size:12px; }
.crm-site .media-admin-slot-info p { font-size:12px; line-height:1.5; color:#6a716c; overflow-wrap:anywhere; }
.crm-site .media-admin-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:0 13px 14px; }
.crm-site .media-admin-actions .crm-button { white-space:normal; text-align:center; min-height:38px; }
.crm-site .media-admin-editor { background:#f7f8f5; padding:clamp(14px,2vw,26px); border:1px solid #e0e4db; }
.crm-site .media-admin-editor h3 { font-size:18px; margin:0 0 16px; }
.crm-site .media-admin-selection { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:16px 0; }
.crm-site .media-admin-selection img { width:min(100%,400px); max-height:230px; object-fit:cover; border:1px solid #d7ded4; }
.crm-site .media-admin-selection span { font-size:12px; color:#506156; }
.crm-site .media-admin-grid { grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); }
.crm-site .media-admin-grid figure { min-width:0; }
.crm-site .media-admin-grid img { display:block; }
.crm-site .media-admin-grid figcaption p { margin-top:4px; }
@media(max-width:960px) {
 .public-site .site-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
 .public-site .site-header .wordmark { margin-right:auto; }
 .public-site .site-header .desktop-nav { display:none; }
 .public-site .menu-toggle { display:block; flex:0 0 44px; }
 .public-site .header-crm { flex:0 1 auto; max-width: 140px; overflow-wrap:anywhere; text-align:center; }
 .public-site .section-heading { min-width:0; }
}
@media(max-width:620px){
 .public-site .site-header { gap:8px; }
 .public-site .header-crm { font-size:11px; padding:6px 8px; }
 .public-site .hero__copy { padding-inline:clamp(16px,5vw,26px); }
 .public-site .hero h1 { font-size:clamp(2.65rem,12.6vw,5rem); }
 .public-site .section-heading h2 { font-size:clamp(2.55rem,11.4vw,4.6rem); }
 .public-site .builder-pair svg { width:calc(50% - 3px); }
 .public-site .builder-pair { gap:6px; }
 .public-site .builder-tools { justify-content:flex-start; }
 .public-site .builder-tools button { min-height:40px; font-size:11px; }
 .public-site .preview-bottom { flex-wrap:wrap; }
 .crm-site .media-admin-overview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .crm-site .media-admin-slot { grid-template-rows:100px 1fr auto; }
 .crm-site .media-admin-slot-info { padding:10px; }
 .crm-site .media-admin-actions { padding:0 10px 10px; }
 .crm-site .media-admin-actions button { width:100%; }
 .crm-site .media-admin-selection img { width:100%; }
}
@media(max-width:390px) {
 .crm-site .media-admin-overview { grid-template-columns:minmax(0,1fr); }
 .public-site .header-crm { font-size:10px; max-width:100px; }
}
@media(prefers-reduced-motion:reduce){
 .public-site :is(.category-card,.collection-card,.project-card) { transition:none!important; }
}

/* Side-by-side preview is display-only until one face is selected. */
.public-site .panel-choice:disabled { opacity:.57; cursor:not-allowed; box-shadow:none; transform:none; }
.public-site .panel-choice:disabled:hover { transform:none; }
