/* A small travel-pass enquiry, scoped to tour pages. No image or font requests. */
.booking-panel.booking-card{display:block;min-width:0;padding:26px;border:1px solid #c4d7df;border-top:1px solid #c4d7df;border-radius:25px;background:linear-gradient(156deg,#f2f8f8 0,#fff 46%);box-shadow:0 16px 45px #17374d0d;scroll-margin-top:120px;overflow:visible}
.booking-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.booking-pass-mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:46px;border-radius:13px 13px 17px 7px;background:#e2eeee;color:#35616b;transform:rotate(-5deg)}
.booking-pass-mark .icon{width:26px;height:26px;transform:rotate(5deg)}
.booking-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.085em;text-transform:uppercase;color:#5d7b84;line-height:1.5;margin-bottom:4px}
.booking-card-heading h2{margin:0;font-size:25px;line-height:1.15;letter-spacing:-.04em;color:#17374d}
.booking-fare{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px dashed #bccfd4;padding-bottom:20px;margin-bottom:22px}
.booking-fare:before,.booking-fare:after{content:"";position:absolute;bottom:-8px;width:14px;height:14px;border:1px solid #c4d7df;border-radius:50%;background:#fff}
.booking-fare:before{left:-34px}.booking-fare:after{right:-34px}
.booking-card .booking-caption{display:block;margin:0;font-size:12px;line-height:1.5;color:#53707a}
.booking-card .booking-price{margin:4px 0 0;font-size:clamp(29px,2.6vw,40px);font-weight:800;line-height:1.2;letter-spacing:-.055em;color:#17374d;overflow-wrap:anywhere}
.booking-hot{display:flex;align-items:center;gap:6px;padding:8px;border-radius:13px;background:#fff2e5;color:#b65d28;font-size:10px;font-weight:700;line-height:1.25;flex-shrink:0}
.booking-hot[hidden]{display:none}.booking-hot>.icon{width:22px;height:25px}
.booking-card .booking-form{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;margin:0}
.booking-field{min-width:0}.booking-card .booking-field>label{display:flex;align-items:center;gap:6px;margin:0 0 7px;font-size:13px;line-height:1.35;font-weight:650;color:#294c60}
.booking-field>label>.icon{width:15px;height:15px;color:#63838d}.booking-field>label>span{color:#78909a;font-size:11px;font-weight:450;margin-left:auto}
.booking-card .booking-field input,.booking-card .booking-field textarea,.booking-card .booking-field select,.booking-card .booking-field .choice-trigger{box-sizing:border-box;width:100%;max-width:100%;margin:0;min-height:46px;border:1px solid #b6cbd4;border-radius:11px;background:#fff;color:#25485c;font-size:16px;line-height:1.4;box-shadow:none;padding:11px 12px}
.booking-card .booking-field .choice-trigger{font-size:14px;gap:7px;text-align:left}
.booking-card .choice-trigger>span{min-width:0;white-space:normal;overflow-wrap:anywhere}.booking-card .choice-trigger>svg{flex:0 0 18px}
.booking-card .booking-field textarea{min-height:82px;resize:vertical;font-size:14px;line-height:1.6}
.booking-card .booking-field input::placeholder,.booking-card .booking-field textarea::placeholder{color:#7b8f99;opacity:1}
.booking-card .booking-field input:focus,.booking-card .booking-field textarea:focus,.booking-card .booking-field .choice-trigger:focus-visible{outline:2px solid #b9d5df;outline-offset:2px;border-color:#88b5c5;box-shadow:none}
.booking-counter{display:flex;align-items:center;gap:3px;border:1px solid #b6cbd4;border-radius:11px;padding:4px;background:#fff;min-height:46px}
.booking-card .booking-counter input{border:0;border-radius:0;min-height:36px;width:56px;padding:3px;text-align:center;background:transparent;appearance:textfield;-moz-appearance:textfield;margin-left:auto;font-size:17px;font-weight:650}
.booking-counter input::-webkit-inner-spin-button,.booking-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.booking-counter>span{font-size:13px;line-height:1.3;color:#587882;margin-right:auto}.booking-counter>button{flex:0 0 35px;width:35px;height:35px;min-height:35px;display:grid;place-items:center;border:0;border-radius:8px;background:#edf4f5;color:#3e6976;font-family:inherit;font-size:23px;line-height:1;padding:0}
.booking-counter>button[hidden]{display:none}.booking-counter>button:hover:not(:disabled){background:#dcebed}.booking-counter>button:disabled{opacity:.4;cursor:default}.booking-counter>button:focus-visible{outline:2px solid #8ab5c3;outline-offset:2px}
.booking-card .booking-form .form-consent{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:11px;line-height:1.65;color:#597481;font-weight:400}
.booking-card .form-consent input{flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:#2c7387}.booking-card .form-consent a{text-decoration:underline;text-underline-offset:2px;color:#2d6175}
.booking-card .booking-submit,.booking-card .booking-form button[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;border:0;border-radius:12px;background:#205f75;color:white;font-size:15px;font-weight:750;gap:10px;padding:12px 13px;line-height:1.3;box-shadow:0 5px 13px #205f751a}
.booking-card .booking-submit:hover,.booking-card .booking-form button[type=submit]:hover{background:#184f64}.booking-card .booking-submit:focus-visible{outline:3px solid #b4d5df;outline-offset:3px}.booking-card .booking-submit .icon{width:19px;height:19px;flex-shrink:0}
.booking-card .booking-fineprint{font-size:10px;line-height:1.7;text-align:center;margin:0;color:#6d828b}
.booking-card .booking-call-note{font-size:12px;line-height:1.65;margin:0;color:#4f6e7c}
.booking-card .tur360-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.booking-save{border-top:1px solid #e0e9ec;padding-top:17px;margin-top:17px;display:flex;justify-content:center}
.booking-save .favorite-toggle--full{position:static;display:inline-flex;width:auto;max-width:100%;height:auto;min-height:39px;padding:8px 13px;border:0;border-radius:10px;background:#f3f5f5;color:#52727d;font-size:12px;font-weight:600;box-shadow:none}
.booking-save .favorite-toggle[aria-pressed=true]{background:#faefe7;color:#ad643a}.booking-save .favorite-toggle:hover{background:#e9f1f2}.booking-save .favorite-toggle .icon{width:19px;height:19px;flex-shrink:0}
.booking-card .tur360-form-status{font-size:12px;line-height:1.6;margin:0 0 18px;border-color:#c4d7df}
@media(min-width:1024px){.booking-panel.booking-card{--booking-top:112px;position:sticky;top:var(--booking-top);max-height:calc(100vh - var(--booking-top) - 20px);max-height:calc(100dvh - var(--booking-top) - 20px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding-block:20px;scrollbar-width:thin;scrollbar-color:#9ebcc6 transparent}.admin-bar .booking-panel.booking-card{--booking-top:144px}.booking-panel.booking-card::-webkit-scrollbar{width:6px}.booking-panel.booking-card::-webkit-scrollbar-thumb{background:#9ebcc6;border-radius:8px}.booking-panel.booking-card::-webkit-scrollbar-track{background:transparent}}
@media(max-width:1200px){.booking-panel.booking-card{padding:22px}.booking-fare:before{left:-30px}.booking-fare:after{right:-30px}.booking-card-heading h2{font-size:24px}.booking-pass-mark{flex-basis:37px;width:37px;height:42px}.booking-hot{padding:6px;gap:3px;font-size:9px}.booking-card .booking-price{font-size:31px}}
@media(min-width:600px) and (max-width:1023px){.booking-panel.booking-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 28px;align-items:start}.booking-card-heading{grid-column:1;margin-top:4px}.booking-fare{grid-column:1;grid-row:2;align-self:start}.booking-fare:before,.booking-fare:after{display:none}.booking-card .booking-form{grid-column:2;grid-row:1/5;grid-template-columns:1fr 1fr;gap:15px}.booking-field--date,.booking-field--message,.booking-field--people,.booking-card .form-consent,.booking-card .booking-submit,.booking-fineprint,.booking-call-note{grid-column:1/-1}.booking-save{grid-column:1;grid-row:3;border:0;margin:0;padding:0;justify-content:flex-start}.booking-demo-note{grid-column:1;grid-row:4;text-align:left!important}.booking-card .tur360-form-status{grid-column:1/-1;grid-row:1}.booking-card:has(.tur360-form-status) .booking-card-heading{grid-row:2}.booking-card:has(.tur360-form-status) .booking-fare{grid-row:3}.booking-card:has(.tur360-form-status) .booking-save{grid-row:4}.booking-card:has(.tur360-form-status) .booking-demo-note{grid-row:5}.booking-card:has(.tur360-form-status) .booking-form{grid-row:2/6}}
@media(max-width:1023px){.booking-panel.booking-card{position:static;order:-1;width:100%;scroll-margin-top:105px}.booking-card .booking-field textarea{font-size:16px}.booking-card .booking-price{font-size:35px}}
@media(max-width:599px){.booking-panel.booking-card{padding:23px 21px;border-radius:23px}.booking-card-heading{margin-bottom:20px}.booking-fare{padding-bottom:19px;margin-bottom:21px}.booking-fare:before{left:-29px}.booking-fare:after{right:-29px}.booking-card .booking-form{gap:15px}.booking-card .booking-price{font-size:36px}.booking-card .booking-field .choice-trigger{font-size:15px}.booking-save .favorite-toggle--full{font-size:13px}.booking-card .booking-fineprint{font-size:11px}.booking-card .booking-demo-note{font-size:11px}.booking-hot{font-size:10px;padding:8px;gap:5px}}
@media(max-width:359px){.booking-panel.booking-card{padding:21px 17px}.booking-fare:before{left:-25px}.booking-fare:after{right:-25px}.booking-card .booking-price{font-size:31px}.booking-hot{font-size:9px;padding:6px;gap:3px}.booking-hot .icon{width:18px}.booking-field>label>span{font-size:10px}}
@media print{.booking-panel.booking-card{display:none!important}}

/* The rail scrolls inside the rounded card, with its own inset track. */
.booking-card-scroll{display:contents}
@media(min-width:1024px){
 .booking-panel.booking-card{padding:10px;overflow:hidden}
 .booking-card-scroll{display:block;padding:16px;max-height:calc(100vh - var(--booking-top) - 42px);max-height:calc(100dvh - var(--booking-top) - 42px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-padding-block:18px;scrollbar-width:thin;scrollbar-color:#8eafb9 transparent;border-radius:16px}
 .booking-card-scroll::-webkit-scrollbar{width:8px}.booking-card-scroll::-webkit-scrollbar-thumb{background:#8eafb9;border:2px solid transparent;background-clip:padding-box;border-radius:10px}.booking-card-scroll::-webkit-scrollbar-track{margin-block:14px;background:transparent}
}
.booking-card .booking-submit:disabled{opacity:1;background:#b4c4ca;color:#fff;box-shadow:none;cursor:not-allowed}
.booking-card .form-consent input{appearance:auto;min-height:20px;width:20px;height:20px;flex-basis:20px;cursor:pointer}

/* The saved-tour bookmark stays open at the right edge of the card. */
.booking-panel.booking-card{position:relative;isolation:isolate;display:block;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
.booking-card-scroll{position:relative;z-index:1;display:block;padding:24px;border:1px solid #c4d7df;border-radius:25px;background:linear-gradient(156deg,#f2f8f8 0,#fff 46%);box-shadow:0 16px 45px #17374d0d}
.booking-save.booking-save--tab{position:absolute;z-index:2;left:auto;right:-8px;top:76px;width:158px;margin:0;padding:0;border:0;display:block}
.booking-save--tab .favorite-toggle--full{position:relative;inset:auto;display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:10px;width:100%;max-width:none;min-height:44px;padding:11px;border:1px solid #dfcfa0;border-radius:12px 4px 4px 12px;background:linear-gradient(110deg,#fff0bd,#f7df9e);color:#755925;box-shadow:0 3px 9px #66511e0d;font-size:12px;font-weight:700;backdrop-filter:none;white-space:nowrap}
.booking-save--tab .favorite-toggle .icon{width:21px;height:21px;flex-shrink:0}
.booking-save--tab .favorite-toggle:hover{background:#ffeab0;color:#684a1e}
.booking-save--tab .favorite-toggle[aria-pressed=true]{background:linear-gradient(110deg,#ffe7dc,#f9d4c4);color:#a24d39;border-color:#e6b8a3}
.booking-save--tab .favorite-toggle[aria-pressed=true] .icon{fill:#c96b52}
.booking-save--tab .favorite-toggle:focus-visible{outline:3px solid #91bccb;outline-offset:3px}
@media(min-width:1024px){
 .booking-save.booking-save--tab{top:54px;right:0;width:128px}
 .booking-save--tab .favorite-toggle--full{min-height:36px;padding:7px 9px;gap:8px;font-size:11px}
 .booking-save--tab .favorite-toggle .icon{width:19px;height:19px}
 .booking-hot{align-self:flex-end}
 .tour-single--story .tour-content-grid{width:calc(100% + 16px);grid-template-columns:minmax(0,1fr) clamp(360px,30vw,400px);gap:36px}
 .booking-panel.booking-card{position:sticky;--booking-top:112px;top:var(--booking-top);max-height:none;overflow:visible}
 .admin-bar .booking-panel.booking-card{--booking-top:144px}
 .booking-card-scroll{padding:16px 20px;max-height:calc(100vh - var(--booking-top) - 16px);max-height:calc(100dvh - var(--booking-top) - 16px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:auto;border-radius:25px}
 .booking-card-heading{margin-bottom:12px;gap:10px}.booking-card-heading h2{font-size:25px}
 .booking-pass-mark{width:38px;flex-basis:38px;height:42px}
 .booking-fare{padding-bottom:10px;margin-bottom:10px}.booking-fare:before,.booking-fare:after{display:none}
 .booking-card .booking-price{font-size:34px;margin-top:2px}
 .booking-card .booking-form{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 10px}
 .booking-field--date,.booking-field--people,.booking-field--message,.booking-card .form-consent,.booking-card .booking-submit,.booking-call-note,.booking-fineprint{grid-column:1/-1}
 .booking-card .booking-field>label{margin-bottom:4px}
 .booking-card .booking-field input,.booking-card .booking-field select,.booking-card .booking-field .choice-trigger{min-height:44px;padding:10px}
 .booking-card .booking-counter input{min-height:32px;padding:3px;width:56px}
 .booking-counter{min-height:44px;padding:3px}
 .booking-card .booking-field textarea{min-height:60px;line-height:1.4;padding:9px 10px}
 .booking-card .booking-form .form-consent{line-height:1.55}
 .booking-card .booking-submit,.booking-card .booking-form button[type=submit]{min-height:46px;padding:10px 12px}
}
/* On touch screens the bookmark stays within the page, attached to the right edge. */
@media(max-width:1023px){
 .booking-card-scroll{padding:24px;max-height:none;overflow:visible}
 .booking-card .booking-form{row-gap:17px}
 .booking-card-heading{margin-bottom:54px}.booking-fare{padding-right:24px}
}
@media(min-width:600px) and (max-width:1023px){
 .booking-card-scroll{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 28px;align-items:start}
 .booking-card-heading{margin-bottom:26px}
 .booking-save.booking-save--tab{top:13px;right:-8px}
 .booking-card .booking-form{padding-top:46px}
}
@media(max-width:359px){.booking-card-scroll{padding:21px 17px}.booking-save.booking-save--tab{right:-6px;top:73px}}

@media(min-width:1024px) and (max-width:1200px){
 .booking-card-heading h2{font-size:24px}
 .booking-save.booking-save--tab{width:116px}
 .booking-save--tab .favorite-toggle--full{padding-inline:8px;gap:6px}
 .booking-save--tab .favorite-toggle .icon{width:18px;height:18px}
}
