.booking-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr);gap:clamp(28px,5vw,72px);align-items:start}.booking-intro{position:sticky;top:120px}.booking-photo{width:100%;height:auto;border-radius:var(--radius);margin:30px 0 24px}.booking-help{border-left:3px solid var(--lime);padding-left:18px;color:#53696c;font-size:.95rem}.booking-help strong{color:var(--ink)}.booking-help a,.booking-success a:not(.btn),.booking-consent a{text-decoration:underline;text-underline-offset:3px}.booking-card{background:white;padding:clamp(22px,3vw,40px);border:1px solid #c8d3cf;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.booking-step{display:flex;align-items:center;gap:12px}.booking-step h3{margin:0;font-size:1.35rem;line-height:1.25}.booking-number{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--lime);font-weight:850;color:var(--ink)}.booking-caption{color:#53696c;font-size:.88rem;margin:12px 0 20px}.booking-days{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 16px;scrollbar-color:var(--lime) #f2f5ee}.booking-day{border:1px solid #c8d3cf;border-radius:12px;background:white;color:var(--ink);padding:12px 15px;min-width:82px;cursor:pointer;flex-shrink:0;display:flex;flex-direction:column;align-items:center;font-size:.85rem;line-height:1.4}.booking-day strong{font-size:1.55rem}.booking-day[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.booking-day:hover{border-color:var(--lime)}.booking-times{border:0;padding:0;margin:10px 0 16px;min-width:0}.booking-times legend{font-size:.95rem;font-weight:750;margin-bottom:12px}.booking-time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.booking-time{position:relative}.booking-time input{position:absolute;opacity:0;width:1px;height:1px}.booking-time label{display:block;text-align:center;padding:10px 5px;border:1px solid #c8d3cf;border-radius:9px;font-weight:700;cursor:pointer;background:white}.booking-time input:checked+label{background:#edf6d5;border-color:#476415;box-shadow:inset 0 0 0 1px #476415}.booking-time input:focus-visible+label{outline:3px solid var(--lime);outline-offset:3px}.booking-refresh{font-size:.85rem;color:var(--ink);padding:7px 0;border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.booking-divider{height:1px;background:#c8d3cf;margin:28px 0}.booking-details{padding:0;border:0;min-width:0}.booking-details:disabled{opacity:.55}.booking-optional{font-weight:400;color:#53696c}.booking-consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;font-weight:400!important}.booking-consent input{width:18px!important;height:18px!important;flex-shrink:0;margin-top:5px;accent-color:#476415}.booking-summary{margin:24px 0 16px;border-radius:12px;padding:15px 18px;background:#f2f5ee;font-weight:700;line-height:1.5}.booking-submit{width:100%;justify-content:center}.booking-submit:disabled{opacity:.5;cursor:not-allowed}.booking-feedback:not(:empty){margin-top:20px;padding:16px;border-radius:12px;background:#edf6d5;line-height:1.6}.booking-feedback.is-error{border-left:3px solid #b54024}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-success{text-align:center;padding:16px 0}.booking-success[hidden],.booking-times[hidden]{display:none}.booking-check{display:grid;place-items:center;margin:0 auto 24px;border-radius:50%;width:66px;height:66px;background:#edf6d5;color:#476415;font-size:2rem}.booking-success h3{font-size:2rem;line-height:1.2}.booking-success .btn{margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-intro{position:static}.booking-photo{max-width:420px}.booking-card{border-radius:22px}}@media(max-width:450px){.booking-time-options{grid-template-columns:repeat(3,1fr)}.booking-details{grid-template-columns:1fr}.booking-day{min-width:72px;padding:10px}.booking-step h3{font-size:1.2rem}}

/* Start planning immediately, with supporting information below on small screens. */
.booking-first{padding-top:32px}.booking-page-heading{margin-bottom:24px}.booking-page-heading h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.1;margin:0}.booking-page-heading .eyebrow{margin-bottom:10px}
@media(max-width:850px){.booking-first{padding-top:22px}.booking-page-heading{margin-bottom:20px}.booking-first .booking-card{grid-row:1}.booking-first .booking-intro{grid-row:2}}

.tour-form-panel{min-width:0}.booking-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-details .field--full{grid-column:1/-1}.booking-details .field{min-width:0}.booking-details input,.booking-details textarea{width:100%}.booking-day,.booking-caption,.booking-refresh,.booking-consent{font-size:1rem}.booking-day:focus-visible{outline:3px solid #476415;outline-offset:2px}#booking-form[hidden]{display:none}@media(max-width:850px){.tour-layout{display:flex;flex-direction:column}.tour-form-panel{order:-1;width:100%}.tour-intro{width:100%}}@media(max-width:500px){.booking-details{grid-template-columns:1fr}}

.tour-form .booking-consent{display:flex;align-items:flex-start;gap:12px}.tour-form .booking-consent input{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin-top:3px}.tour-form .booking-consent span{color:var(--ink)}.tour-form .booking-time input{width:1px;min-height:0;height:1px}.tour-form .booking-time label{margin:0}.booking-optional{color:#53696c!important}
