/* Dedicated booking page: quiet layout, native controls, one clear action. */
.booking-layout { background: #f6f6f4; color: #171717; }
.booking-layout .navbar { background: #fff; border-bottom: 1px solid #e6e6e2; padding: 1rem 1.5rem; }
.booking-layout .nav-logo { background: #111; border-radius: 8px; padding: 4px 12px; }
.booking-layout .logo-img { height: 40px; }
.booking-layout .nav-lang a { color: #555; border-color: #ddd; }
.booking-layout .nav-lang a:hover { color: #111; border-color: #111; }
.booking-page { max-width: 760px; margin: auto; padding: 120px 24px 48px; }
.booking-title { font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 500; margin-bottom: 8px; }
.booking-page #booking { padding: 0; }
.booking-page #booking .section-header { text-align: start; margin-bottom: 28px; }
.booking-page #booking .section-header h2 { display: none; }
.booking-page .section-header p { color: #666; }
.booking-page .booking-form { background: #fff; border: 1px solid #e6e6e2; border-radius: 16px; padding: 28px; gap: 20px; }
.booking-page .booking-form label { color: #444; font-size: .875rem; font-weight: 500; }
.booking-page .booking-form input, .booking-page .booking-form select, .booking-page .booking-form textarea {
  background: #fff; color: #171717; border-color: #d9d9d4; border-radius: 8px; color-scheme: light; font-size: 16px;
}
.booking-page .booking-form :is(input, select, textarea, button):focus-visible { outline-color: #171717; }
.booking-page .btn-primary { background: #171717; color: #fff; border-radius: 8px; width: 100%; }
.booking-page .booking-status { font-size: .9rem; }
.booking-page .booking-status a, .booking-price-link a { color: #171717; }
.booking-price-link { margin: 24px 0; font-size: .9rem; }
.booking-prices { border-top: 1px solid #ddd; padding-top: 20px; }
.booking-prices summary { cursor: pointer; font-weight: 500; }
.booking-prices .section { padding: 24px 0 0; }
.booking-prices .section-header { display: none; }
.booking-prices .pricing-table { background: #fff; font-size: .875rem; }
.booking-prices .pricing-table th, .booking-prices .pricing-table td { border-color: #eee; }
.booking-prices .pricing-table thead, .booking-prices .pricing-note { color: #666; }
.booking-layout .footer { background: transparent; padding: 24px; border-top: 1px solid #ddd; text-align: center; font-size: .85rem; }
.booking-layout .footer a { color: #555; }
@media (max-width: 480px) {
  .booking-layout .navbar { padding: 12px; }
  .booking-layout .nav-lang { gap: 4px; }
  .booking-layout .nav-lang a { padding: 4px 8px; }
  .booking-page { padding: 104px 16px 32px; }
  .booking-page .booking-form { padding: 20px 16px; gap: 16px; }
}
