#bookingDialog{width:min(920px,94vw);max-height:92svh;overflow:auto;border-radius:24px;padding:30px;background:linear-gradient(110deg,#07131def,#07131dc9),url('/assets/miami.png') center/cover;color:white;border:1px solid #ffffff60;box-shadow:0 24px 80px #0007}#bookingDialog::backdrop{background:#0006}#bookingDialog .close{background:none;border:0;color:#fff;font-size:30px;width:36px;height:36px;float:right;cursor:pointer}#bookingDialog h3{font-family:TankCondensed,Impact,sans-serif;font-size:42px;margin:18px 0 8px}#bookingDialog p{line-height:1.55;color:#d5dce5}#bookingDialog button{font:inherit}#bookingDialog .book-step{font-size:14px;color:#9fc5ff;margin:16px 0}.booking-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.book-calendar,.book-details{background:#0a1525d9;border:1px solid #ffffff28;border-radius:18px;padding:20px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.calendar-nav strong{font-size:17px}.calendar-nav button{background:#233349;color:white;border:0;border-radius:9px;padding:9px 13px;cursor:pointer}.calendar-nav button:disabled{opacity:.3}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays span{text-align:center;color:#98aac1;font-size:13px;margin-bottom:12px}.calendar-days button{min-height:39px;aspect-ratio:1;border-radius:9px;border:1px solid #466893;background:#172b47;color:#fff;cursor:pointer}.calendar-days button:disabled{background:transparent;border-color:transparent;color:#526177;cursor:default}.calendar-days button[aria-pressed=true],.book-times button[aria-pressed=true]{background:#0069ff;border-color:#0069ff}.book-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.book-times button{border:1px solid #547191;border-radius:9px;color:#fff;background:#142741;padding:11px 5px;font-size:14px!important;cursor:pointer}.book-discount{color:#cde2ff!important;background:#0069ff25;border:1px solid #4388e0;border-radius:10px;padding:10px 12px;font-size:14px}.book-line{display:flex;justify-content:space-between;gap:12px;margin:16px 0;font-size:16px}.book-line.total{border-top:1px solid #ffffff3b;padding-top:18px;font-size:22px;font-weight:bold}.book-consent{display:flex!important;align-items:start;gap:9px;font-size:14px!important;line-height:1.5;margin:15px 0!important}.book-consent input{width:18px!important;min-width:18px;height:18px;margin:3px 0 0!important;padding:0!important}.book-back{background:transparent;color:#bbcce0;border:0;padding:0;cursor:pointer;text-decoration:underline;font-size:14px!important}.book-pay{width:100%;border-radius:14px!important;padding:16px!important;margin-top:12px}.book-pay:disabled{opacity:.45;cursor:default}.book-status{font-size:15px;min-height:24px}#bookingSuccess{background:#0a1525df;padding:26px;border-radius:18px;margin-top:22px}#bookingSuccess a{display:inline-block;background:#0069ff;color:white;border-radius:12px;padding:13px 16px;margin:8px 8px 8px 0;text-decoration:none;font-size:15px}.booking-time-note{font-size:14px!important;color:#a5b9d1!important}.book-empty{font-size:15px;grid-column:1/-1}.book-customer{font-size:14px;color:#b7c8dd}.book-selected{font-size:18px;font-weight:bold;line-height:1.5;margin:0 0 15px}#bookingDialog [hidden]{display:none!important}@media(max-width:700px){#bookingDialog{padding:22px}.booking-columns{grid-template-columns:1fr}.book-calendar,.book-details{padding:17px}#bookingDialog h3{font-size:34px}.book-times{grid-template-columns:repeat(3,1fr)}}

.book-session-options{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.book-session-options legend{font-size:16px;font-weight:bold;margin-bottom:12px}.book-session-options label{display:flex;align-items:center;gap:12px;padding:17px;margin:0!important;border:1px solid #ffffff45;border-radius:14px;background:#0a1525df;cursor:pointer}.book-session-options label:has(input:checked){border-color:#579fff;background:#0b3670dd;box-shadow:0 0 0 1px #579fff}.book-session-options input{width:18px!important;min-width:18px;height:18px!important;margin:0!important;padding:0!important;accent-color:#0069ff}.book-session-options strong,.book-session-options small{display:block}.book-session-options strong{font-size:18px}.book-session-options small{font-size:14px;color:#bbd7ff;margin-top:6px;line-height:1.5}@media(max-width:520px){.book-session-options{grid-template-columns:1fr}.book-session-options label{padding:13px}}
