/* Object Main: warm physical objects against a quiet, cool paper.
   Colour-only rules: no geometry changes outside the homepage. */
body.object-layout {
 color:var(--om-text); background:var(--om-base);
}
.object-layout.depth-enabled { background-color:rgb(var(--scroll-paper-rgb,228,227,233)); }
.object-layout .site-header,.object-layout .main-nav { background-color:var(--om-base); }
.object-layout.depth-enabled .site-header:not(.nav-open) { background-color:rgb(var(--scroll-paper-rgb,228,227,233)); }
.object-layout :is(.btn.primary,.main-nav .nav-cta,.idea-steps button.active) { color:#fff; background:var(--om-action); border-color:var(--om-action); }
.object-layout .btn.secondary { color:var(--om-action); border-color:var(--om-action); background:transparent; }
.object-layout :is(.btn,.main-nav .nav-cta):hover { color:white; background:var(--om-hover); border-color:var(--om-hover); }
.object-layout :is(.request-panel.dark,.cta-band) { background:var(--om-action); color:var(--om-surface); }
.object-layout :is(.request-panel,.cta-band) .btn.primary { background:var(--om-surface); border-color:var(--om-surface); color:var(--om-action); }
.object-layout :is(.request-panel,.cta-band) .btn.primary:hover { background:var(--om-selected); border-color:var(--om-selected); color:var(--om-hover); }
.object-layout :is(.section.home-reviews,.product-build-section>.product-reviews-panel,.review-card,.home-review-card,.auth-panel form,.wizard-shell,.builder-summary,.contact-card,.thanks-summary) { background-color:var(--om-surface); }
.object-layout :is(.form-card:not(.dark-form),.customer-panel,.customer-card,.faq-cta) { background-color:var(--om-surface); }
.object-layout :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) { background-color:var(--om-surface); color:var(--om-text); border-color:var(--om-rule); }
.object-layout :is(input,textarea)::placeholder { color:var(--om-muted); opacity:1; }
.object-layout :is(input[type=checkbox],input[type=radio]) { accent-color:var(--om-action); }
.object-layout :is(.option-checks label,.configuration-options label>span) { background:var(--om-surface); border-color:var(--om-rule); }
.object-layout .configuration-options input:checked+span,
.object-layout .visual-choice-grid button.selected,
.object-layout .visual-choice-grid button:hover { background:var(--om-selected); border-color:var(--om-action); box-shadow:inset 0 -3px var(--om-action); color:var(--om-text); }
.object-layout :is(.spec-pills span,.review-reply,.quote-timeline,.order-updates) { background-color:var(--om-secondary); color:var(--om-text); }
.object-layout .cta-visual { background:var(--om-base); color:var(--om-text); }
.object-layout .cta-visual .btn.primary { background:var(--om-action); color:white; border-color:var(--om-action); }
.object-layout .eyebrow,.object-layout .stars { color:var(--om-accent); }
.object-layout .request-panel .eyebrow { color:var(--om-surface); }
.object-layout :is(.card-ai-disclosure,.ai-disclosure-badge) { color:var(--om-text); background:var(--om-surface); }
.object-layout :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--om-focus); outline-offset:4px; }
.object-layout :is(.request-panel,.cta-band) :is(a,button,input,select,textarea):focus-visible { outline-color:var(--om-surface); }
.object-layout .configuration-options input:focus-visible+span { outline:3px solid var(--om-focus); outline-offset:4px; }
.object-layout .home-review-strip,.object-layout .gallery-thumbs { scrollbar-color:var(--om-action) var(--om-base); }
@media(prefers-reduced-motion:reduce) {
 .object-layout.depth-enabled,.object-layout.depth-enabled #collezioni,.object-layout.depth-enabled .site-header:not(.nav-open) { background-color:var(--om-base); box-shadow:none; }
}
/* Small footer text remains fully opaque; field boundaries meet non-text contrast. */
.object-layout .footer-mini-links a { opacity:1; }
.object-layout :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea),
.object-layout .configuration-options label>span,.object-layout .option-checks label { border-color:#8a7a8a; }
