.booking-panel{position:relative;scroll-margin-top:105px}.booking-anchor{position:absolute;top:-105px}.booking-panel h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.08}.booking-step{border:0;margin:32px 0 0;padding:0;min-width:0}.booking-step legend{font-size:1.05rem;font-weight:650;margin-bottom:20px;width:100%;display:flex;align-items:center;gap:12px}.booking-step legend>span{border:1px solid #444a52;border-radius:50%;width:32px;height:32px;display:inline-grid;place-items:center;font-size:.7rem;color:#bac1cb;flex-shrink:0}.booking-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.booking-package{position:relative;cursor:pointer;display:flex}.booking-package input{position:absolute;opacity:0;width:1px}.booking-package>span{display:block;width:100%;padding:20px;border:1px solid #42474f;background:#0d0f12;border-radius:10px;transition:border-color .15s}.booking-package input:checked+span{border-color:#e2e4e8;background:#1d2228;box-shadow:inset 0 0 0 1px #e2e4e8}.booking-package input:focus-visible+span{outline:3px solid #c9d7ec;outline-offset:4px}.booking-package strong{display:flex;justify-content:space-between;gap:10px;font-size:1rem}.booking-package b{font-weight:500;white-space:nowrap}.booking-package small{display:block;font-size:.8rem;line-height:1.55;color:#bac0c9;margin-top:12px}.booking-hint{font-size:.8rem;line-height:1.6;color:#aeb6c1;margin:12px 0}.booking-hint a{text-decoration:underline}.booking-calendar-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:28px}.booking-calendar,.booking-times{border:1px solid #353b44;border-radius:12px;padding:20px;background:#0d0f12;min-width:0}.calendar-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:20px}.calendar-heading h3,.booking-times h3{font-size:1rem;line-height:1.4}.calendar-nav{background:none;border:1px solid #454c56;border-radius:6px;color:white;font-size:1.5rem;width:38px;height:38px;cursor:pointer}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;font-size:.68rem;color:#aeb6c1;padding-bottom:10px}.calendar-day{height:42px;min-width:0;display:grid;place-items:center;background:#20252c;border:1px solid #454c56;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:0}.calendar-day:disabled{background:#111419;color:#626b78;border-color:transparent;cursor:default}.calendar-day[aria-pressed=true]{background:#e3e6eb;color:#101318;border-color:#e3e6eb}.calendar-day:focus-visible,.calendar-nav:focus-visible,.time-option:has(input:focus-visible){outline:3px solid #cad8ef;outline-offset:2px}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.time-option{position:relative;cursor:pointer}.time-option input{position:absolute;opacity:0;width:1px}.time-option span{display:block;border:1px solid #555d69;border-radius:6px;padding:13px 8px;text-align:center;font-size:.9rem}.time-option input:checked+span{background:#e3e6eb;color:#101318;border-color:#e3e6eb}.booking-summary{padding:18px 20px;border-left:2px solid #d3d7df;background:#191d23;line-height:1.6;font-size:.9rem}.booking-submit{margin:16px 0;max-width:100%;white-space:normal;text-align:center}.booking-package-link{width:100%;margin-top:10px;font-size:.8rem}.booking-panel [aria-busy=true]{opacity:.65}.booking-panel .is-error{color:#ffc4bd}
@media(max-width:700px){.booking-packages{grid-template-columns:1fr}.booking-package>span{padding:16px}.booking-package small{margin-top:6px}.booking-calendar-layout{grid-template-columns:1fr;gap:12px}.booking-calendar,.booking-times{padding:16px}.calendar-day{height:40px}.booking-panel{padding:24px 16px}.booking-step{margin-top:28px}.booking-submit{width:100%;font-size:.85rem}.booking-step legend{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.booking-package>span{transition:none}}
