/* 1.4 — layout-safe selectors, adventure collection, transparent ticket and native IO cart. */
.review-strip{justify-content:space-between}
.ride-selector{display:flex;flex-direction:row;gap:6px;padding:5px;isolation:auto}
.ride-selector:before{display:none!important}
.ride-selector button{position:relative;flex:1;min-width:0;justify-content:center;padding:13px 8px;border:0;border-radius:6px;white-space:normal;font-size:14px;background:transparent;color:#fff;line-height:1.3}
.ride-selector button[aria-pressed=true]{background:white!important;color:var(--blue)!important;box-shadow:0 3px 9px #001c4c22}
.ride-selector button:focus-visible{outline:2px solid white;outline-offset:3px}
.ride-feature,.ride-stage{min-height:530px}
.adventure-collection{padding-block:90px 30px;scroll-margin-top:180px}
.adventure-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.adventure-heading :is(h1,h2){font-size:clamp(38px,4.5vw,64px);line-height:1.04;letter-spacing:-.05em;margin:0;color:var(--blue)}
.adventure-heading>p{max-width:350px;line-height:1.65;color:var(--ink)}
.adventure-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:stretch}
.adventure-card{border-radius:16px;overflow:hidden;display:flex;flex-direction:column;position:relative;background:var(--blue);color:#fff;box-shadow:0 8px 0 #d6e4f3}
.adventure-card .adventure-image{position:relative;height:340px;overflow:hidden;background:#082e61}
.bcem-design .adventure-image img{width:100%;height:100%;object-fit:cover;transition:transform 450ms cubic-bezier(.22,1,.36,1)}
.adventure-zipline .adventure-image img{object-position:50% 45%}
.adventure-space{background:#f0f6fc;color:var(--blue);display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.adventure-space .adventure-image{height:100%;min-height:520px}
.bcem-design .adventure-space .adventure-image img{object-fit:cover;object-position:50% center}
.adventure-copy{padding:28px 30px 30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.adventure-number{font-size:10px;letter-spacing:.16em;font-weight:700;opacity:.8}
.adventure-copy h3{font-size:40px;letter-spacing:-.035em;line-height:1.05;margin:13px 0;color:inherit}
.adventure-copy p{font-size:16px;line-height:1.65;margin:0 0 24px;color:inherit}
.adventure-copy .text-link{color:inherit;font-size:14px;gap:20px;margin-top:auto}
.adventure-copy .text-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.adventure-badge{position:absolute;top:18px;left:18px;border-radius:3px;background:var(--red);padding:8px 12px;color:white;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em;transform:rotate(-3deg)}
.adventure-credit{position:absolute;bottom:0;left:0;right:0;padding:20px 10px 8px;font-size:9px;background:linear-gradient(transparent,#061e3bdb);color:white!important;text-decoration:underline}
.adventure-enquiry{padding-block:75px;text-align:center}.adventure-enquiry h2{color:var(--blue)}.adventure-enquiry p{margin-bottom:25px}
@media(hover:hover) and (pointer:fine){.adventure-card:has(a:hover) .adventure-image img{transform:scale(1.035)}}
/* Mask the entire ticket; the page itself is visible through both notches. */
.ticket{--stub-width:320px;--seam-x:calc(100% - var(--stub-width));--seam-y:75%;grid-template-columns:1fr var(--stub-width);mask-image:radial-gradient(circle 16px at var(--seam-x) 0,transparent 15px,#000 16px),radial-gradient(circle 16px at var(--seam-x) 100%,transparent 15px,#000 16px);mask-composite:intersect;-webkit-mask-composite:source-in;box-shadow:none}
.ticket-stub:before,.ticket-stub:after{display:none!important}
.ticket-section{background:linear-gradient(115deg,#e4effb 0%,#fff 55%,#d9e9fa 100%)}
/* Scope all overrides to IO's existing cart. Its controls and calculations remain native. */
body.bcem-design #cartPopover{box-sizing:border-box;position:fixed!important;top:18px!important;right:18px!important;left:auto!important;bottom:auto!important;width:min(450px,calc(100% - 36px))!important;max-width:none!important;min-width:0!important;height:auto!important;max-height:calc(100dvh - 36px)!important;padding:0 24px 22px!important;background:#fff!important;color:#183858!important;border:1px solid #cedded!important;border-radius:18px!important;box-shadow:0 24px 90px #001d4d55!important;font-family:'DM Sans',sans-serif!important;font-size:14px!important;line-height:1.5!important;overflow:auto!important;overscroll-behavior:contain;z-index:100001!important;scrollbar-width:thin}
body.admin-bar.bcem-design #cartPopover{top:46px!important;max-height:calc(100dvh - 64px)!important}
body.bcem-design #cartPopover.cartOut{transform:translateX(calc(100% + 40px))!important;visibility:hidden!important;pointer-events:none!important}
body.bcem-design #cartPopover.cartIn{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important;transition:transform 240ms cubic-bezier(.22,1,.36,1)}
#cartPopover #triangle{display:none!important}
#cartPopover .bcem-cart-heading{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--blue,#0754ae);color:white;margin:0 -24px 20px;padding:20px 22px;border-bottom:4px solid var(--red,#f10e34)}
#cartPopover .bcem-cart-heading h2{font:750 25px/1.1 'DM Sans',sans-serif;letter-spacing:-.035em;margin:0;color:#fff}
#cartPopover .bcem-cart-heading p{font-size:11px;margin:5px 0 0;color:#e3efff}
#cartPopover .bcem-cart-close{flex-shrink:0;width:40px;height:40px;border:1px solid #ffffff60;background:#ffffff14;color:white;border-radius:50%;font:26px/1 sans-serif;cursor:pointer}
#cartPopover :is(input,select){font:inherit!important;color:#12375d!important;border:1px solid #bdcee2!important;background:#fff!important;border-radius:6px!important;min-height:40px;padding:7px!important;box-sizing:border-box!important;max-width:100%}
#cartPopover :is(a,button,input,select,[role=button]):focus-visible{outline:3px solid #087aff!important;outline-offset:3px}
#cartPopover #cartCalendarTimePickerContainer{margin:0;padding:0}
#cartPopover .ui-datepicker{width:100%!important;padding:0!important;background:white!important;border:0!important;font:inherit!important}
#cartPopover .ui-datepicker-header{position:relative;background:#edf4fb!important;border:0!important;padding:9px 40px!important;border-radius:8px!important}
#cartPopover .ui-datepicker-title{margin:0!important;display:flex;justify-content:center;gap:8px}
#cartPopover .ui-datepicker-title select{width:auto!important;min-height:36px}
#cartPopover :is(.ui-datepicker-prev,.ui-datepicker-next){position:absolute;color:var(--blue)!important;top:12px!important;width:30px!important;height:30px!important;display:grid;place-items:center;text-align:center;cursor:pointer;font:24px/1 sans-serif!important}
#cartPopover .ui-datepicker-prev{left:8px!important}#cartPopover .ui-datepicker-next{right:8px!important}
#cartPopover :is(.ui-datepicker-prev,.ui-datepicker-next) span{display:none!important}
#cartPopover .ui-datepicker-prev:before{content:'‹'!important}#cartPopover .ui-datepicker-next:before{content:'›'!important}
#cartPopover .ui-datepicker table{table-layout:fixed;width:100%!important;font-size:13px;margin:10px 0;border:0!important}
#cartPopover .ui-datepicker :is(td,th){border:0!important;padding:2px!important;text-align:center}
#cartPopover .ui-datepicker th{color:#5e7590;font-size:11px;font-weight:650;background:white!important}
#cartPopover .ui-datepicker .ui-state-default{display:grid;place-items:center;min-height:34px;border:0!important;border-radius:6px;background:#f3f7fc!important;color:#123e70!important;text-align:center;font-weight:600}
#cartPopover .ui-datepicker .ui-state-active{background:var(--blue)!important;color:white!important}
#cartPopover .ui-datepicker .ui-state-disabled{opacity:.4}
#cartPopover #ioCartTimeInstructions{margin:10px 0!important;text-align:left;font-size:12px;color:#5a708a}
#cartPopover #cartTimePicker>br{display:none}
#cartPopover #ioCartTimeSelectContainer{display:grid;gap:10px;margin:15px 0}
#cartPopover #ioCartTimeSelectContainer>div{display:grid;grid-template-columns:45px minmax(90px,1fr) minmax(80px,.8fr);gap:8px;align-items:center}
#cartPopover #ioCartTimeSelectContainer i{display:none}
#cartPopover #ioCartTimeSelectContainer input{width:100%!important;min-width:0}
#cartPopover .calTimeLabel{font-size:12px;font-weight:700;color:#244462}
#cartPopover .elementor-widget-button{padding:0!important}
#cartPopover #cartTimePicker>.elementor-widget-button{margin:0 8px 12px 0}
#cartPopover .elementor-button,#cartPopover #changeDateLink{font:700 13px/1.2 'DM Sans',sans-serif!important;background:var(--blue,#0754ae)!important;color:white!important;border:0!important;border-radius:7px!important;padding:13px 16px!important;min-height:42px;transform:none!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer}
#cartPopover .simpleCart_cancel,#cartPopover .simpleCart_continue{background:#edf4fb!important;color:var(--blue)!important}
#cartPopover .simpleCart_checkout{background:var(--red)!important;color:white!important}
#cartPopover .changeDateLinkWrapper{margin:10px 0 20px!important}
#cartPopover #cartDateRange{font-weight:650;margin:14px 0;color:var(--blue)}
#cartPopover .cartSubtotalBox{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0!important;border-block:1px solid #dbe5ef;background:white!important;color:#183858!important;font-size:13px!important}
#cartPopover #cartSubtotal{float:none!important;font-size:24px;font-weight:750;color:var(--blue)}
#cartPopover .cartDeliverytotalBox{background:white!important;padding:12px 0!important;color:#244462!important}
#cartPopover .cartLink{color:var(--blue)!important;text-decoration:underline;font-weight:650}
#cartPopover #cartCheckoutButton{margin-top:16px;padding:0!important}
#cartPopover #cartCheckoutButton>.elementor-widget-button{display:flex;gap:10px;flex-wrap:wrap}
#cartPopover #cartCheckoutButton .elementor-button{flex:1;text-align:center}
#cartPopover .ioLink{font-size:10px!important;text-align:right;margin-top:17px;opacity:.65}
#cartPopover .ioLink a{color:#294e77!important}
#cartPopover .bcem-cart-empty{padding:18px;border:1px dashed #b9cde5;border-radius:8px;background:#f4f8fd;margin:0 0 18px;color:#34577c;font-size:13px}
#cartPopover .bcem-cart-empty strong{display:block;color:var(--blue);font-size:16px;margin-bottom:5px}
#cartPopover .simpleCart_items .headerRow{display:none!important}
#cartPopover #cartData,#cartPopover .simpleCart_items{padding:0!important;width:100%!important;box-sizing:border-box;max-height:none!important}
#cartPopover .simpleCart_items .itemRow{display:grid!important;grid-template-columns:64px 28px minmax(38px,1fr) 28px 24px;gap:8px;height:auto!important;min-height:120px;padding:18px 0!important;border-bottom:1px solid #dbe5ef;color:#183858!important;align-items:center}
#cartPopover .itemRow>div{width:auto!important;min-width:0!important;float:none!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere}
#cartPopover .itemRow .item-image{grid-column:1;grid-row:1 / span 4}
#cartPopover .itemRow .item-image img{width:64px!important;height:64px!important;object-fit:contain;border-radius:8px;background:#f0f5fb}
#cartPopover .itemRow .item-name{grid-column:2 / 5;grid-row:1;font-weight:750;color:var(--blue);font-size:15px!important;overflow-wrap:anywhere}
#cartPopover .itemRow .item-name a{color:inherit}
#cartPopover .itemRow .item-remove{grid-column:5;grid-row:1;font-size:12px!important}
#cartPopover .itemRow .item-price{grid-column:2 / 4;grid-row:4;font-size:12px!important}
#cartPopover .itemRow .item-availability{grid-column:2 / 6;grid-row:2;font-size:12px}
#cartPopover .itemRow .item-quantity{grid-column:3;grid-row:3;min-width:0}
#cartPopover .itemRow .item-quantity input{width:100%!important;max-width:100%!important;min-width:0!important;text-align:center}
#cartPopover .itemRow .item-total{grid-column:2 / 6;grid-row:5;text-align:right;font-weight:750}
#cartPopover .itemRow .item-decrement{grid-column:2;grid-row:3;top:0}
#cartPopover .itemRow .item-increment{grid-column:4;grid-row:3;top:0}
#cartPopover .itemRow :is(.item-increment,.item-decrement) a{display:grid;place-items:center;width:28px;height:36px;border-radius:5px;background:#edf4fb;color:var(--blue)}
#cartPopover .itemRow .item-timeslots{grid-column:1 / -1}
@media(max-width:360px){.ticket .button{font-size:13px;gap:15px;padding:15px 18px;white-space:nowrap}}
@media(max-width:1150px){.ticket{--stub-width:280px}.adventure-grid{grid-template-columns:1fr 1fr}.adventure-space{display:flex}.adventure-space .adventure-image{min-height:0;height:340px}.bcem-design .adventure-space .adventure-image img{object-fit:contain}.adventure-heading>p{max-width:280px}}
@media(max-width:900px){.ticket{--stub-width:235px}.ride-feature,.ride-stage{min-height:500px}.adventure-copy{padding:25px}.adventure-heading{align-items:start}.adventure-heading>p br{display:none}}
@media(max-width:600px){.adventure-collection{padding-block:55px 10px}.adventure-heading{display:block;margin-bottom:25px}.adventure-heading>p{max-width:100%;margin-top:20px}.adventure-grid{grid-template-columns:1fr;gap:25px}.adventure-card .adventure-image{height:290px}.adventure-space{display:grid;grid-template-columns:44% 56%}.adventure-space .adventure-image{height:100%;min-height:330px}.bcem-design .adventure-space .adventure-image img{object-fit:cover}.adventure-copy h3{font-size:34px}.adventure-space .adventure-copy{padding:23px 19px}.adventure-space .adventure-copy p{font-size:14px}.adventure-number{font-size:8px}.adventure-space .text-link{font-size:13px;gap:10px}.ride-feature{min-height:0}.ride-stage{min-height:350px}.ride-selector{flex-direction:row;gap:5px}.ride-selector button{font-size:14px;padding:12px 8px;justify-content:center}.ticket{grid-template-columns:1fr;mask-image:radial-gradient(circle 16px at 0 var(--seam-y),transparent 15px,#000 16px),radial-gradient(circle 16px at 100% var(--seam-y),transparent 15px,#000 16px)}.ticket-stub{border-left:0}.ticket-main{padding:35px 28px}.ticket-section{padding-block:45px}body.bcem-design #cartPopover{right:8px!important;top:8px!important;width:calc(100% - 16px)!important;max-height:calc(100dvh - 16px)!important;padding-inline:18px!important;border-radius:12px!important}body.admin-bar.bcem-design #cartPopover{top:52px!important;max-height:calc(100dvh - 60px)!important}#cartPopover .bcem-cart-heading{margin-inline:-18px;padding:17px 18px}#cartPopover .bcem-cart-heading h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.adventure-image img{transition:none!important;transform:none!important}body.bcem-design #cartPopover{transition:none!important}}
html[data-input=keyboard] .adventure-image img{transition:none!important}

.bcem-model-credit{display:block;font-size:11px;color:var(--blue);text-align:center;margin:10px 0 18px;text-decoration:underline}
