/* V160 final scoped fixes: mobile bottom actions, Safari overflow, desktop readability */
@media(max-width:760px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  #quoteForm input,
  #quoteForm select,
  #quoteForm textarea{
    font-size:16px!important;
  }
  .contact-dock{
    left:auto!important;
    right:max(12px, env(safe-area-inset-right))!important;
    bottom:max(8px, env(safe-area-inset-bottom))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:auto!important;
    max-width:calc(100vw - 24px)!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  .contact-dock .booking-float,
  .contact-dock .booking-float:link,
  .contact-dock .booking-float:visited{
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    flex:0 0 136px!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
  }
  .contact-dock .whatsapp-button,
  .contact-dock .email-button{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    flex:0 0 50px!important;
    box-sizing:border-box!important;
  }
  .back-top-float{
    right:max(12px, env(safe-area-inset-right))!important;
    bottom:calc(64px + env(safe-area-inset-bottom))!important;
    z-index:129!important;
  }
  .toast{
    right:max(12px, env(safe-area-inset-right))!important;
    bottom:calc(68px + env(safe-area-inset-bottom))!important;
    max-width:calc(100vw - 24px)!important;
    box-sizing:border-box!important;
  }
  body{
    padding-bottom:132px!important;
  }
}

@media(max-width:380px){
  .contact-dock{
    right:max(10px, env(safe-area-inset-right))!important;
    gap:6px!important;
    max-width:calc(100vw - 20px)!important;
  }
  .contact-dock .booking-float,
  .contact-dock .booking-float:link,
  .contact-dock .booking-float:visited{
    width:128px!important;
    min-width:128px!important;
    max-width:128px!important;
    flex-basis:128px!important;
  }
  .contact-dock .whatsapp-button,
  .contact-dock .email-button{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    flex-basis:48px!important;
  }
  .back-top-float{
    bottom:calc(60px + env(safe-area-inset-bottom))!important;
  }
}

@media(min-width:761px){
  body{
    font-size:17px!important;
    line-height:1.68!important;
  }
  p,
  li,
  .book-lead,
  .hero-lead,
  .route-copy,
  .quote-breakdown,
  .experience-note,
  .datetime-example,
  details p,
  .faq p{
    font-size:17px!important;
    line-height:1.68!important;
  }
  .main-nav a,
  .footer-links a,
  .price-row,
  .route-group summary,
  .service-option span,
  .quote-box p,
  .quote-box span{
    font-size:16px!important;
  }
  label,
  legend,
  #quoteForm input,
  #quoteForm select,
  #quoteForm textarea,
  #quoteForm input::placeholder,
  #quoteForm textarea::placeholder{
    font-size:16.5px!important;
  }
  .btn,
  button,
  .smart-booking-cta,
  .journey-actions a,
  .submit{
    font-size:16.5px!important;
  }
  .contact-dock a,
  .contact-dock b{
    font-size:15px!important;
  }
}

/* V162 booking form rhythm: reduce excess blank space below fields only */
#quoteForm .form-grid{
  row-gap:14px!important;
}

#quoteForm .form-grid > label,
#quoteForm > label{
  margin-bottom:14px!important;
  padding-bottom:0!important;
}

#quoteForm input,
#quoteForm select,
#quoteForm textarea{
  margin-bottom:0!important;
}

#quoteForm textarea{
  display:block!important;
}

#quoteForm .datetime-example,
#quoteForm .vehicle-form-hint{
  margin-bottom:0!important;
}

#quoteForm .service-fields{
  padding-bottom:16px!important;
  row-gap:12px!important;
}

#quoteForm .service-fields > label:last-child,
#quoteForm .form-grid > label:last-child{
  margin-bottom:0!important;
}

@media(max-width:760px){
  #quoteForm .form-grid{
    row-gap:12px!important;
  }
  #quoteForm .form-grid > label,
  #quoteForm > label{
    margin-bottom:12px!important;
  }
  #quoteForm .service-fields{
    padding-bottom:14px!important;
  }
}

/* V163 footer copyright line only */
.footer-bottom{
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  text-align:center!important;
}

.footer-bottom .footer-copyright{
  color:inherit!important;
  font-size:13.5px!important;
  line-height:1.5!important;
}

.footer-bottom .footer-tagline{
  color:inherit!important;
}

/* V164 form field baseline alignment only */
#quoteForm input,
#quoteForm select{
  min-height:46px!important;
  padding-top:16px!important;
  padding-bottom:7px!important;
  line-height:1.22!important;
}

#quoteForm textarea{
  min-height:96px!important;
  padding-top:10px!important;
  padding-bottom:8px!important;
  line-height:1.45!important;
  vertical-align:bottom!important;
}

#quoteForm textarea[rows="3"]{
  min-height:84px!important;
}

#quoteForm textarea[rows="4"]{
  min-height:104px!important;
}

#quoteForm textarea:placeholder-shown{
  padding-top:48px!important;
}

#quoteForm textarea[rows="3"]:placeholder-shown{
  padding-top:34px!important;
}

#quoteForm textarea[rows="4"]:placeholder-shown{
  padding-top:50px!important;
}

#quoteForm .location-control input{
  padding-right:42px!important;
}

#quoteForm .datetime-control input{
  min-height:46px!important;
}

#quoteForm .datetime-control #pickupTime{
  padding-left:14px!important;
}

#quoteForm .calendar-toggle{
  height:46px!important;
}

@media(max-width:760px){
  #quoteForm input,
  #quoteForm select{
    min-height:46px!important;
    padding-top:16px!important;
    padding-bottom:7px!important;
    line-height:1.22!important;
  }
  #quoteForm textarea{
    min-height:100px!important;
    padding-top:10px!important;
    padding-bottom:8px!important;
    line-height:1.45!important;
  }
  #quoteForm textarea:placeholder-shown{
    padding-top:46px!important;
  }
  #quoteForm textarea[rows="3"]:placeholder-shown{
    padding-top:34px!important;
  }
}
