.booking-form{max-width:760px;margin:25px auto;background:#fffefa;border:1px solid #d6e6db;border-radius:16px;padding:32px;text-align:left}.booking-form fieldset{border:0;border-bottom:1px solid #dce8df;padding:20px 0 30px;margin:0 0 24px;min-width:0}.booking-form legend{font-size:21px;font-weight:700;color:#285b49}.booking-form label{display:block;font-weight:700;font-size:16px;margin:18px 0}.booking-form label>span{font-size:11px;color:#855338;margin-left:6px;background:#fff1dc;padding:3px 5px;border-radius:3px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:12px;border:1px solid #a8bdb0;border-radius:6px;font:inherit;font-weight:400;background:#fff;color:#263e35;min-height:48px}.booking-form :focus-visible{outline:3px solid #e3b83d;outline-offset:3px}.booking-form small,.field-help{font-size:13px;font-weight:400;line-height:1.8;color:#50665a}.booking-note{background:#eaf6ef;padding:12px 16px;font-size:14px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.calendar-nav button,.secondary-booking{background:white;border:1px solid #a8bdb0;border-radius:6px;min-height:44px;padding:8px 16px;color:#285b49;font:inherit;cursor:pointer}.trial-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.trial-calendar .weekday{text-align:center;font-size:13px;padding:6px}.trial-calendar button{font:inherit;min-height:48px;background:#eaf6ef;border:1px solid #bed9c8;border-radius:6px;color:#285b49;cursor:pointer;font-weight:700;padding:4px}.trial-calendar button:disabled{background:#fafafa;border-color:transparent;color:#b4bbb7;cursor:default}.trial-calendar button[aria-pressed=true]{background:#285b49;color:white;border:2px solid #285b49}.calendar-nav button:disabled{opacity:.3;cursor:default}.selected-trial{padding:14px;background:#eaf6ef;font-weight:700;border-radius:6px;font-size:16px}.sibling-card{background:#f3f8f4;padding:16px;margin:16px 0;border-radius:8px}.booking-form [hidden]{display:none!important}#booking-error{color:#a33526}#booking-review{border-top:2px solid #a8bdb0;margin-top:30px;padding-top:20px;scroll-margin-top:24px}#review-values{display:grid;grid-template-columns:140px 1fr;gap:12px;font-size:15px}#review-values dt{font-weight:700}#review-values dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.booking-form>.button{width:100%;cursor:pointer}@media(max-width:600px){.booking-form{padding:20px 16px;margin-left:-3%;margin-right:-3%}.form-pair{grid-template-columns:1fr;gap:0}.trial-calendar{gap:4px}.trial-calendar button{min-height:44px}.booking-form legend{font-size:19px}#review-values{grid-template-columns:1fr;gap:5px}#review-values dd{margin-bottom:12px}}

.selected-trial{margin-top:28px}.trial-times{display:flex;gap:12px;margin-top:24px}.trial-times button{flex:1;min-height:48px;border:1px solid #a8bdb0;background:white;color:#285b49;border-radius:6px;font:inherit;cursor:pointer}.trial-times button[aria-pressed="true"]{background:#285b49;color:white}.trial-times:not([hidden])+.selected-trial{margin-top:16px}

.booking-page{background:#f3f8f4}.booking-header{position:static;max-width:960px;margin:auto;background:transparent;box-shadow:none;padding:20px 24px}.booking-header>a:last-child{font-size:14px}.booking-main{max-width:800px;margin:30px auto 70px;padding:0 24px}.booking-main h1{font-size:clamp(25px,5vw,34px);text-align:center;scroll-margin-top:24px}.booking-intro{text-align:center;font-size:15px}.booking-progress{display:flex;list-style:none;padding:0;margin:28px auto;gap:8px;justify-content:center}.booking-progress li{padding:10px 12px;border-bottom:3px solid #d6e6db;color:#60746b;font-size:14px}.booking-progress li[aria-current]{border-color:#285b49;color:#285b49;font-weight:700}.booking-actions{display:flex;gap:12px}.booking-actions .button{flex:1;cursor:pointer}.booking-contact{text-align:center}.booking-page #booking-review{margin-top:0;border-top:0;padding-top:0}.booking-page .booking-form{margin:24px 0}.booking-page .booking-form fieldset{margin-bottom:16px}.booking-page [hidden]{display:none!important}@media(max-width:600px){.booking-main{padding:0 16px;margin-top:16px}.booking-progress li{font-size:12px;padding:8px 6px}.booking-header{padding:16px}.booking-header .logo img{width:100px}}

#booking-title:focus{outline:none}.booking-page #booking-review:focus{outline:none}

#booking-complete{background:white;border:1px solid #d6e6db;border-radius:16px;padding:32px 24px;text-align:center;scroll-margin-top:24px}#booking-complete:focus{outline:none}.complete-mark{display:grid;place-items:center;width:64px;height:64px;margin:28px auto 20px;border-radius:50%;background:#eaf6ef;color:#285b49;font-size:32px}#booking-complete h2{font-size:24px}.complete-guidance{background:#f3f8f4;padding:20px;margin:24px 0;text-align:left}.complete-guidance h3{font-size:18px}.complete-guidance p{font-size:16px;line-height:1.9}#preview-complete{display:block;width:100%;margin:20px 0;cursor:pointer}

.email-preview{text-align:left;margin:24px 0;border-top:1px solid #d6e6db;padding-top:18px}.email-preview summary{cursor:pointer;font-weight:700;font-size:15px}.email-preview pre{font:inherit;font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8faf8;padding:16px}
