/* SMH V17 Final Polish: Desktop booking grid, register modal, overflow and performance cleanup */
:root{--smh-orange:#ff8e00;--smh-green:#22c96b;--smh-navy:#07152d;--smh-dark:#111827;--smh-border:rgba(255,255,255,.12)}
html,body{max-width:100%!important;overflow-x:hidden!important;background:#fff!important}.super_container{overflow-x:hidden!important}.home,.booking,.rooms,.footer{max-width:100%!important;overflow-x:hidden!important}
/* Desktop booking engine: keep every control inside the card and make all shapes consistent */
@media (min-width:1200px){
  .booking{margin-top:-78px!important;z-index:30!important;position:relative!important;overflow:visible!important}.booking .container{width:calc(100% - 64px)!important;max-width:1480px!important;margin:0 auto!important;padding:0!important}.booking_container{width:100%!important;padding:26px 26px!important;border-radius:26px!important;background:rgba(7,21,45,.96)!important;box-shadow:0 25px 70px rgba(2,8,23,.32)!important;overflow:visible!important}.booking_form{width:100%!important;margin:0!important}.booking_form_container{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(155px,.78fr) minmax(225px,1.08fr) minmax(225px,.95fr) minmax(225px,.95fr)!important;gap:20px!important;align-items:end!important;width:100%!important;margin:0!important;flex-wrap:nowrap!important}.booking_form_inputs{display:contents!important;width:auto!important;margin:0!important;padding:0!important}.booking_dropdown,.booking_form_inputs .custom-select,.booking_form .custom-select{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;display:block!important;float:none!important;position:relative!important}.smh-booking-label{display:block!important;height:18px!important;margin:0 0 9px 2px!important;color:#fff!important;font-size:12px!important;line-height:18px!important;text-transform:uppercase!important;letter-spacing:.65px!important;font-weight:900!important}.booking_input,.booking_input_a,.smh-date-input,.booking_form select,.booking_form_inputs .custom-select select{width:100%!important;height:72px!important;min-height:72px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.12)!important;background:#fff!important;color:#172033!important;font-size:16px!important;font-weight:800!important;line-height:72px!important;padding:0 20px!important;box-shadow:none!important;outline:none!important;margin:0!important}.booking_form select{appearance:auto!important;-webkit-appearance:auto!important}.booking_form_button,.smh-whatsapp-book{width:100%!important;min-width:0!important;max-width:100%!important;height:72px!important;min-height:72px!important;border-radius:16px!important;border:0!important;margin:27px 0 0!important;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;line-height:1.15!important;font-size:14px!important;font-weight:900!important;letter-spacing:.45px!important;text-decoration:none!important;color:#fff!important;box-shadow:0 16px 34px rgba(0,0,0,.18)!important;overflow:hidden!important}.booking_form_button{background:var(--smh-orange)!important}.smh-whatsapp-book{background:var(--smh-green)!important}.booking_form_button:hover,.smh-whatsapp-book:hover{transform:translateY(-1px)!important;filter:brightness(1.03)!important;color:#fff!important}.booking_form .ml-lg-auto{margin-left:0!important}
}
/* Laptop/tablet: two columns so buttons never get cut */
@media (min-width:768px) and (max-width:1199px){
  .booking{margin-top:-48px!important}.booking .container{width:calc(100% - 36px)!important;max-width:100%!important;padding:0!important}.booking_container{padding:24px!important;border-radius:24px!important;overflow:visible!important}.booking_form_container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;align-items:end!important}.booking_form_inputs{display:contents!important}.booking_dropdown,.booking_form .custom-select{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}.booking_input,.booking_form select,.booking_form_button,.smh-whatsapp-book{width:100%!important;height:70px!important;min-height:70px!important;border-radius:16px!important}.booking_form_button,.smh-whatsapp-book{margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:normal!important;padding:0 16px!important;color:#fff!important}.booking_form .ml-lg-auto{margin-left:0!important}
}
/* Mobile: keep the good layout but prevent horizontal scroll */
@media (max-width:767px){
  .booking .container{width:100%!important;max-width:100%!important;padding:0 14px!important}.booking_container{width:100%!important;overflow:hidden!important}.booking_form_container,.booking_form_inputs{width:100%!important;max-width:100%!important}.booking_dropdown,.booking_form .custom-select,.booking_form_button,.smh-whatsapp-book{width:100%!important;max-width:100%!important}.booking_form_button,.smh-whatsapp-book{white-space:normal!important;line-height:1.15!important}.home{overflow:hidden!important}
}
/* Register/Login lightbox modal must sit above backdrop and be scrollable on small screens */
.modal,.ekko-lightbox{z-index:30000!important}.modal-backdrop{z-index:29990!important;background:#000!important;opacity:.62!important}.ekko-lightbox .modal-dialog,.modal-dialog{max-width:min(920px,calc(100vw - 28px))!important;margin:42px auto!important;z-index:30001!important}.ekko-lightbox .modal-content,.modal-content{background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:0 28px 90px rgba(0,0,0,.45)!important;opacity:1!important;overflow:hidden!important}.ekko-lightbox .modal-body,.modal-body{background:#fff!important;color:#172033!important;max-height:calc(100vh - 105px)!important;overflow-y:auto!important;padding:22px!important}.ekko-lightbox-container{background:#fff!important}.smh-form-card{background:#fff!important;color:#172033!important;padding:10px 4px 20px!important}.smh-form-card .row{margin-left:-8px!important;margin-right:-8px!important}.smh-form-card [class*="col-"]{padding-left:8px!important;padding-right:8px!important}.smh-section-title{font-size:26px!important;line-height:1.25!important;margin:0 0 18px!important;color:#172033!important;font-weight:800!important}.smh-form-card label{font-size:15px!important;font-weight:700!important;color:#172033!important;margin-bottom:8px!important}.smh-form-card .form-control{height:50px!important;border:1px solid #d0d5dd!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font-size:15px!important;padding:0 14px!important;box-shadow:none!important}.smh-form-card .form-control:focus{border-color:var(--smh-orange)!important;box-shadow:0 0 0 4px rgba(255,142,0,.15)!important}.smh-form-card .btn-primary{height:54px!important;border-radius:12px!important;background:var(--smh-orange)!important;border:0!important;color:#fff!important;font-weight:900!important;padding:0 32px!important}.smh-required{color:#dc2626!important}
@media (max-width:767px){.ekko-lightbox .modal-dialog,.modal-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;margin:18px auto!important}.ekko-lightbox .modal-body,.modal-body{max-height:calc(100vh - 55px)!important;padding:18px!important}.smh-section-title{font-size:22px!important}.smh-form-card .form-control{height:52px!important}.smh-form-card .btn-primary{width:100%!important}}
/* Footer final contrast helper */
.footer{background:#0b1220!important;color:#e5e7eb!important}.footer_logo img{opacity:1!important;filter:none!important}.footer_info div{color:#d0d5dd!important}.footer_info div div:first-child{color:#fff!important}.footer a{color:#ffb347!important}
