.booking-container{padding-bottom:80px}.booking-heading{padding:40px 0 35px;max-width:760px}.booking-heading h1,.reservation-heading h1{font-size:clamp(36px,4.3vw,58px);line-height:1.12;letter-spacing:-2.5px;margin:0 0 20px}.booking-heading>p:last-child,.reservation-heading>p:last-child{color:#6d776e;max-width:630px;line-height:1.85}.booking-heading .section-kicker{margin-bottom:14px}.back-arrow{transform:rotate(180deg)}.booking-panel,.reservation-card{background:#fff;border:1px solid #e3e6df;border-radius:22px;padding:32px}.booking-panel h2{font-size:25px;letter-spacing:-.8px;margin-bottom:15px}.booking-steps{list-style:none;padding:0;margin:0 0 36px;display:flex;gap:18px;justify-content:space-between;border-bottom:1px solid #e9ece5;padding-bottom:24px}.booking-steps li{display:flex;align-items:center;gap:8px;font-size:11px;color:#858c80;font-weight:600}.booking-steps li>span{display:flex;align-items:center;justify-content:center;border-radius:50%;width:27px;height:27px;background:#f2f4ed;flex-shrink:0}.booking-steps .active{color:#203b33}.booking-steps .active>span,.booking-steps .done>span{background:#203b33;color:#fff}.booking-steps svg{width:13px}.step-caption{font-size:10px;letter-spacing:1.8px;color:#858e7c;margin-bottom:8px;font-weight:600}.booking-panel .form-label{font-size:13px;font-weight:600;margin-top:2px;margin-bottom:9px}.booking-panel .form-control,.booking-panel .form-select{min-height:50px}.booking-notice{background:#f4f6ef;border:1px solid #e5e9df;border-radius:12px;display:flex;gap:12px;padding:18px;margin:22px 0;color:#365145;font-size:13px}.booking-notice>.icon{margin-top:2px;width:19px}.booking-notice p{font-size:12px;line-height:1.8;margin:5px 0 0}.booking-notice strong{font-size:13px}.quantity-control{height:50px;border:1px solid #e1e5de;border-radius:10px;display:flex;align-items:center;max-width:100%;overflow:hidden}.quantity-control button{background:#f7f8f3;border:0;height:48px;width:50px;font-size:21px;color:#264235;flex-shrink:0}.quantity-control input{min-width:0;flex:1;border:0;text-align:center;background:transparent;height:48px;width:70px;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button{appearance:none}.quantity-control button:hover{background:#eaf0e5}.form-hint{display:block;font-size:11px;line-height:1.7;color:#7d8679;margin-top:9px}.field-error{display:block;color:#b82f21;font-size:12px;margin-top:6px}.field-error:empty{display:none}.booking-selection-error{margin-top:18px}.booking-summary{border:1px solid #e3e6df;background:#fff;border-radius:22px;overflow:hidden;position:sticky;top:25px}.booking-summary-image{height:205px;width:100%;object-fit:cover}.booking-summary-body{padding:25px}.booking-summary h2{font-size:21px;line-height:1.4;letter-spacing:-.5px;margin-bottom:14px}.summary-duration{font-size:12px;color:#7c8577;display:flex;align-items:center;gap:8px}.summary-duration>.icon{width:15px}.booking-summary hr{border-color:#d9ded4;margin:21px 0}.booking-summary-facts{font-size:12px}.booking-summary-facts>div{display:flex;gap:15px;justify-content:space-between;margin-bottom:14px}.booking-summary-facts dt{font-weight:400;color:#768270}.booking-summary-facts dd{text-align:right;font-weight:600;margin:0}.booking-total{border-top:1px solid #e5e8e0;margin-top:24px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-total>span{font-size:13px}.booking-total>strong{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-1px}.booking-price-note{font-size:11px;color:#7a8376;line-height:1.8;margin-top:10px}.booking-safe{display:flex;gap:8px;align-items:center;font-size:11px;color:#48674b;margin-top:25px}.booking-safe svg{width:16px}.booking-payment{margin:30px 0 24px}.booking-payment legend{font-size:14px;font-weight:700;margin-bottom:13px}.payment-option{display:flex;gap:12px;border:1px solid #dce3d5;background:#f7f9f3;border-radius:12px;padding:17px;margin-bottom:10px;font-size:13px}.payment-option p{font-size:12px;line-height:1.7;margin:4px 0 0;color:#69765f}.payment-option input{width:17px;height:17px;accent-color:#203b33;flex-shrink:0;margin-top:3px}.booking-terms{font-size:12px;line-height:1.9;padding:18px 0;border-top:1px solid #e8ebe2;border-bottom:1px solid #e8ebe2;margin-bottom:24px}.booking-terms summary{font-size:13px;font-weight:700;cursor:pointer}.booking-terms p{margin:13px 0 0}.booking-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;margin:14px 0}.booking-consent input{width:17px;height:17px;flex-shrink:0;margin-top:3px}.booking-consent a{text-decoration:underline}.booking-submit-row{display:flex;justify-content:space-between;gap:14px;margin-top:28px}.booking-submit-row .btn{font-size:12px}.reservation-heading{max-width:760px;margin:40px auto 45px;text-align:center}.reservation-heading>p:last-child{margin:auto}.reservation-heading .section-kicker{display:block}.reservation-mark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#eaf0e3;color:#47664a;margin:0 auto 18px}.reservation-mark svg{width:27px;height:27px}.reservation-card-top{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap}.status-pill{background:#f9edcf;color:#7b5b1b;padding:7px 11px;border-radius:100px;font-size:11px;font-weight:700}.status-confirmed,.status-completed{background:#e6f0df;color:#355c31}.status-cancelled,.status-rejected{background:#f7e8e1;color:#994628}.status-awaiting_payment{background:#e6edf9;color:#375786}.booking-reference{font-size:11px;letter-spacing:1px;color:#74806c}.reservation-card h2{font-size:28px;line-height:1.3;letter-spacing:-.8px;margin-bottom:28px}.reservation-details{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:30px}.reservation-details dt{display:flex;align-items:center;gap:7px;font-weight:400;font-size:12px;color:#78816f;margin-bottom:7px}.reservation-details dt svg{width:15px}.reservation-details dd{font-size:14px;font-weight:600;margin:0}.reservation-person{border-top:1px solid #e5e9df;padding-top:22px;font-size:13px;line-height:1.8}.reservation-person h3{font-size:14px;letter-spacing:0;margin-bottom:10px}.reservation-cost{border-top:1px solid #e5e9df;margin-top:26px;padding-top:25px;display:flex;gap:20px;justify-content:space-between;align-items:center}.reservation-cost>span{font-size:14px}.reservation-cost>strong{font-size:31px;font-family:Manrope,sans-serif;letter-spacing:-1px}.payment-status{font-size:12px;color:#748168;line-height:1.9;margin-top:10px}.payment-status>span{font-weight:700;color:#385236}.reservation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.reservation-actions .btn{font-size:11px;padding:10px 15px;min-height:42px}.access-panel{background:#eff3e9;border-color:#e1e6d8}.access-panel h2{font-size:23px}.access-panel p{font-size:13px;line-height:1.85}.access-icon{display:grid;place-items:center;width:42px;height:42px;background:#fff;border-radius:50%;margin-bottom:17px;color:#4e7147}.access-code{margin-top:18px;font-size:12px}.access-code summary{cursor:pointer}.access-code code{display:block;overflow-wrap:anywhere;margin-top:12px;color:#4c6551;font-size:11px}.next-steps h3{font-size:21px;letter-spacing:-.5px}.next-steps p{font-size:13px;line-height:1.85;color:#7c8475}.next-steps a{font-weight:600;font-size:12px}.next-steps svg{width:16px}.reservation-cancel summary{cursor:pointer;font-size:14px;font-weight:600}.reservation-cancel>p{font-size:13px;line-height:1.8;margin-top:18px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.recent-empty{text-align:center;padding:28px 5px}.recent-empty>.icon{height:38px;width:38px;color:#d76542;margin-bottom:16px}.recent-empty h3{font-size:21px;margin:10px auto;max-width:330px}.recent-empty p{font-size:13px}.recent-booking{border-top:1px solid #e5e9df;padding:20px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}.recent-booking h3{font-size:16px;letter-spacing:-.2px;margin:6px 0;line-height:1.4}.recent-booking p{font-size:11px;margin:0;color:#798570}.recent-booking>span{color:#587649}.link-button{border:0;background:transparent;font-size:12px;padding:0;text-decoration:underline;color:#586d52}.reservation-payment-form{padding-top:18px}.booking-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203b33;color:white;padding:14px 22px;border-radius:12px;z-index:999;max-width:90vw;font-size:13px;box-shadow:0 5px 20px #203b3320}.booking-nojs{font-size:13px}.booking-private{overflow-wrap:anywhere}
@media(max-width:991px){.booking-summary{position:static}.booking-columns{flex-direction:column-reverse}.booking-summary{display:flex}.booking-summary-image{width:32%;height:auto;object-fit:cover}.booking-summary-body{flex:1;padding:20px}.booking-summary h2{font-size:18px}.booking-summary .summary-duration,.booking-summary hr,.booking-safe{display:none}.booking-summary-facts{margin-top:18px}.booking-summary-facts>div{margin-bottom:7px}.booking-total{padding-top:14px;margin-top:14px}.booking-price-note{margin-bottom:0}.reservation-heading{margin-top:35px}}
@media(max-width:575px){.booking-container{padding-bottom:45px}.booking-heading{padding-top:25px}.booking-heading h1,.reservation-heading h1{font-size:37px;letter-spacing:-1.7px}.booking-heading>p:last-child,.reservation-heading>p:last-child{font-size:14px}.booking-panel,.reservation-card{padding:22px;border-radius:17px}.booking-panel h2{font-size:23px}.booking-steps{gap:8px;padding-bottom:20px;margin-bottom:26px}.booking-steps li{font-size:9px;gap:5px}.booking-steps li>span{width:24px;height:24px}.booking-summary{display:block}.booking-summary-image{height:150px;width:100%}.booking-summary-body{padding:18px}.booking-summary h2{font-size:18px;margin-bottom:0}.booking-summary-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}.booking-summary-facts>div{display:block}.booking-summary-facts dd{text-align:left;font-size:11px;margin-top:4px}.booking-summary-facts>div:last-child{display:none}.booking-total{margin-top:10px;padding-top:12px}.booking-total>strong{font-size:23px}.booking-submit-row{flex-direction:column-reverse}.booking-submit-row .btn{width:100%}.reservation-details{gap:20px 16px}.reservation-details dd{font-size:13px}.reservation-card h2{font-size:23px}.reservation-actions{flex-direction:column}.reservation-cost strong{font-size:26px}.reservation-cost>span{font-size:12px}.reservation-heading{margin-bottom:30px}.booking-reference{font-size:10px}.booking-terms{font-size:12px}.access-panel .btn{font-size:12px}}
@media print{.site-header,.site-footer,.reservation-heading,.reservation-page aside,.reservation-actions,.reservation-cancel,.reservation-payment-form,.kk-toast,.booking-toast{display:none!important}.reservation-page .col-lg-8{width:100%}.reservation-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;padding:24px}body{background:white;color:black}.booking-container{padding:0}.reservation-page .booking-terms{display:block}.reservation-page .booking-terms>p{display:block}.booking-reference{color:black}a{color:inherit;text-decoration:none}.reservation-cost strong{font-size:25px}}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.reservation-timeline{margin-top:26px;padding-top:22px;border-top:1px solid #e5e9df}.reservation-timeline h3{font-size:14px;letter-spacing:0;margin-bottom:15px}.reservation-timeline p{font-size:12px;margin:12px 0;display:flex;gap:18px;align-items:baseline}.reservation-timeline p>span{font-size:10px;color:#7a8670;min-width:110px}.reservation-timeline p:before{content:"";height:6px;width:6px;background:#b8c8a9;border-radius:50%;flex-shrink:0}
.reservation-timeline .timeline-copy{display:block;min-width:0;color:#36503b;font-size:12px}.timeline-copy strong{display:block;font-size:12px;font-weight:600}.timeline-copy small{display:block;font-size:11px;color:#7a8670;line-height:1.7;margin-top:4px}
.booking-calendar{margin-top:25px;max-width:520px}.booking-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 18px}.booking-calendar-head h3{font-size:18px;letter-spacing:-.4px;text-transform:capitalize;margin:0}.booking-calendar-head button{width:42px;height:42px;border:1px solid #e1e6dc;background:#fff;color:#203b33;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.booking-calendar-head .icon{width:17px;height:17px}.booking-calendar-head button:disabled{opacity:.3;cursor:default}.booking-calendar-weekdays,.booking-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.booking-calendar-weekdays{text-align:center;color:#7a8476;font-size:11px;margin-bottom:9px}.booking-calendar-days button{min-width:0;min-height:46px;border:1px solid #d9e5d5;border-radius:11px;background:#edf4e8;color:#294d35;font-size:14px;font-weight:700;position:relative;padding:7px 0 12px}.booking-calendar-days button:after{content:"";width:3px;height:3px;border-radius:50%;background:currentColor;position:absolute;bottom:6px;left:calc(50% - 1.5px)}.booking-calendar-days button:disabled{background:#fafbf8;border-color:transparent;color:#abb2a6;font-weight:400;cursor:default}.booking-calendar-days button:disabled:after{display:none}.booking-calendar-days button.is-selected,.booking-time-options button.is-selected{background:#203b33;border-color:#203b33;color:white}.booking-calendar-days button:not(:disabled):hover,.booking-time-options button:not(:disabled):hover{box-shadow:0 0 0 2px #d6e5cf}.booking-calendar button:focus-visible,.booking-time-options button:focus-visible,.booking-live-quote button:focus-visible{outline:3px solid #f3653c;outline-offset:3px}.booking-calendar-legend{display:flex;align-items:center;gap:7px;color:#708066;font-size:10px;line-height:1.6;margin:14px 0 22px}.booking-calendar-legend>span{width:7px;height:7px;background:#97b58a;border-radius:50%;flex-shrink:0}.booking-times{border-top:1px solid #e8ece3;padding-top:20px}.booking-times h3{font-size:13px;line-height:1.7;letter-spacing:0;margin-bottom:12px}.booking-time-options{display:flex;gap:9px;flex-wrap:wrap}.booking-time-options button{display:flex;flex-direction:column;align-items:center;gap:3px;background:#fff;border:1px solid #dce4d6;border-radius:10px;min-width:88px;padding:11px 14px;color:#203b33}.booking-time-options strong{font-size:14px}.booking-time-options span{font-size:10px;color:inherit;opacity:.8}.booking-time-options button:disabled{opacity:.4;cursor:default}.booking-times [data-calendar-empty]{font-size:12px;line-height:1.7;color:#866339;margin:0}.booking-slot-fallback{margin-top:20px}.booking-slot-fallback .form-label{font-size:11px;color:#7c8678}.booking-slot-fallback .form-select{font-size:12px}.booking-live-quote{display:flex;align-items:center;gap:8px 18px;justify-content:space-between;flex-wrap:wrap;background:#f3f6ef;border:1px solid #e4ebde;border-radius:12px;padding:15px 17px;margin-top:25px;font-size:12px;line-height:1.7}.booking-live-quote strong{font-size:20px;white-space:nowrap;font-family:Manrope,sans-serif;letter-spacing:-.5px}.booking-live-quote button{border:0;background:transparent;text-decoration:underline;color:#365c39;padding:0;min-height:30px;font-size:12px}.booking-live-quote[aria-busy="true"] [data-quote-status]{opacity:.65}.booking-price-breakdown{padding-top:17px;margin-top:17px;border-top:1px solid #e5e8e0}.booking-price-breakdown>span{display:block;font-size:13px;font-weight:600}.booking-price-breakdown>small{display:block;color:#7a8376;font-size:11px;margin-top:5px}.booking-price-breakdown+.booking-total{border-top:0;margin-top:5px;padding-top:10px}.booking-panel [data-booking-next]:disabled{opacity:.5;cursor:default}.booking-panel [hidden],.booking-summary [hidden]{display:none!important}
@media(max-width:575px){.booking-calendar{margin-top:22px}.booking-calendar-days,.booking-calendar-weekdays{gap:4px}.booking-calendar-days button{min-height:42px;font-size:13px;border-radius:8px}.booking-calendar-head h3{font-size:17px}.booking-calendar-head button{width:36px;height:36px}.booking-calendar-legend{font-size:10px}.booking-panel .booking-slot-fallback .form-select{font-size:16px}.booking-live-quote{padding:13px;font-size:11px}.booking-live-quote strong{font-size:20px}.booking-time-options{gap:7px}.booking-time-options button{min-width:76px;padding:10px}.booking-panel [data-booking-next]{width:100%;font-size:11px;padding-left:12px;padding-right:12px}.booking-price-breakdown{padding-top:13px;margin-top:12px}}
.booking-container .btn-primary{background:var(--kk-orange-dark,#c94823);border-color:var(--kk-orange-dark,#c94823);color:#fff}.booking-container .btn-primary:hover,.booking-container .btn-primary:focus-visible{background:#ad3e20;border-color:#ad3e20;color:#fff}
@media(max-width:575px){.booking-heading{padding:18px 0 22px}.booking-heading h1{font-size:31px;letter-spacing:-1px;line-height:1.16;margin-bottom:12px}.booking-heading .section-kicker{font-size:9px;letter-spacing:1.4px;margin-bottom:10px}.booking-heading>p:last-child{font-size:13px;line-height:1.65;margin-bottom:0}.booking-columns .booking-summary-image{display:none}.booking-columns .booking-summary-body{padding:16px}.booking-columns .booking-summary .card-location{font-size:10px;margin-bottom:6px}.booking-columns .booking-summary h2{font-size:15px;line-height:1.5;letter-spacing:-.2px}.booking-columns .booking-summary-facts{margin-top:12px;margin-bottom:0}.booking-columns .booking-summary-facts>div{margin-bottom:2px}.booking-columns .booking-summary-facts dd{margin-top:2px}.booking-columns .booking-total{margin-top:8px;padding-top:10px}.booking-columns .booking-total>strong{font-size:21px}.booking-columns .booking-price-note{font-size:10px;line-height:1.6;margin-top:7px}.booking-columns .booking-price-breakdown{margin-top:10px;padding-top:10px}.booking-columns .booking-price-breakdown>span{font-size:11px}.booking-columns .booking-price-breakdown>small{font-size:10px;margin-top:3px}}
