.booking-page { margin: 0; background: #f4f7fc; color: #14243d; }
.booking-header { max-width: 1180px; margin: 0 auto; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.booking-header .brand { color: #14243d; text-decoration: none; font-weight: 700; }
.booking-languages { display: flex; gap: 4px; }
.booking-languages a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 10px; text-decoration: none; font-size: .875rem; }
.booking-languages [aria-current] { background: #e2ebff; color: #064cca; font-weight: 700; }
.booking-layout { max-width: 1180px; margin: 36px auto 64px; padding: 0 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 64px; }
.booking-intro { padding-top: 24px; min-width: 0; }
.booking-intro h1 { font-size: clamp(2.25rem, 4.5vw, 3.6rem); line-height: 1.14; letter-spacing: -.04em; margin: 16px 0 24px; }
.booking-intro > p { font-size: 1.125rem; color: #4d607a; line-height: 1.75; }
.booking-facts { list-style: none; margin: 32px 0; padding: 0; display: grid; gap: 16px; }
.booking-facts li { display: flex; gap: 12px; align-items: center; }
.booking-facts .icon { color: #135cdc; flex-shrink: 0; }
.booking-schedule { padding: 20px; border: 1px solid #d7e3f3; border-radius: 16px; font-size: .9rem; color: #4d607a; }
.booking-schedule p { margin-bottom: 0; }
.booking-schedule summary { cursor: pointer; min-height: 28px; }
.booking-email { display: inline-block; max-width: 100%; margin-top: 20px; padding: 8px 0; overflow-wrap: anywhere; }
.booking-card { min-width: 0; padding: 32px; background: #fff; border: 1px solid #dbe4f1; border-radius: 24px; box-shadow: 0 16px 48px rgba(24, 57, 103, .06); }
.booking-card h2 { margin-top: 10px; font-size: 1.6rem; line-height: 1.3; letter-spacing: -.025em; }
.booking-card p { color: #4d607a; line-height: 1.65; }
.booking-form { margin-top: 24px; display: grid; gap: 18px; }
.booking-form .field { min-width: 0; display: grid; gap: 8px; }
.booking-form input, .booking-form select, .booking-form textarea { box-sizing: border-box; width: 100%; min-width: 0; font: inherit; font-size: 1rem; border: 1px solid #bac9dd; border-radius: 10px; padding: 12px; background: #fff; color: #14243d; }
.booking-form select { min-height: 48px; }
.booking-form label { font-size: .9rem; font-weight: 600; }
.booking-form .button, .booking-card > .button { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 48px; padding: 12px 20px; white-space: normal; line-height: 1.5; }
.booking-form .button-secondary { background: #fff; color: #184783; border: 1px solid #b7c9e2; }
.booking-note, .booking-privacy { font-size: .82rem; line-height: 1.6; }
.booking-note { margin: 0; }
.booking-privacy summary { cursor: pointer; padding: 8px 0; font-weight: 600; color: #184783; }
.booking-back { display: inline-block; margin-top: 24px; padding: 8px 0; }
.booking-status { border-left: 3px solid #0066ff; padding-left: 16px; margin: 24px 0; }
.booking-footer { max-width: 1180px; margin: 0 auto; padding: 20px 32px 32px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .85rem; color: #4d607a; }
.booking-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.booking-trap { display: none; }
@media (max-width: 760px) {
  .booking-header { padding: 16px 20px; gap: 8px; flex-wrap: wrap; }
  .booking-header .brand { font-size: .875rem; gap: 8px; min-height: 44px; }
  .booking-header .brand img { width: 24px; height: 24px; }
  .booking-layout { margin-top: 4px; padding: 0 20px; gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .booking-intro { padding-top: 12px; }
  .booking-intro h1 { font-size: 2.2rem; margin: 12px 0 16px; }
  .booking-intro > p { font-size: 1rem; line-height: 1.65; }
  .booking-facts { margin: 20px 0; gap: 10px; font-size: .9rem; }
  .booking-schedule { padding: 14px 16px; }
  .booking-schedule summary { min-height: 0; }
  .booking-email { margin-top: 10px; }
  .booking-card { padding: 24px; border-radius: 18px; }
  .booking-footer { padding: 16px 20px; }
}
@media (max-width: 360px) {
  .booking-layout { padding: 0 16px; }
  .booking-card { padding: 20px 16px; }
}
