.back-home{font-size:15px;text-decoration:underline}.preview-notice{padding:13px 5%;background:#172930;border-bottom:1px solid #376775;color:#d0e8ed;font-size:15px}.preview-notice strong{color:#fff;margin-right:12px}.booking-main{max-width:1320px;margin:auto;padding:40px 5% 80px}.booking-heading h1{font-size:clamp(34px,4.5vw,60px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 12px}.booking-heading h1 span{color:var(--aqua);-webkit-text-stroke:0}.booking-heading p{margin:0 0 12px;color:#bec5c8}.booking-heading .eyebrow{color:var(--aqua)}.booking-progress{list-style:none;display:flex;gap:30px;padding:22px 0 26px;margin:0;color:#abb4b8;border-bottom:1px solid var(--line);font-size:15px}.booking-progress li{display:flex;align-items:center;gap:10px}.booking-progress span{display:grid;place-items:center;border:1px solid #70787b;border-radius:50%;width:30px;height:30px}.booking-progress li[aria-current]{color:#fff;font-weight:700}.booking-progress li[aria-current] span{background:var(--aqua);border-color:var(--aqua);color:#080a0b}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px;margin-top:30px}.booking-panel fieldset{margin:0 0 28px;padding:0;border:0;min-width:0}.booking-panel legend,.booking-panel h2{font-size:23px;font-weight:700;margin-bottom:14px;letter-spacing:0}.booking-panel h3{font-size:20px;letter-spacing:0}.booking-packages{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-choice{position:relative;display:flex;align-items:start;gap:12px;border:1px solid #5b6265;padding:20px;background:#111516;cursor:pointer}.booking-choice:has(input:checked){border:2px solid var(--aqua);padding:19px;background:#13252c}.booking-choice input{accent-color:var(--aqua);width:19px;height:19px;margin:5px 0 0;flex-shrink:0}.booking-choice>span{display:flex;flex-direction:column;gap:7px;line-height:1.4;font-size:15px}.booking-choice strong{font-size:18px}.booking-choice b{font-size:30px;margin:5px 0}.booking-choice small{font-size:14px;font-weight:400;color:#bdc5c8;display:block}.choice-secondary{color:#bdc5c8;font-size:14px}.booking-panel input:not([type=radio]),.booking-panel select{font:inherit;color:#fff;background:#151a1c;border:1px solid #71797c;min-height:49px;border-radius:0;padding:10px 13px;max-width:100%;width:100%;margin:0 0 17px}.booking-panel input:focus-visible,.booking-panel select:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}.people-field select{max-width:190px;margin:0}.field-label{display:block;font-size:15px;margin:0 0 7px;color:#e1e6e8}.field-note{font-size:14px;color:#b6c0c4;line-height:1.6;margin:10px 0 16px}.field-note a{text-decoration:underline;color:#fff}.date-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.date-choice{display:block;cursor:pointer}.date-choice input{position:absolute;opacity:0;width:1px;height:1px}.date-choice>span{display:flex;flex-direction:column;align-items:center;border:1px solid #596368;background:#111516;padding:13px 8px;line-height:1.5}.date-choice strong{font-size:26px}.date-choice small{font-size:14px;color:#bac4c8}.date-choice:has(input:checked)>span{border:2px solid var(--aqua);padding:12px 7px;background:#15303a}.date-choice:has(input:focus-visible)>span{outline:3px solid #fff;outline-offset:3px}.time-panel{border-left:3px solid var(--aqua);padding:16px 22px;background:#141718;margin:0 0 24px}.time-panel h2{font-size:19px;margin:0 0 10px}.time-panel p{font-size:15px;color:#bbc4c7;margin:8px 0}.time-panel #slot-time{font-size:28px;display:block}.time-panel #slot-date{font-size:16px}.time-panel .field-note{font-size:14px;color:#a9b3b7}.booking-summary{align-self:start;position:sticky;top:24px;background:#141718;border:1px solid #465055;padding:24px}.booking-summary .eyebrow{font-size:13px;color:var(--aqua)}.booking-summary h2{font-size:23px;letter-spacing:0;line-height:1.3;margin:0 0 24px}.booking-summary dl{margin:0}.booking-summary dl div{margin-bottom:17px}.booking-summary dt{font-size:14px;color:#aab5ba}.booking-summary dd{font-size:16px;margin:3px 0}.booking-total{border-top:1px solid #465055;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.booking-total span{font-size:15px}.booking-total strong{font-size:32px}.booking-summary p:not(.eyebrow){font-size:14px;color:#b9c3c7}.summary-location{padding-top:18px;border-top:1px solid #465055}.booking-help{display:block;color:#fff;text-decoration:underline;font-size:14px}.form-actions{display:flex;justify-content:space-between;gap:15px}.form-error{color:#ffb29e;font-size:15px}.form-error:empty{display:none}.review-details{margin:0 0 28px}.review-details div{border-bottom:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px}.review-details dt{font-size:15px;color:#afbdc3}.review-details dd{margin:0;font-size:16px;overflow-wrap:anywhere}.payment-preview{background:#151a1c;padding:24px;margin:20px 0 28px;border:1px solid #49545a}.payment-preview h3{margin:0 0 10px}.payment-preview p{font-size:16px}.button:disabled{cursor:not-allowed;background:#4b4d4e;border-color:#4b4d4e;color:#ddd;transform:none}.booking-panel[hidden],#time-selected[hidden]{display:none}
@media(max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.booking-packages{grid-template-columns:1fr}.date-options{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-summary{padding:20px}}
@media(max-width:700px){.booking-main{padding:30px 5% 50px}.booking-heading h1{font-size:38px}.booking-layout{display:flex;flex-direction:column;gap:30px}.booking-summary{position:static;width:100%}.booking-progress{gap:12px;justify-content:space-between;font-size:14px}.booking-progress li{gap:6px;align-items:flex-start;flex-direction:column}.booking-progress span{width:27px;height:27px}.preview-notice strong{display:block}.back-home{max-width:120px;text-align:right;font-size:14px}.review-details div{grid-template-columns:1fr;gap:4px}.booking-panel>.button{width:100%}.form-actions .button{padding:12px 15px}.date-options{grid-template-columns:repeat(3,minmax(0,1fr))}}

.people-field #people{max-width:190px;margin:0}.assigned-slots{list-style:none;padding:0;margin:15px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assigned-slots li{border:1px solid #4a555a;background:#0d1113;padding:12px 15px}.assigned-slots strong{display:block;font-size:23px}.assigned-slots span{display:block;font-size:14px;color:#c2cbcf}.booking-summary dd{overflow-wrap:anywhere}@media(max-width:430px){.assigned-slots{grid-template-columns:1fr}}

.date-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:22px 0 12px;font-size:18px!important}.date-group-heading span{font-size:14px;font-weight:400;color:#b6c0c4}.date-group-heading:first-of-type{margin-top:14px}@media(max-width:430px){.date-group-heading{display:block}.date-group-heading span{display:block;margin-top:4px}}

.booking-paths{border:0;padding:0;margin:26px 0 12px;min-width:0}.booking-paths legend{font-size:21px;font-weight:700;margin-bottom:15px}.path-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.path-options label{display:flex;gap:12px;align-items:start;border:1px solid #596368;padding:18px;background:#111516;cursor:pointer}.path-options label:has(input:checked){border:2px solid var(--aqua);padding:17px;background:#13252c}.path-options input{accent-color:var(--aqua);width:18px;height:18px;flex-shrink:0;margin:5px 0 0}.path-options strong{display:block;font-size:17px;line-height:1.4;margin-bottom:8px}.path-options small{display:block;font-size:14px;color:#b9c4c9;line-height:1.55}.alternative-journey{max-width:800px;margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}.alternative-journey h2{font-size:32px;letter-spacing:-.5px;line-height:1.3;margin:0 0 14px}.alternative-journey>p{color:#bdc8cc;font-size:17px}.alternative-journey .eyebrow{color:var(--aqua);font-size:14px}.charity-directory-empty{background:#151a1c;border-left:3px solid var(--aqua);padding:25px;margin-top:24px}.charity-directory-empty h3{font-size:20px;letter-spacing:0;margin:0 0 10px}.charity-directory-empty p{font-size:16px;color:#bdc8cc}.charity-day-selected{font-size:20px;font-weight:700}.alternative-journey .booking-help{margin-top:20px}.alternative-journey .date-options{grid-template-columns:repeat(4,minmax(0,1fr))}#individual-journey[hidden],.alternative-journey[hidden]{display:none}@media(max-width:700px){.path-options{grid-template-columns:1fr}.alternative-journey .date-options{grid-template-columns:repeat(3,minmax(0,1fr))}.alternative-journey h2{font-size:28px}}

.charity-events-main{max-width:1120px;padding-top:55px}.charity-events-main .booking-heading{max-width:850px}.charity-events-list{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.charity-events-list h2{font-size:28px;line-height:1.35;letter-spacing:0;margin:0 0 12px}.charity-events-intro{font-size:17px;max-width:780px;color:#b9c4c9}.charity-events-footer{border-top:1px solid var(--line);padding-top:25px;margin-top:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.charity-events-footer p{font-size:17px;margin:0}@media(max-width:700px){.charity-events-main{padding-top:35px}.charity-events-footer{align-items:start;flex-direction:column}.charity-events-list h2{font-size:24px}}

.day-timetable{border-top:1px solid #465055;margin-top:22px;padding-top:18px}.day-timetable h3{font-size:20px;margin:0 0 10px}.day-timetable>p{font-size:15px}.day-slots{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.day-slots li{border:1px solid #465055;background:#0c1012;padding:12px 10px;line-height:1.45}.day-slots strong{display:block;color:#e0e6e8;font-size:17px;white-space:nowrap}.day-slots span,.day-slots small{display:block;font-size:14px;color:#a9b7bd;margin-top:4px}.day-slots li.allocated{border:2px solid var(--aqua);padding:11px 9px;background:#13323f}.day-slots li.allocated strong{color:#fff}.day-slots li.allocated span{color:#c5effb}.day-slots li.allocated small{color:#e4e8ea}@media(max-width:1000px){.day-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:430px){.day-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

.charity-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.charity-option{padding:28px;border:1px solid #596368;background:#111516;display:flex;flex-direction:column;align-items:start}.charity-option .eyebrow{color:var(--aqua);font-size:14px;margin:0 0 16px}.charity-option h2{font-size:28px;line-height:1.2;letter-spacing:0;margin:0 0 18px}.charity-option p,.charity-option li{font-size:16px;line-height:1.6;color:#bdc8cc}.charity-option ul{padding-left:20px;margin:0 0 16px}.charity-option li{margin-bottom:10px}.charity-option .button{margin-top:auto;width:100%;text-align:center;font-size:15px}@media(max-width:700px){.charity-options{grid-template-columns:1fr}.charity-option{padding:24px}.charity-option h2{font-size:26px}}

.booking-requirements{margin-bottom:28px;padding:17px 20px;background:#132027;border:1px solid #49616b}.booking-requirements summary{cursor:pointer;font-size:16px;font-weight:700;line-height:1.5}.booking-requirements p,.booking-requirements>a{font-size:15px;line-height:1.6}.booking-requirements p{color:#bdc8cc}.booking-requirements a{color:#fff;text-decoration:underline}
