/* Booking page compact mobile fix. Does not affect the landing page. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{font-size:16px}
.booking-page{width:100%;max-width:620px;margin:0 auto;overflow:hidden}

.booking-head{padding:16px 18px 20px}
.back-link{font-size:13px;margin-bottom:13px}
.booking-logo{width:96px;margin:0 0 13px}
.booking-kicker{font-size:11px;margin-bottom:6px}
.booking-head h1{font-size:30px;line-height:1.05}
.booking-intro{font-size:14.5px;line-height:1.45;max-width:430px;margin-top:8px!important}
.booking-facts{gap:6px;margin-top:13px}
.booking-facts span{min-height:30px;padding:5px 9px;font-size:11.5px}

.form-wrap{padding:18px 16px 28px}
.form-card{padding:15px;border-radius:15px}
.form-heading{margin-bottom:16px}
.form-heading h2{font-size:22px;line-height:1.15;margin-bottom:4px}
.form-heading p{font-size:13px;line-height:1.4}
.field{margin-bottom:14px}
label{font-size:13.5px;margin-bottom:5px}
input,select,textarea{
  min-height:46px;
  padding:11px 12px;
  border-radius:10px;
  font-size:16px; /* prevents iPhone Safari auto-zoom */
}
.field-help{font-size:12px;margin-top:5px}
.privacy-note{padding:11px 12px;margin:2px 0 14px;font-size:12.5px}
.privacy-note strong{font-size:13px}
.checkbox-row{grid-template-columns:20px 1fr;gap:9px;margin:15px 0 16px}
.checkbox-row input{width:18px;height:18px}
.checkbox-row label{font-size:12.8px;line-height:1.4}
.form-card .cta{min-height:50px;padding:12px 16px;font-size:16px}
.submit-note{font-size:12px;margin-top:8px}
.booking-security{margin-top:14px;padding:12px 13px;font-size:12.5px;border-radius:12px}

@media (max-width:390px){
  .booking-head{padding-left:15px;padding-right:15px}
  .form-wrap{padding-left:13px;padding-right:13px}
  .booking-logo{width:90px}
  .booking-head h1{font-size:28px}
  .booking-intro{font-size:14px}
  .form-card{padding:13px}
}

@media (min-width:560px){
  .booking-head{padding:20px 26px 24px}
  .form-wrap{padding:22px 26px 34px}
  .booking-logo{width:105px}
  .booking-head h1{font-size:32px}
}
