/* Seansla V128 — centered, isolated AJAX authentication modal */
.booking-auth-modal{
  --auth-purple:#6500cc;--auth-purple-dark:#4f009f;--auth-border:#e7deec;
  --auth-text:#261a2d;--auth-muted:#7e7186;
  position:fixed!important;inset:0!important;width:100vw!important;height:100svh!important;
  max-width:100vw!important;padding:18px!important;overflow:hidden!important;overscroll-behavior:none
}
.booking-auth-modal,.booking-auth-modal *{box-sizing:border-box}
.booking-auth-modal .modal-dialog,
.booking-auth-modal.is-register-mode .modal-dialog,
.booking-auth-modal.is-verification-mode .modal-dialog{
  width:min(500px,calc(100vw - 36px))!important;max-width:500px!important;height:100%!important;
  min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;
  margin:0 auto!important;transform:none!important
}
.booking-auth-modal.is-register-mode .modal-dialog{width:min(680px,calc(100vw - 36px))!important;max-width:680px!important}
.booking-auth-modal.is-verification-mode .modal-dialog{width:min(460px,calc(100vw - 36px))!important;max-width:460px!important}
.booking-auth-modal .modal-content,
.booking-auth-modal.is-register-mode .modal-content{
  position:relative!important;width:100%!important;min-width:0!important;max-height:calc(100svh - 36px)!important;
  display:block!important;overflow:hidden!important;border:1px solid rgba(72,31,96,.13)!important;
  border-radius:24px!important;background:#fff!important;box-shadow:0 30px 90px rgba(30,12,41,.32)!important
}
.booking-auth-side{display:none!important}
.booking-auth-panel,.booking-auth-modal.is-register-mode .booking-auth-panel{
  width:100%!important;min-width:0!important;max-height:calc(100svh - 36px)!important;
  display:block!important;padding:24px 26px 20px!important;overflow-x:hidden!important;overflow-y:auto!important;
  background:radial-gradient(circle at 100% 0,rgba(112,0,223,.05),transparent 30%),#fff!important
}
.booking-auth-close{
  position:absolute!important;top:14px!important;right:14px!important;z-index:5!important;
  width:38px!important;height:38px!important;display:grid!important;place-items:center!important;
  padding:0!important;border:1px solid #e5dbea!important;border-radius:12px!important;background:#fff!important;
  color:#5e5166!important;cursor:pointer!important;box-shadow:none!important
}
.booking-auth-close:hover,.booking-auth-close:focus-visible{background:#f5eff9!important;color:var(--auth-purple)!important;outline:none!important;transform:none!important}
.booking-auth-close svg{width:18px!important;height:18px!important}
.booking-auth-heading{padding:0 48px 0 0!important}
.booking-auth-panel-top{display:flex!important;align-items:center!important;margin:0 0 15px!important}
.booking-auth-panel-brand{display:inline-flex!important;align-items:center!important;text-decoration:none!important}
.booking-auth-panel-brand img{display:block!important;width:112px!important;height:auto!important}
.booking-auth-heading>span{display:block!important;margin:0 0 4px!important;color:#7a27cf!important;font-size:8px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.booking-auth-heading .modal-title,.booking-auth-modal.is-register-mode .booking-auth-heading .modal-title{
  margin:0!important;color:var(--auth-text)!important;font-size:24px!important;font-weight:900!important;
  letter-spacing:-.035em!important;line-height:1.12!important
}
.booking-auth-heading p{display:none!important}
.booking-auth-tabs,.booking-auth-modal.is-register-mode .booking-auth-tabs{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin:16px 0 15px!important;
  padding:4px!important;border:1px solid #eee7f2!important;border-radius:13px!important;background:#f5f0f8!important
}
.booking-auth-tabs button{
  min-width:0!important;min-height:40px!important;padding:0 12px!important;border:0!important;border-radius:9px!important;
  background:transparent!important;color:#817488!important;font:900 10.5px/1 "Maven Pro",sans-serif!important;cursor:pointer!important
}
.booking-auth-tabs button.is-active{background:#fff!important;color:var(--auth-purple)!important;box-shadow:0 5px 15px rgba(53,31,68,.09)!important}
.booking-auth-tabs button[hidden]{display:none!important}
.booking-auth-message{display:none!important;margin:0 0 11px!important;padding:10px 12px!important;border-radius:10px!important;font-size:10px!important;font-weight:750!important}
.booking-auth-message.is-visible{display:block!important}.booking-auth-message.error{background:#fff0f2!important;color:#a32238!important}.booking-auth-message.success{background:#edf9f1!important;color:#27603a!important}
.booking-auth-form,.booking-auth-register-form{width:100%!important;min-width:0!important;display:grid!important;gap:11px!important}
.booking-auth-form[hidden]{display:none!important}
.booking-auth-grid{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 11px!important}
.booking-auth-grid>.booking-auth-field{min-width:0!important;width:auto!important}.booking-auth-grid>.booking-auth-field.is-wide{grid-column:1/-1!important}
.booking-auth-field{min-width:0!important;display:grid!important;gap:6px!important;margin:0!important;color:#3d3045!important;font:850 9px/1.3 "Maven Pro",sans-serif!important}
.booking-auth-field>span small{color:#93889a!important;font-weight:600!important}
.booking-auth-control{position:relative!important;min-width:0!important;width:100%!important}
.booking-auth-control>svg{position:absolute!important;top:50%!important;left:13px!important;z-index:1!important;width:17px!important;height:17px!important;color:#9d8ca7!important;transform:translateY(-50%)!important;pointer-events:none!important}
.booking-auth-modal .booking-auth-control input,.booking-auth-modal .booking-auth-control select{
  width:100%!important;min-width:0!important;min-height:46px!important;margin:0!important;padding:0 12px 0 40px!important;
  border:1px solid #dfd6e5!important;border-radius:11px!important;background:#fff!important;color:#302538!important;
  font:750 11px/1 "Maven Pro",sans-serif!important;outline:none!important;box-shadow:none!important
}
.booking-auth-modal .booking-auth-control select{padding-right:34px!important}
.booking-auth-modal .booking-auth-control input:focus,.booking-auth-modal .booking-auth-control select:focus{border-color:#9e69cf!important;box-shadow:0 0 0 3px rgba(102,0,204,.08)!important}
.booking-google-auth{display:grid!important;gap:10px!important;margin:0 0 1px!important}
.booking-google-button{width:100%!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:0 14px!important;border:1px solid #ddd4e4!important;border-radius:11px!important;background:#fff!important;color:#2e2434!important;font:850 11px/1 "Maven Pro",sans-serif!important;cursor:pointer!important}
.booking-google-button:hover,.booking-google-button:focus-visible{border-color:#bda9cc!important;box-shadow:0 8px 22px rgba(50,24,65,.08)!important;outline:none!important;transform:none!important}
.booking-google-button:disabled{opacity:.6!important;cursor:wait!important}.booking-google-button img{width:18px!important;height:18px!important;display:block!important;object-fit:contain!important}
.booking-auth-divider{display:flex!important;align-items:center!important;gap:9px!important;color:#9a8ea1!important;font-size:8px!important;font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important}
.booking-auth-divider:before,.booking-auth-divider:after{content:""!important;height:1px!important;flex:1 1 auto!important;background:#eee7f2!important}
.booking-auth-login-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.booking-auth-login-row--end{justify-content:flex-end!important}
.booking-auth-login-row a{color:var(--auth-purple)!important;font-size:9px!important;font-weight:850!important;text-decoration:none!important}
.booking-auth-submit,.booking-auth-form>.booking-auth-submit,.booking-auth-verification>.booking-auth-submit{
  width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  padding:0 15px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#7900eb,#5b00c0)!important;
  color:#fff!important;font:900 11px/1 "Maven Pro",sans-serif!important;cursor:pointer!important;box-shadow:0 13px 28px rgba(98,0,190,.22)!important
}
.booking-auth-submit:hover,.booking-auth-submit:focus-visible{background:linear-gradient(135deg,#6f00d8,#4f00a9)!important;outline:none!important;transform:none!important}
.booking-auth-submit:disabled{opacity:.66!important;cursor:wait!important;box-shadow:none!important}.booking-auth-submit svg{width:17px!important;height:17px!important}
.booking-auth-terms{min-width:0!important;display:flex!important;align-items:flex-start!important;gap:8px!important;margin:0!important;color:#766a7e!important;font-size:8.5px!important;font-weight:650!important;line-height:1.45!important}
.booking-auth-terms input{width:15px!important;height:15px!important;min-height:15px!important;flex:0 0 15px!important;margin:1px 0 0!important;padding:0!important}.booking-auth-terms a{color:var(--auth-purple)!important;font-weight:850!important}
.booking-auth-security{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin:0!important;padding:12px 0 0!important;color:#95899c!important;font-size:8px!important;font-weight:700!important}.booking-auth-security svg{width:14px!important;height:14px!important;color:#7c3aed!important}
.booking-auth-verification[hidden]{display:none!important}.booking-auth-verification{display:grid!important;gap:12px!important;padding-top:2px!important;text-align:center!important}
.booking-auth-back{justify-self:start!important;display:inline-flex!important;align-items:center!important;gap:5px!important;padding:0!important;border:0!important;background:transparent!important;color:#6d2da4!important;font-size:9px!important;font-weight:850!important;cursor:pointer!important}.booking-auth-back svg{width:15px!important;height:15px!important}
.booking-auth-verification-icon{width:56px!important;height:56px!important;display:grid!important;place-items:center!important;margin:3px auto 0!important;border-radius:17px!important;background:#f5edfb!important;color:var(--auth-purple)!important}.booking-auth-verification-icon svg{width:28px!important;height:28px!important}
.booking-auth-verification h3{margin:0!important;color:var(--auth-text)!important;font-size:21px!important;font-weight:900!important;letter-spacing:-.035em!important}.booking-auth-verification>p{max-width:350px!important;margin:-3px auto 2px!important;color:var(--auth-muted)!important;font-size:10px!important;line-height:1.5!important}.booking-auth-verification>p strong{color:#35253f!important}.booking-auth-verification .booking-auth-field{text-align:left!important}
.booking-auth-code-control input{padding-left:12px!important;text-align:center!important;font-size:19px!important;font-weight:900!important;letter-spacing:.27em!important}.booking-auth-code-note{min-height:14px!important;display:block!important;margin-top:-3px!important;color:#7b18d8!important;font-size:9px!important;font-weight:800!important}.booking-auth-resend{justify-self:center!important;padding:2px 8px!important;border:0!important;background:transparent!important;color:var(--auth-purple)!important;font-size:9px!important;font-weight:850!important;cursor:pointer!important}.booking-auth-resend:disabled{opacity:.55!important;cursor:wait!important}.booking-auth-modal.is-verification-mode .booking-auth-tabs{display:none!important}
html.booking-auth-viewport-lock,body.booking-auth-page-lock{overflow:hidden!important;overscroll-behavior:none!important}body.booking-auth-page-lock{padding-right:0!important}
@media(max-width:575.98px){
  .booking-auth-modal{padding:10px!important}
  .booking-auth-modal .modal-dialog,.booking-auth-modal.is-register-mode .modal-dialog,.booking-auth-modal.is-verification-mode .modal-dialog{
    width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;height:100%!important;min-height:0!important;align-items:center!important;margin:0 auto!important
  }
  .booking-auth-modal .modal-content,.booking-auth-modal.is-register-mode .modal-content{max-height:calc(100svh - 20px)!important;border-width:1px!important;border-radius:22px!important}
  .booking-auth-panel,.booking-auth-modal.is-register-mode .booking-auth-panel{max-height:calc(100svh - 20px)!important;padding:19px 16px 16px!important}
  .booking-auth-close{top:11px!important;right:11px!important;width:36px!important;height:36px!important}
  .booking-auth-heading{padding-right:42px!important}.booking-auth-panel-top{margin-bottom:14px!important}.booking-auth-panel-brand img{width:100px!important}
  .booking-auth-heading .modal-title,.booking-auth-modal.is-register-mode .booking-auth-heading .modal-title{font-size:21px!important}
  .booking-auth-tabs{margin-top:14px!important}.booking-auth-grid{grid-template-columns:1fr!important}.booking-auth-grid>.booking-auth-field.is-wide{grid-column:auto!important}
  .booking-auth-verification h3{font-size:20px!important}
}
