.booking-section{max-width:1200px;margin:0 auto;padding:64px 24px;scroll-margin-top:100px}.booking-intro{max-width:760px;margin-bottom:28px}.booking-intro>p{color:var(--muted-foreground,#aab7ae);margin-top:20px;font-size:18px;line-height:1.7}.booking-facts{flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-size:14px;display:flex}.booking-facts span{align-items:center;gap:8px;display:inline-flex}.booking-panel{color:#243b36;background:#fff;border:1px solid #d7e0da;border-radius:16px;padding:32px;box-shadow:0 12px 40px #243b3608}.booking-layout{grid-template-columns:1fr 1fr;gap:40px;display:grid}.booking-panel h3{margin:0;font-size:21px;line-height:1.4}.booking-panel button{font:inherit;cursor:pointer;transition:background .15s}.booking-panel button:disabled{cursor:not-allowed}.booking-panel :is(button,input,textarea,a):focus-visible{outline-offset:3px;outline:3px solid #276b51}.booking-month-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px;display:flex}.booking-month-nav button{background:#fff;border:1px solid #d7e0da;border-radius:8px;place-items:center;min-width:44px;min-height:44px;display:grid}.booking-month-nav button:disabled{opacity:.35}.booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.booking-weekday{text-align:center;color:#52645e;padding:6px 0;font-size:12px}.booking-day{background:#edf5ee;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:49px;padding:4px 0;line-height:1.2;display:flex}.booking-day span{font-size:12px;line-height:12px}.booking-day.no-slots{color:#68736d;background:#f2f3f2}.booking-day:disabled{opacity:.5}.booking-day[aria-pressed=true],.booking-slots button[aria-pressed=true]{color:#fff;background:#244b3d;border-color:#244b3d}.booking-day:not(:disabled):hover,.booking-slots button:not(:disabled):hover{box-shadow:inset 0 0 0 2px #244b3d}.booking-legend,.booking-small{color:#52645e;margin-top:14px;font-size:13px}.booking-times{border-left:1px solid #e1e8e2;padding-left:32px}.booking-times h3{margin:8px 0}.booking-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.booking-slots>p{grid-column:1/-1}.booking-slots button{color:#244b3d;background:#fff;border:1px solid #bbccc0;border-radius:8px;min-height:52px;padding:6px 3px}.booking-slots button:disabled{color:#737b75;background:#f2f3f2;border-color:#e7e9e7}.booking-slots button span{font-size:10px;display:block}.booking-form{border-top:1px solid #e1e8e2;margin-top:32px;padding-top:24px}.booking-form fieldset{border:0;min-width:0;padding:0}.booking-form legend{float:none;margin-bottom:20px;font-size:18px;font-weight:600}.booking-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.booking-fields label{flex-direction:column;gap:6px;font-size:14px;display:flex}#book-a-call .booking-fields input,#book-a-call .booking-fields textarea{width:100%;font:inherit;color:#243b36;caret-color:#243b36;background:#fff;border:1px solid #bbccc0;border-radius:6px;padding:12px}.booking-consent{align-items:flex-start;gap:10px;margin:24px 0;font-size:14px;display:flex}.booking-consent input{min-width:18px;height:18px;margin-top:4px}.booking-panel a{color:inherit;text-underline-offset:3px;text-decoration:underline}.booking-primary{color:#fff;background:#244b3d;border:0;border-radius:8px;padding:14px 22px;font-weight:600;display:inline-block}.booking-primary:disabled{opacity:.6}.booking-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking-error{background:#fff6ed;border:1px solid #e0c7ad;border-radius:8px;margin-top:20px;padding:18px}.booking-error p{margin:0 0 10px}.booking-error button{background:#fff;border:1px solid #82684a;border-radius:6px;margin-bottom:12px;padding:10px 16px}.booking-result{max-width:700px}.booking-result p{margin-top:18px;line-height:1.7}.booking-reference{overflow-wrap:anywhere;font-size:13px}@media(max-width:700px){.booking-section{padding:40px 16px}.booking-panel{padding:20px 14px}.booking-layout,.booking-fields{grid-template-columns:1fr;gap:24px}.booking-times{border-top:1px solid #e1e8e2;border-left:0;padding:20px 0 0}.booking-days{gap:4px}.booking-day{min-height:46px}.booking-month-nav h3{font-size:18px}}
