.booking-section{padding:52px 0 72px;background:#f5f8fd;color:#092c59}
.booking-wrap{max-width:960px}.booking-intro{margin-bottom:28px}.booking-intro h1{font-size:clamp(28px,4vw,42px);line-height:1.2;margin:0 0 14px;letter-spacing:-.02em;text-wrap:balance}.booking-intro p{max-width:65ch;color:#455e7c;margin:0}
.booking-panel{border:1px solid #cbd8e8;border-radius:14px;overflow:clip;background:#fff}.booking-panel-head{padding:24px 28px;background:#edf3fa;display:flex;justify-content:space-between;gap:24px;align-items:center}.booking-panel-head h2{font-size:25px;margin:0 0 10px;line-height:1.3}.booking-panel-head p{margin:0;color:#455e7c}.booking-duration{display:grid;gap:4px;flex-shrink:0}.booking-duration strong{font-size:24px;color:#092c59}.booking-duration span{font-size:14px}
.booking-body{padding:10px 28px 26px}.booking-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid #dbe4ef;align-items:center}.booking-date{font-weight:700;font-size:17px}.booking-date small{display:block;font-size:14px;font-weight:400;color:#455e7c;margin-top:4px}.booking-slots{display:flex;flex-wrap:wrap;gap:8px}.booking-slot{border:1px solid #bacde3;border-radius:8px;background:#fff;color:#092c59;font:inherit;font-size:15px;padding:9px 14px;min-height:44px;min-width:82px;cursor:pointer;font-variant-numeric:tabular-nums}.booking-slot:hover{background:#edf3fa;border-color:#042d73}.booking-slot[aria-pressed=true]{background:#ff7a00;color:#172d48;border-color:#b64d00;font-weight:700}
.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}.booking-actions p{margin:0;color:#455e7c}.booking-result-actions{justify-content:flex-start}.booking-message{padding:20px 0;margin:0;max-width:65ch}.booking-message:empty{display:none}.booking-message[data-error=true],.booking-field-error{color:#9b2929}.booking-chosen{font-size:19px;font-weight:600;margin:22px 0 12px}.booking-help{font-size:14px;color:#455e7c;max-width:65ch;margin:12px 0}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:22px 0}.booking-field label{display:block;font-weight:600;margin-bottom:7px}.booking-field input{width:100%;border:1px solid #bacde3;border-radius:8px;padding:11px 13px;font:inherit;min-height:46px;background:#fff;color:#092c59;caret-color:#042d73}.booking-field input[aria-invalid=true]{border-color:#9b2929}.booking-field-error{font-size:14px;margin:6px 0 0}.booking-field-error:empty{display:none}
.booking-wrap :focus-visible{outline:3px solid #042d73;outline-offset:3px}.booking-wrap a{text-underline-offset:4px}.booking-wrap ::selection{background:#ffdbba;color:#092c59}.booking-wrap button:disabled{opacity:.55;cursor:wait}.booking-wrap [hidden]{display:none!important}.booking-confirm{border-top:1px solid #cbd8e8;padding-top:16px;margin-top:24px}.booking-wrap .btn{min-height:44px}.booking-wrap .btn-primary{color:#142d4d}
@media(max-width:650px){.booking-section{padding:28px 0 44px}.booking-panel-head{padding:20px 18px;align-items:flex-start;gap:12px}.booking-panel-head h2{font-size:21px}.booking-duration strong{font-size:20px}.booking-duration span{max-width:100px}.booking-body{padding:6px 18px 22px}.booking-row{grid-template-columns:1fr;gap:12px;padding:18px 0}.booking-date small{display:inline;margin-inline-start:8px}.booking-fields{grid-template-columns:1fr}.booking-actions{align-items:stretch}.booking-actions>.btn{flex-grow:1;text-align:center}.booking-actions p{flex-basis:100%}.booking-slot{flex:0 0 auto}}

#booking-agenda > .booking-actions{position:sticky;bottom:12px;z-index:2;padding:16px;background:#fff;border:1px solid #cbd8e8;border-radius:10px}
@media(max-width:650px){#booking-agenda > .booking-actions{bottom:8px;padding:12px;gap:10px}}
