.booking-page-intro{padding:50px 0 34px;background:#f7fafc}.booking-page-intro h1{font-size:clamp(36px,4vw,54px);margin:20px 0}.booking-page-intro p{color:var(--muted);max-width:600px}.booking-area{padding:45px 0 80px;min-height:340px}.booking-policy{padding:12px 18px;border-left:3px solid var(--gold);font-size:14px;margin-top:25px;background:var(--pale);max-width:680px}.booking-notice{max-width:750px;padding:36px;background:var(--pale);border-radius:12px}.booking-notice h2{font-size:34px}.booking-notice p{margin:20px 0;color:var(--muted)}.booking-notice .button{margin-top:8px}.booking-error{border:1px solid #a64444}.booking-filters,.booking-days,.booking-times{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.booking-days{flex-wrap:nowrap;overflow-x:auto;padding:5px 3px 12px}.booking-choice,.booking-pager{border:1px solid var(--line);border-radius:6px;padding:11px 15px;background:#fff;color:var(--navy);font-size:14px;min-height:44px;line-height:1.4}.booking-choice[aria-pressed=true]{color:#fff;background:var(--navy);border-color:var(--navy)}.booking-choice:disabled{opacity:.5;cursor:default}.booking-pager{font-size:12px;min-width:90px;background:var(--pale)}.booking-days .booking-choice{min-width:104px}.booking-loading{padding:35px 0;color:var(--muted)}.booking-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.booking-service-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.booking-service-card>img{aspect-ratio:16/9;object-fit:cover}.booking-service-body{padding:28px}.booking-service-body h2{font-size:32px}.booking-service-body p{margin:14px 0;color:var(--muted)}.booking-service-body .button{margin-top:12px}.booking-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:start}.booking-layout h2{font-size:29px;margin-bottom:17px}.booking-layout h4{font-weight:600;margin:20px 0 10px}.booking-meta{color:var(--muted);font-size:14px;margin:12px 0}.booking-help{font-size:13px;color:var(--muted);margin:15px 0}.booking-form{padding:28px;background:#f7fafc;border-radius:12px;position:sticky;top:130px}.booking-field{display:block;margin-top:18px}.booking-field>span{display:block;margin-bottom:7px;font-size:14px;font-weight:600}.booking-field input,.booking-field select{font:inherit;display:block;width:100%;padding:11px 12px;background:#fff;border:1px solid #bcced8;border-radius:5px;color:var(--text)}.booking-field input:focus-visible,.booking-field select:focus-visible{outline:3px solid #007db1;outline-offset:2px}.booking-summary{padding:16px 0;border-top:1px solid var(--line);margin-top:24px;font-size:14px}.booking-form .button{width:100%;margin-top:18px}.booking-form .button:disabled{background:#778e9c;border-color:#778e9c;cursor:default}.booking-error-text{color:#922d2d;font-size:14px;margin:15px 0;overflow-wrap:anywhere}.booking-receipt{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:14px;margin:25px 0}.booking-receipt dt{font-weight:600}.booking-receipt dd{margin:0;overflow-wrap:anywhere}.booking-notice>.text-link{display:block;margin-top:25px}.booking-day-title{font-size:18px;margin:25px 0 16px}.booking-notice:focus{outline:3px solid #007db1;outline-offset:5px}@media(max-width:700px){.booking-layout{grid-template-columns:1fr;gap:30px}.booking-form{position:static;padding:22px}.booking-area{padding-top:30px}.booking-page-intro{padding-top:30px}.booking-service-grid{grid-template-columns:1fr}.booking-notice{padding:26px}.booking-notice h2{font-size:29px}.booking-receipt{grid-template-columns:1fr;gap:5px}.booking-receipt dd{margin-bottom:12px}.booking-calendar h2{font-size:27px}.booking-notice .button{width:100%}}
.booking-addons{border:1px solid var(--line);border-radius:8px;padding:16px;margin:18px 0}.booking-addons legend{font-weight:600;padding:0 6px}.booking-addons label{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:14px}.booking-addons input{margin-top:3px;accent-color:var(--navy);width:18px;height:18px;flex-shrink:0}.booking-options{margin-bottom:30px}.booking-options h2{font-size:28px}.booking-field textarea{font:inherit;display:block;width:100%;min-height:90px;padding:11px 12px;background:#fff;border:1px solid #bcced8;border-radius:5px;color:var(--text);resize:vertical}.booking-field textarea:focus-visible{outline:3px solid #007db1;outline-offset:2px}

.booking-notice>.button{background:var(--gold);color:var(--deep);border:2px solid var(--navy);font-size:16px;font-weight:700;min-height:60px;padding:16px 25px;border-radius:10px;box-shadow:0 4px 0 #a1791e}.booking-notice>.button:hover{background:#efc954}.booking-notice>.button:focus-visible{outline:3px solid #007db1;outline-offset:6px}
