/* Isolated public-booking polish candidate, 2026-10-03.
   WHY: empty form edges were 2.53:1 against #fffdf7. Strengthen the existing
   warm edge without changing inputs, prices, words, focus/error/selection owners.
   Header spacing only: preserve its centered identity, type and complete copy. */
.booking-page :is(.form-input,.form-select,.form-textarea):not(:focus):not(:hover):not(.field-invalid) {
 border-color:#958667;
}
.booking-page input[type=file].form-input:not(:focus):not(:hover):not(.field-invalid) {
 border-color:#718161;
}
/* Preserve the inline validation border owned by Booking.validateStep. */
.booking-page #signatureCanvas:not(.field-invalid):not([style*="border"]) {border-color:#958667!important}
.booking-page .bike-selector-modal .bike-selector-item:not(.selected):not(:hover):not(:active) {border-color:#958667}
.booking-page .review-section:not(.pricing-review),
.booking-page .terms-container {border-color:#958667}
.booking-page .pricing-review {border-color:#718161}
.booking-page .header-flex-center {gap:8px}
.booking-page .header-title {margin-bottom:5px}
.booking-page .header-description {margin-top:8px}
.booking-page .contact-info {margin-top:12px}
.booking-page .booking-header {margin-bottom:16px}
.booking-page .progress-container {margin-bottom:20px}
.booking-page .booking-container {padding-top:28px}
@media(max-width:600px) {
 .booking-page .header-flex-center {gap:8px}
 .booking-page .contact-info {margin-top:10px}
 .booking-page .booking-container {padding-top:20px}
}

/* Native file inputs overrode generic :focus with a white inset shadow.
   Keyboard focus must remain visible, including while hovered. */
.booking-page input[type=file].form-input:focus-visible {
 outline:2px solid #977323;outline-offset:3px;
}
/* Dark chat keeps its gold palette; its 30% edge blended into #1a1a1a. */
.booking-page #claudeSplitInput:not(:focus) {border-color:#9e864c!important}
