.contact-form label { display: block; font-weight: 600; margin: 0 0 6px; }
[hidden] { display: none !important; }
.photo-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 28px; }
.photo-categories button { font: inherit; color: #292929; background: #fff; border: 1px solid #b5b5b5; border-radius: 4px; padding: 10px 16px; min-height: 44px; cursor: pointer; }
.photo-categories button[aria-pressed="true"] { background: #242424; color: #fff; border-color: #242424; }
#newPhotoGrid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
#newPhotoGrid .gallery-feature-card { border-radius: 8px; }
#newPhotoGrid img { display: block; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #f3f3f3; }
#newPhotoGrid h3, #newPhotoGrid p { overflow-wrap: anywhere; }
.form-status { line-height: 1.6; margin-top: 14px; }
.form-status:empty, .field-error:empty { display: none; }
.form-status[data-state="error"] { color: #a12a24; }
.form-status[data-state="success"] { color: #19633c; }
:focus-visible { outline: 3px solid #a27800; outline-offset: 4px; }
.quote-page { letter-spacing: 0; color-scheme: dark; }
.contact-form button[type="submit"] { color: #17191e; }
.quote-page * { letter-spacing: 0; }
.quote-header p, .step-sub, .pkg-desc, .pkg-tag, .pkg-rate-unit,
.size-input-wrap label, .size-unit, .fixtures-label, .fix-price,
.est-label, .est-note, .s-key, .field-group label, .ty-sub,
.step-name, .step-tab.done .step-name, .badge-basic, .btn-back {
    color: #c8cbd1;
}
.quote-page .step-num { color: #c8cbd1; border-color: #747a84; }
.quote-page .step-tab.active .step-num { color: var(--gold); border-color: var(--gold); }
.quote-page .step-tab.done .step-num { color: #0d0f12; }
.quote-page .form-status[data-state="error"], .field-error { color: #ffb4ae; }
.field-error { font-size: 0.875rem; margin: 8px 0; }
.estimate-disclaimer { color: #c8cbd1; font-size: 0.85rem; line-height: 1.6; }
.quote-page .pkg-card { grid-template-columns: 22px minmax(0, 1fr); border-radius: 8px; padding: 18px; }
.quote-page .pkg-rate { display: block; text-align: left; margin: 10px 0; white-space: normal; }
.pkg-card > span, .pkg-name, .pkg-desc, .pkg-rate-num, .pkg-rate-unit { display: block; }
.package-radio, .fixture-checkbox { width: 20px; height: 20px; accent-color: #d4af37; margin: 3px 0 0; flex: 0 0 20px; }
.quote-page .pkg-tags { display: flex; }
.quote-page .pkg-tag { font-size: 0.75rem; border-radius: 3px; }
.pkg-desc { font-size: 0.875rem; }
.pkg-card:focus-within, .fix-card:focus-within { outline: 2px solid var(--gold); outline-offset: 3px; }
.quote-page .fix-card { border-radius: 8px; }
.fix-name, .fix-price { display: block; }
.size-hint { background: transparent; font: inherit; color: #d7d9df; min-height: 44px; border-radius: 6px; }
.size-hints { gap: 8px; }
.step-q { scroll-margin-top: 110px; }
.quote-page .wizard-nav { position: sticky; bottom: 12px; background: #17191e; padding: 12px; border-radius: 8px; z-index: 5; }
.quote-page .btn-next:disabled { opacity: 0.6; }
.quote-page .summary-row { gap: 16px; }
.quote-page .s-val { overflow-wrap: anywhere; }
.quote-page .field-group input::placeholder, .quote-page .field-group textarea::placeholder { color: #aeb4be; }
.estimate-bar, .summary-strip { border-radius: 8px; }
@media (max-width: 560px) {
    .quote-header h1 { font-size: 2rem; }
    .quote-header { padding-bottom: 24px; }
    .steps-nav { margin-bottom: 24px; }
    .quote-page .step-name { display: block; font-size: 0.7rem; min-height: 2.4em; text-align: center; }
    .quote-page .pkg-card { grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 16px; }
    .quote-page .pkg-rate { grid-column: 2; white-space: normal; }
    .quote-page .pkg-rate-unit { display: block; }
    .quote-page .estimate-bar { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hero-video { object-fit: cover; }
    .wizard-step, .thankyou { animation: none; }
}
