/* Three-step ticket selection; existing header, cart and payment styles stay intact. */
.booking-screen{padding-bottom:130px;background:#f7f7f8}
.booking-shell{max-width:1040px;margin:0 auto}
.booking-top{margin:0 0 26px}.booking-top .eyebrow{margin:24px 0 9px;font-size:9px}.booking-top h1{font-size:38px;line-height:1.15;margin:0 0 12px;letter-spacing:-1.3px}.booking-intro{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
#booking-view .booking-progress{display:flex;position:static;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:20px 0;margin:0 0 27px;background:transparent;border:0;font-size:12px}
.booking-progress>button{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--muted);padding:0;font-weight:600;white-space:nowrap}
.booking-progress>button>i{display:grid;place-items:center;width:32px;height:32px;border:1px solid #dfe2e5;border-radius:50%;background:white;font-size:11px;font-style:normal;flex-shrink:0}
.booking-progress>button[aria-current="step"]{color:var(--navy)}.booking-progress>button[aria-current="step"]>i{background:var(--orange);border-color:var(--orange)}.booking-progress>button.is-complete>i{background:#eaebed;border-color:#eaebed;color:#4f5760}
.booking-progress>button:disabled{opacity:.55;cursor:default}.booking-step-line{height:1px;background:#dfe2e5;flex:1;min-width:12px}
.booking-stage-heading{margin:0 0 22px}.booking-stage-heading h2{font-size:27px;letter-spacing:-.6px;line-height:1.3;margin:0 0 10px;outline:none}.booking-stage-heading p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.booking-citizenship{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.citizenship-card{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:12px;text-align:left;background:white;border:1px solid #dee0e3;border-radius:18px;padding:28px;min-height:225px;color:var(--navy);transition:border-color .15s,box-shadow .15s,background .15s}
.citizenship-card:hover,.citizenship-card[aria-pressed="true"]{background:#fbfbfb;border-color:#8f98a2;box-shadow:0 6px 22px #545d6610}.citizenship-card>strong{font-size:21px;font-weight:700;line-height:1.4;letter-spacing:-.4px}.citizenship-card>span:not(.citizenship-icon){font-size:12px;line-height:1.65;color:var(--muted);padding-right:30px}
.citizenship-icon{display:grid;place-items:center;width:51px;height:51px;border-radius:14px;background:#f3f4f5;color:#58616a;margin-bottom:8px}.citizenship-icon svg{width:31px;height:31px}.citizenship-card>b{position:absolute;right:25px;bottom:26px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--orange)}.citizenship-card>b .ui-arrow{transform:rotate(180deg);width:16px;height:16px}
.booking-citizen-note{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.8;margin:2px 0 0;max-width:760px}
.booking-selection{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}.booking-selection>button{display:grid;grid-template-columns:1fr auto;gap:5px 18px;text-align:left;padding:12px 15px;border:1px solid #e1e3e6;background:#fff;border-radius:11px;color:var(--navy);min-width:210px}.booking-selection small{grid-column:1;font-size:9px;line-height:1.5;color:var(--muted);font-weight:500}.booking-selection strong{grid-column:1;font-size:11px;line-height:1.5;font-weight:600}.booking-selection button>span{grid-column:2;grid-row:1/3;align-self:center;font-size:10px;color:#576069;text-decoration:underline;text-underline-offset:3px}
.booking-date-stage{max-width:470px;margin:0 auto}.booking-calendar{padding:24px;background:#fff;border:1px solid #dee1e4;border-radius:20px;box-shadow:0 8px 28px #2a2e3304}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.calendar-header h3{font-size:18px;text-transform:capitalize;font-weight:700;margin:0;letter-spacing:-.3px}.calendar-header>button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #e6e8ea;background:white;color:var(--navy)}.calendar-header>button:hover{background:#edeef0}.calendar-header .ui-arrow{width:16px;height:16px}.calendar-header>button:disabled{opacity:.25;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:10px;text-align:center}.calendar-weekdays>span{font-size:10px;color:var(--muted);font-weight:600;padding:6px 0}.calendar-day{height:46px;min-width:0;border:1px solid transparent;background:white;border-radius:12px;color:var(--navy);font-size:15px;font-weight:600;line-height:1;text-align:center;transition:background .15s}.calendar-day:hover:not(:disabled){background:#e5e6e8;border-color:#b0b7be}.calendar-day.is-today{border-color:#b8bec5;background:#f5f5f6;color:#505860}.calendar-day.is-selected{background:var(--orange);border-color:var(--orange);color:var(--navy)}.calendar-day:disabled{color:#b2b8bf;background:transparent;opacity:.48;cursor:default}.calendar-footer{display:flex;gap:8px;align-items:center;margin-top:20px;padding-top:17px;border-top:1px solid #f0f1f2;font-size:10px;line-height:1.6;color:var(--muted)}.calendar-today-dot{height:6px;width:6px;border-radius:50%;background:#646f7a;flex-shrink:0}.booking-date-note{font-size:11px;line-height:1.8;text-align:center;color:var(--muted);padding:16px 12px;margin:0}
.booking-original-heading{display:none!important}
#booking-view .ticket-section{padding:0;background:transparent;max-width:none}
#booking-view .ticket-row,#booking-view .ticket-row.has-selection{padding:14px 18px;gap:10px 20px;border-radius:13px;margin-top:10px}
#booking-view .ticket-name{font-size:12px;line-height:1.55}
#booking-view .ticket-description{font-size:10px;line-height:1.6;margin-top:5px}
#booking-view .ticket-conditions{font-size:9px;line-height:1.6;margin-top:6px;gap:1px}
#booking-view .ticket-price{font-size:26px}
#booking-view .ticket-price small{font-size:10px}
#booking-view .ticket-add.button{font-size:10px;padding:14px 17px;min-width:140px}
#booking-view .ticket-group-heading{font-size:14px;line-height:1.5;margin-bottom:12px}
.booking-packages{margin-top:23px;border-top:1px solid #e1e3e6;padding-top:8px}.booking-packages>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:18px 0}.booking-packages>summary::-webkit-details-marker{display:none}.booking-packages>summary>strong{font-size:13px;line-height:1.5;font-weight:700}.booking-packages>summary>span{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--muted)}.booking-packages>summary b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #dde0e3;border-radius:50%;font-size:18px;font-weight:400;color:var(--navy);transition:transform .15s}.booking-packages[open]>summary b{transform:rotate(45deg)}
#booking-view .booking-summary{position:fixed;bottom:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(7%,calc((100vw - 1040px)/2));margin:0;width:100%;max-width:none;border-radius:0;border:0;border-top:1px solid #dfe2e5;background:#fff;box-shadow:0 -5px 25px #2a2e3308;padding-bottom:max(16px,env(safe-area-inset-bottom))}
#booking-view .booking-summary>div{min-width:0}#booking-view .booking-summary small{color:var(--muted);font-size:9px;letter-spacing:.6px}#booking-view .booking-summary strong{font-size:29px;color:var(--navy)}#booking-view .booking-summary .button{min-width:190px;border-radius:26px;padding:16px 23px;gap:25px;font-size:11px}#booking-view .booking-summary .button:disabled{opacity:.45}.booking-empty-hint{font-size:11px;color:var(--muted);line-height:1.7;margin:13px 0}.booking-order-date{font-size:11px;line-height:1.8;color:var(--muted);margin:12px 0 0}.checkout-summary .booking-order-date{margin:0 0 12px;font-size:11px!important}
@media(max-width:760px){.booking-screen{padding:24px 6% 120px}.booking-top{margin-bottom:16px}.booking-top h1{font-size:29px;letter-spacing:-.8px}.booking-top .eyebrow{margin-top:21px;font-size:8px}.booking-intro{font-size:11px}#booking-view .booking-progress{gap:7px;padding:15px 0;margin-bottom:24px}.booking-progress>button{flex-direction:column;gap:7px;font-size:9px;white-space:normal;text-align:center;flex-shrink:0;max-width:90px}.booking-progress>button>i{height:29px;width:29px}.booking-step-line{margin-bottom:19px}.booking-stage-heading h2{font-size:23px;line-height:1.35}.booking-stage-heading p{font-size:11px}.booking-citizenship{grid-template-columns:1fr;gap:12px}.citizenship-card{padding:20px 20px 20px 86px;min-height:117px;gap:7px;border-radius:15px;justify-content:center}.citizenship-card>strong{font-size:18px;letter-spacing:-.3px}.citizenship-card>span:not(.citizenship-icon){font-size:10px;padding-right:22px}.citizenship-icon{position:absolute;left:19px;top:28px;width:48px;height:48px;margin:0}.citizenship-card>b{right:17px;bottom:20px;width:25px;height:25px}.citizenship-card>b .ui-arrow{width:14px;height:14px}.booking-citizen-note{font-size:10px;margin-top:5px}.booking-selection{gap:8px;margin-bottom:22px}.booking-selection>button{min-width:0;flex:1 1 145px;padding:10px 12px;gap:4px 10px}.booking-selection strong{font-size:10px}.booking-selection small{font-size:8px}.booking-selection button>span{font-size:9px}.booking-calendar{padding:19px 15px;border-radius:17px}.calendar-header{margin-bottom:17px}.calendar-header h3{font-size:17px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-day{height:44px;font-size:16px;border-radius:10px}.calendar-weekdays>span{font-size:9px}.calendar-footer{font-size:9px;margin-top:16px;padding-top:14px}.booking-date-note{font-size:10px;padding:13px 5px}
 #booking-view .ticket-row,#booking-view .ticket-row.has-selection{padding:13px;gap:10px 14px}#booking-view .ticket-name{font-size:11px;line-height:1.55}#booking-view .ticket-description{font-size:10px}#booking-view .ticket-conditions{font-size:8px;line-height:1.65}#booking-view .ticket-price{font-size:25px}#booking-view .ticket-add.button{font-size:10px;padding:13px 16px}#booking-view .ticket-group-heading{font-size:12px}.booking-packages>summary>strong{font-size:11px}.booking-packages>summary{padding:16px 0}#booking-view .booking-summary{padding:13px 6%;gap:12px;padding-bottom:max(13px,env(safe-area-inset-bottom))}#booking-view .booking-summary strong{font-size:25px}#booking-view .booking-summary .button{min-width:145px;padding:15px 17px;font-size:10px;gap:15px}#booking-view #selection-count{font-size:9px;margin:4px 0 0}.booking-empty-hint{font-size:10px}.booking-order-date{font-size:10px}}
/* Inline homepage booking. Explicit nav rules prevent mobile menu inheritance. */
#booking-view{padding:36px 7% 30px;scroll-margin-top:150px;min-height:0}
.booking-top{margin:0 0 12px}.booking-top h2{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.6px}.booking-top #booking-home{display:none}
#booking-view .booking-progress{position:static!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap;inset:auto!important;transform:none!important;min-height:0;height:auto;gap:10px;padding:14px 0;margin:0 0 16px;visibility:visible;opacity:1;box-shadow:none}
#booking-view .booking-progress>button{flex-direction:row;gap:8px;font-size:12px;max-width:none;white-space:nowrap;width:auto;min-height:32px}
.booking-step-line{margin:0}.booking-stage-heading{margin-bottom:16px}.booking-stage-heading h2{font-size:22px;margin-bottom:5px}.booking-citizenship{gap:12px}.citizenship-card{min-height:140px;padding:22px 54px 22px 84px;justify-content:center;gap:7px}.citizenship-icon{position:absolute;top:24px;left:20px;margin:0;width:45px;height:45px}.citizenship-card>strong{font-size:19px}.citizenship-card>span:not(.citizenship-icon){padding:0}.citizenship-card>b{right:18px;bottom:22px}
.booking-selection{margin-bottom:16px}.booking-selection #booking-edit-date{border-color:#a1a9b1;background:#f0f1f2}.booking-selection #booking-date-value{font-size:15px;font-weight:700;color:var(--navy)}
#booking-view .booking-summary{position:sticky;left:auto;right:auto;bottom:0;width:100%;padding:16px 18px;border:1px solid #e0e3e6;border-radius:14px;margin-top:18px;gap:15px}
.booking-order-date,.checkout-summary .booking-order-date{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#edeeef;border:1px solid #a6adb5;border-left:4px solid #7d8894;border-radius:12px;padding:13px 16px;margin:16px 0;max-width:100%;color:var(--navy);font-size:12px!important;line-height:1.5}
.booking-order-date>span{font-size:11px;color:#444b52}.booking-order-date>strong{font-size:21px;line-height:1.35;overflow-wrap:anywhere}.pay-validity{padding:12px 15px;background:#edeeef;border:1px solid #a6adb5;border-radius:11px;color:var(--navy);font-size:16px;font-weight:700;line-height:1.5}
.nationality-select{position:relative;display:block;width:100%;min-width:0}.nationality-select select{appearance:none;-webkit-appearance:none;width:100%;max-width:100%;min-width:0;border:1px solid #dfe1e4;border-radius:10px;background:#fff;color:var(--navy);padding:14px 40px 14px 14px;font:inherit;font-size:16px;line-height:1.4;min-height:50px}.nationality-select svg{pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.nationality-select select:focus{outline:2px solid #969fa8;outline-offset:2px}
.context-grid>*{min-width:0}.checkout-fields>label,.phone-input{min-width:0}.checkout-fields input{min-width:0;font-size:16px}.cart-ticket-heading h3,.cart-inclusions,.checkout-item strong,.checkout-item p{overflow-wrap:anywhere}.cart-prices dd{flex-shrink:0}.pay-frame-shell,#pay-frame{max-width:100%}.contact-strip a{overflow-wrap:anywhere}
@media(max-width:760px){#booking-view{padding:24px 6%;scroll-margin-top:116px}.booking-top h2{font-size:25px}#booking-view .booking-progress{gap:5px;padding:10px 0;margin-bottom:14px}#booking-view .booking-progress>button{font-size:10px;gap:5px;white-space:normal;text-align:left;line-height:1.3}.booking-progress>button>i{width:25px;height:25px;font-size:10px}.booking-step-line{min-width:5px}.booking-stage-heading h2{font-size:20px}.booking-stage-heading p{font-size:12px}.citizenship-card{min-height:100px;padding:17px 45px 17px 72px;gap:5px}.citizenship-icon{top:22px;left:16px;width:39px;height:39px}.citizenship-card>strong{font-size:17px}.citizenship-card>span:not(.citizenship-icon){font-size:11px}.citizenship-card>b{right:14px;bottom:18px}.booking-citizen-note{font-size:11px}.booking-selection>button{flex-basis:100%;padding:10px 12px}.booking-selection strong{font-size:12px}.booking-selection #booking-date-value{font-size:17px}.booking-selection small{font-size:10px}.booking-selection button>span{font-size:11px}.booking-order-date>strong{font-size:20px}#booking-view .booking-summary{padding:13px 12px;gap:10px}#booking-view .booking-summary .button{min-width:0;padding:14px 16px;gap:10px;flex-shrink:0}#booking-view .booking-summary strong{font-size:23px}.booking-calendar{width:100%;min-width:0}.checkout-form,.checkout-card,.order-summary{min-width:0}.checkout-fields{grid-template-columns:minmax(0,1fr)}.checkout-fields input,.checkout-fields select{font-size:16px}.checkout-pay .button{width:100%;min-width:0;flex-wrap:wrap}.context-top h1{overflow-wrap:anywhere}.context-screen{padding-left:6%;padding-right:6%}}
@media(max-width:380px){header{gap:8px;padding-left:5%;padding-right:5%}header .brand{width:80px;flex-shrink:0}header .brand img{max-width:80px}header .header-actions{gap:8px}.language{gap:5px}.menu-toggle{width:36px;padding:7px}#booking-view .booking-progress>button{font-size:9px;gap:4px}.booking-progress>button>i{width:22px;height:22px}.calendar-days,.calendar-weekdays{gap:2px}.booking-calendar{padding:15px 10px}.calendar-day{height:42px}.citizenship-card>strong{font-size:16px}#booking-view .ticket-actions{gap:9px;flex-wrap:wrap}#booking-view .ticket-add.button{min-width:0;flex:1;padding-left:10px;padding-right:10px}.cart-ticket{padding:16px}.context-top h1{font-size:30px}}
/* Normalize WebKit button boxes rather than relying on browser defaults. */
#booking-calendar button{appearance:none;-webkit-appearance:none;margin:0;padding:0;box-sizing:border-box;text-indent:0;text-align:center;letter-spacing:normal;vertical-align:middle}
#booking-calendar .calendar-day{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;line-height:1;font-variant-numeric:tabular-nums}
#booking-calendar .calendar-header>button{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;line-height:1}
#booking-calendar .calendar-header>button>svg{display:block;flex:none;width:16px;height:16px;margin:0;transform:none}
.calendar-header h3{flex:1;text-align:center;min-width:0}
.pay-summary>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:10px;position:relative;list-style:none;min-height:52px;line-height:1.4;text-align:left}
.pay-summary>summary::-webkit-details-marker{display:none}.pay-summary>summary::marker{content:''}
.pay-summary>summary>span{min-width:0;display:block;font-size:11px;line-height:1.4}
.pay-summary>summary>span::before{content:none!important;display:none!important}
.pay-summary>summary>strong{display:block;font-size:16px;line-height:1.4;text-align:right;white-space:nowrap}
.pay-summary>summary::after{position:static;inset:auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;margin:0;align-self:center;font-family:Arial,sans-serif}
@media(max-width:760px){
 #booking-view[data-step="2"] .calendar-day{height:var(--calendar-cell-height,44px)}
 #booking-view[data-step="2"] .booking-calendar{padding:16px 12px}
 #booking-view[data-step="2"] .calendar-header{margin-bottom:12px}
 #booking-view[data-step="2"] .calendar-weekdays{margin-bottom:6px}
 #booking-view[data-step="2"] .calendar-footer{margin-top:12px;padding-top:10px}
 #checkout-view #billing-step{padding-bottom:calc(126px + env(safe-area-inset-bottom,0px))}
 #checkout-view .checkout-pay{position:fixed;z-index:11;left:0;right:0;bottom:var(--checkout-keyboard-offset,0px);width:auto;margin:0;border-radius:16px 16px 0 0;padding:12px 6% calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border:1px solid #e0e3e6;box-shadow:0 -5px 24px #2a2e3312}
 #checkout-view .checkout-pay>.button{min-height:48px;padding:14px 16px;gap:10px;flex-wrap:nowrap;line-height:1.4;white-space:nowrap;font-size:11px}
 #checkout-view .checkout-pay .payment-action-hint{font-size:10px;line-height:1.5;margin:8px 0 0;text-align:center}
 #checkout-view .checkout-card{padding:18px}
 #checkout-view .checkout-fields{gap:12px}
 #checkout-view .checkout-fields label{gap:6px}
 #checkout-view .context-top{margin-bottom:20px}
 #checkout-view .checkout-card .field-hint{margin-bottom:16px}
 #checkout-view input,#checkout-view select{scroll-margin-top:120px;scroll-margin-bottom:160px}
 .pay-summary>summary{gap:7px;grid-template-columns:minmax(0,1fr) auto 22px}
 .pay-summary>summary>strong{font-size:15px}.pay-summary>summary::after{width:22px;height:22px}
}
@media(max-width:350px){.pay-summary>summary>span{font-size:10px}.pay-summary>summary>strong{font-size:13px}.pay-summary>summary{gap:5px}}
/* Automatic quantities and a single, high-contrast next action. */
.ticket-auto-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 15px}
#booking-view .ticket-actions{justify-content:flex-end}
#booking-view .booking-summary{border-top:3px solid #7d8894;box-shadow:0 -8px 30px #2a2e3320;display:flex;flex-direction:column;align-items:stretch;gap:11px;background:#fff;padding:16px 20px}
#booking-view .booking-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}
#booking-view .booking-summary small{display:none}
#booking-view #selection-count{order:0;margin:0;font-size:14px;font-weight:600;color:var(--navy)}
#booking-view #total-price{order:1;margin:0;font-size:28px;line-height:1.2;white-space:nowrap;font-weight:750}
#booking-view .booking-summary #review{width:100%;max-width:none;min-width:0;min-height:54px;display:flex;align-items:center;justify-content:center;gap:18px;border-radius:12px;padding:16px 20px;background:#222529;color:#fff;font-size:13px;line-height:1.4;font-weight:750;box-shadow:0 5px 12px #22252925;transition:background .2s,box-shadow .2s,opacity .2s}
#booking-view .booking-summary #review:hover:not(:disabled){background:#353b41;box-shadow:0 7px 17px #22252935;transform:none}
#booking-view .booking-summary #review:disabled{opacity:1;background:#e7e9eb;color:#76838d;box-shadow:none;cursor:not-allowed}
#booking-view .booking-summary #review svg{flex-shrink:0;width:18px;height:18px}
#booking-view .booking-empty-hint{font-size:11px;line-height:1.4;margin:0;color:var(--muted)}
.close-dialog{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin:0;border:1px solid #e1e4e7;border-radius:50%;background:#f3f4f5;color:#2b3035;font-family:Arial,sans-serif;font-size:27px;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;box-shadow:none}
.close-dialog:focus{outline:none;box-shadow:none}.close-dialog:focus-visible{outline:2px solid #737f8c;outline-offset:3px}.close-dialog:hover{background:#ebecee;color:#222529}
@media(max-width:760px){
 #booking-view[data-step="3"]{padding-bottom:16px}
 #booking-view .booking-summary{position:fixed;z-index:9;left:0;right:0;bottom:0;width:100%;margin:0;border-radius:16px 16px 0 0;padding:13px 6% calc(13px + env(safe-area-inset-bottom,0px));gap:10px}
 
 #booking-view .booking-summary #review{font-size:12px;min-height:52px}
 #booking-view #selection-count{font-size:13px}#booking-view #total-price{font-size:26px}
 #booking-view .ticket-row .ticket-actions{display:contents}
 #booking-view .ticket-row .ticket-price{grid-column:1;grid-row:2}
 #booking-view .ticket-row .quantity{grid-column:2;grid-row:2;justify-self:end;margin:0}
 .ticket-auto-hint{font-size:11px}
}
@media(prefers-reduced-motion:reduce){#booking-view .booking-summary #review{transition:none}}

/* Ease between booking steps without adding artificial waiting time. */
#booking-view{overflow-anchor:none}
#booking-step-citizenship:not([hidden]),#booking-step-date:not([hidden]),#booking-step-tickets:not([hidden]){animation:booking-step-reveal 600ms cubic-bezier(.22,.61,.36,1) both}
@keyframes booking-step-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#booking-step-citizenship:not([hidden]),#booking-step-date:not([hidden]),#booking-step-tickets:not([hidden]){animation:none}}

/* A clearly interactive package section and compact checkout spacing. */
#booking-view .booking-packages{margin-top:18px;padding-top:0;border-top:0}
#booking-view .booking-packages>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;margin:0 0 14px;border:1px solid #97a0a9;border-left:4px solid #7c8793;border-radius:12px;background:#edeef0;box-shadow:0 3px 12px #4d555e0a;list-style:none;color:var(--navy)}
#booking-view .booking-packages>summary::after{content:none;display:none}
#booking-view .booking-packages>summary>strong{font-size:14px;line-height:1.45;font-weight:750;letter-spacing:.15px}
#booking-view .booking-packages>summary>span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#495058}
#booking-view .booking-packages>summary b{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#222529;color:#fff;font-family:Arial,sans-serif;font-size:23px;line-height:1;transform:none}
#booking-view .booking-packages[open]>summary{background:#e6e7e9;border-color:#838d98}
#booking-view .booking-packages[open]>summary b{transform:rotate(45deg)}
#booking-view .booking-packages>summary:hover{background:#e1e3e6}
#checkout-view[data-payment-open="true"]>.context-top{display:none}
#checkout-view[data-payment-open="true"] .payment-panel{margin-bottom:0}
@media(max-width:760px){
 #booking-view .booking-packages>summary{padding:14px 13px;gap:10px}
 #booking-view .booking-packages>summary>strong{font-size:12px}
 #checkout-view #billing-step{padding-bottom:0}
 #checkout-view .context-grid{gap:14px}
 #checkout-view #billing-step .checkout-card{margin-bottom:0}
 #checkout-view{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
 #checkout-view[data-payment-open="true"]{padding-top:8px;padding-bottom:24px}
 #checkout-view[data-payment-open="true"] .context-grid{align-items:start}
 #checkout-view[data-payment-open="true"] .payment-panel{scroll-margin-top:108px}
}

#booking-view .booking-packages>summary b{font-size:0;transition:transform .2s}
#booking-view .booking-packages>summary b::before{content:'';display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
#booking-view .booking-packages[open]>summary b{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){#booking-view .booking-packages>summary b{transition:none}}

.ticket-free{display:inline-flex;align-items:center;padding:7px 12px;border-radius:8px;background:#e6f4ee;color:#226a50;font-size:13px;font-weight:750;line-height:1.4}.cart-zero-note{font-size:12px;line-height:1.6}
/* Three compact rows with native quantity pickers, adapted to the site palette. */
#booking-view #ticket-list>.ticket-group{background:#fff;border:1px solid #e1e4e7;border-radius:14px;padding:18px 22px}
#booking-view .ticket-group-heading{margin:0 0 5px;font-size:13px;line-height:1.5}
#booking-view .ticket-line,#booking-view .ticket-line.has-selection{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:20px;padding:20px 0;margin:0;border:0;border-bottom:1px solid #e1e4e7;border-radius:0;background:transparent;box-shadow:none}
#booking-view .ticket-line:last-child{border-bottom:0;padding-bottom:5px}
#booking-view .ticket-line-copy{min-width:0;text-align:left}
#booking-view .ticket-line .ticket-name{margin:0 0 6px;max-width:none;font-size:15px;font-weight:600;line-height:1.5;text-align:left;letter-spacing:0}
#booking-view .ticket-line .ticket-price{margin:0;grid-column:auto;grid-row:auto;font-size:19px;font-weight:750;line-height:1.4;text-align:left}
#booking-view .ticket-line .ticket-free{padding:3px 8px;font-size:12px;line-height:1.5}
.ticket-quantity{position:relative;display:block;width:88px;min-width:0;margin:0}
.ticket-quantity select{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:100%;min-height:46px;margin:0;padding:10px 32px 10px 14px;border:1px solid #7f8a96;border-radius:7px;background:#fff;color:var(--navy);font:inherit;font-size:16px;line-height:1.4;text-align:left;cursor:pointer}
.ticket-quantity svg{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#646e79;display:block}
.ticket-quantity select:focus-visible{outline:2px solid #66717c;outline-offset:3px}
#booking-view .ticket-line.has-selection .ticket-quantity select{background:#eeeff0;border-color:#6c7783}
#booking-calendar .calendar-day.is-today:disabled{border-color:transparent;background:transparent;color:#b2b8bf}
@media(max-width:760px){#booking-view #ticket-list>.ticket-group{padding:16px}#booking-view .ticket-line,#booking-view .ticket-line.has-selection{grid-template-columns:minmax(0,1fr) 82px;gap:12px;padding:18px 0}#booking-view .ticket-line:last-child{padding-bottom:3px}#booking-view .ticket-line .ticket-name{font-size:14px;line-height:1.45}#booking-view .ticket-line .ticket-price{font-size:18px}.ticket-quantity{width:82px}#booking-view .ticket-line .ticket-free{font-size:11px}}
/* Unified booking card: citizenship, date and quantities share one surface. */
#booking-view{padding:30px 6%;background:#f7f7f8;overflow-anchor:none}
#booking-view .booking-card{max-width:800px;width:100%;margin:0 auto;padding:26px;background:#fff;border:1px solid #e6e8ea;border-radius:23px;box-shadow:0 10px 38px #2a2e330b}
#booking-view .booking-part{padding:0 0 20px;margin:0 0 20px;border:0;border-bottom:1px solid #ebecee}
#booking-view .booking-part:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
#booking-view .booking-part-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}
#booking-view .part-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;color:#292d31}
#booking-view .part-icon>svg{display:block;width:28px;height:28px}
#booking-view .booking-part-heading>div{min-width:0}
#booking-view .booking-part-heading h2{font-size:20px;line-height:1.35;letter-spacing:-.35px;margin:0 0 3px;font-weight:750;outline:none}
#booking-view .booking-part-heading p{font-size:13px;line-height:1.5;color:#6e7a86;margin:0}
#booking-view .booking-citizenship{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#booking-view .citizenship-card{display:grid;grid-template-columns:36px minmax(0,1fr) 22px;align-items:center;gap:10px;min-height:76px;padding:14px 12px;border:1.5px solid #e4e6e8;border-radius:13px;background:#fff;color:#292d31;box-shadow:none;transition:border-color .2s,background .2s;text-align:left}
#booking-view .citizenship-card[aria-pressed="true"]{border-color:#7e8994;background:#eeeff0;box-shadow:none}
#booking-view .citizenship-card:hover{border-color:#909aa4}
#booking-view .citizenship-card>strong{font-size:15px;font-weight:700;line-height:1.4;letter-spacing:-.2px;overflow-wrap:normal}
#booking-view .citizenship-icon{position:static;display:grid;place-items:center;width:36px;height:36px;margin:0;border-radius:11px;background:#f6f6f7;color:#616b75}
#booking-view .citizenship-icon>svg{width:27px;height:27px;display:block}
#booking-view .citizenship-card:first-child .citizenship-icon{background:#fff}
#booking-view .citizenship-radio{display:block;width:22px;height:22px;padding:0;border:1.5px solid #d2d5d9;border-radius:50%;background:#fff;box-sizing:border-box}
#booking-view .citizenship-card[aria-pressed="true"] .citizenship-radio{border:7px solid #7e8994}
#booking-view .booking-citizen-note{font-size:10px;line-height:1.5;color:#7c8998;margin:9px 0 0;max-width:none}
#booking-view .booking-date-toggle{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;padding:12px 15px;min-height:55px;border:1.5px solid #e0e2e5;border-radius:12px;background:#fdfdfd;color:#292d31;text-align:left}
#booking-view .date-field-icon{display:grid;place-items:center;width:27px;height:27px}
#booking-view .date-field-icon>svg{display:block;width:26px;height:26px}
#booking-view .booking-date-toggle strong{font-size:18px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
#booking-view .booking-date-toggle>.ui-arrow{display:block;transform:none;transition:transform .2s}
#booking-view .booking-date-toggle[aria-expanded="true"]>.ui-arrow{transform:rotate(90deg)}
#booking-view .booking-date-toggle[aria-expanded="true"]{border-color:#8a949f;background:#f7f7f8}
#booking-view .booking-date-stage{max-width:470px;width:100%;margin:14px auto 0}
#booking-view .booking-calendar{box-shadow:none;border-radius:14px}
#booking-view .ticket-section{padding:0;margin:0;background:transparent;max-width:none}
#booking-view #ticket-list>.ticket-group{padding:0;border:0;border-radius:0;background:transparent}
#booking-view .booking-card .ticket-line,#booking-view .booking-card .ticket-line.has-selection{grid-template-columns:minmax(0,1fr) 124px;gap:14px;padding:12px 0;margin:0;background:transparent;border:0;border-bottom:1px solid #ecedee;border-radius:0;box-shadow:none}
#booking-view .booking-card .ticket-line:last-child{border:0;padding-bottom:8px}
#booking-view .booking-card .ticket-line .ticket-name{text-align:left;margin:0 0 3px;font-size:17px;font-weight:700;line-height:1.35;color:#292d31}
#booking-view .booking-card .ticket-line .ticket-price{font-size:15px;font-weight:500;line-height:1.4;color:#6a7581;grid-column:auto;grid-row:auto}
#booking-view .booking-card .ticket-free{font-size:11px;line-height:1.4;font-weight:700;padding:3px 8px;border-radius:8px;color:#24785a;background:#e9f6ef}
#booking-view .booking-card .quantity{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;grid-column:2;grid-row:auto;justify-self:end;width:124px;height:44px;padding:0;margin:0;border:1px solid #dddfe2;border-radius:12px;background:#fff;overflow:hidden}
#booking-view .booking-card .quantity button{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;width:40px;height:42px;min-width:0;padding:0;margin:0;border:0;border-radius:10px;background:#f9f9fa;color:#32373d;font-family:Arial,sans-serif;font-size:25px;line-height:1;-webkit-tap-highlight-color:transparent}
#booking-view .booking-card .quantity button:disabled{color:#bbc0c6;opacity:1;cursor:default}
#booking-view .booking-card .quantity output{display:grid;place-items:center;min-width:0;width:auto;height:42px;font-size:17px;line-height:1;font-weight:700;color:#292d31}
#booking-view .booking-card .booking-summary{position:static!important;display:flex!important;flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:none;min-width:0;padding:0;margin:17px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;inset:auto}
#booking-view .booking-card .booking-total{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border-radius:13px;background:#f3f4f5}
#booking-view .booking-card .booking-total>svg{display:block;width:28px;height:28px;flex:0 0 28px;color:#2e3338}
#booking-view .booking-card .booking-total>small{display:block!important;flex:1;order:0;color:#2e3338;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none}
#booking-view .booking-card #total-price{font-size:29px;font-weight:750;line-height:1.2;color:#282c31;white-space:nowrap;order:1}
#booking-view .booking-card #selection-count{display:none}
#booking-view .booking-card .booking-summary #review{display:flex;align-items:center;justify-content:center;gap:20px;min-height:54px;width:100%;max-width:none;min-width:0;padding:15px 16px;border-radius:13px;background:linear-gradient(110deg,#818c97,#8a949f);color:#25292d;font-size:16px;line-height:1.35;font-weight:750;letter-spacing:0;box-shadow:none;text-align:center}
#booking-view .booking-card .booking-summary #review:hover:not(:disabled){background:#828c97;box-shadow:0 4px 12px #717d8920;transform:none}
#booking-view .booking-card .booking-summary #review:disabled{background:#ecedee;color:#8a96a2;box-shadow:none;opacity:1;cursor:not-allowed}
#booking-view .booking-card .booking-summary #review>svg{width:22px;height:22px;flex:0 0 22px}
#booking-view .booking-card .booking-empty-hint{margin:0;font-size:11px;line-height:1.5;color:#717d89}
#booking-view .booking-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:19px}
#booking-view .booking-benefits>span{display:flex;align-items:center;gap:8px;min-width:0}
#booking-view .booking-benefits svg{display:block;flex:0 0 32px;width:32px;height:32px;padding:6px;border-radius:50%;color:#606a75;background:#f6f6f7}
#booking-view .booking-benefits small{font-size:11px;line-height:1.4;color:#6e7a86}
@media(max-width:760px){#booking-view{padding:20px 4%}#booking-view .booking-card{padding:20px 16px;border-radius:20px}#booking-view .booking-part{padding-bottom:17px;margin-bottom:17px}#booking-view .booking-part-heading{gap:10px;margin-bottom:12px}#booking-view .booking-part-heading h2{font-size:17px}#booking-view .booking-part-heading p{font-size:12px}#booking-view .part-icon{width:26px;height:26px;flex-basis:26px}#booking-view .part-icon>svg{width:25px;height:25px}#booking-view .booking-citizenship{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#booking-view .citizenship-card{grid-template-columns:30px minmax(0,1fr) 18px;gap:7px;min-height:75px;padding:10px 9px}#booking-view .citizenship-card>strong{font-size:12px;line-height:1.4}#booking-view .citizenship-icon{position:static;width:30px;height:32px}#booking-view .citizenship-icon>svg{width:25px;height:25px}#booking-view .citizenship-radio{width:18px;height:18px}#booking-view .citizenship-card[aria-pressed="true"] .citizenship-radio{border-width:5px}#booking-view .booking-date-toggle{min-height:51px;padding:11px 12px;gap:10px}#booking-view .booking-date-toggle strong{font-size:16px}#booking-view .booking-card .ticket-line,#booking-view .booking-card .ticket-line.has-selection{grid-template-columns:minmax(0,1fr) 112px;gap:10px;padding:11px 0}#booking-view .booking-card .ticket-line .ticket-name{font-size:15px}#booking-view .booking-card .ticket-line .ticket-price{font-size:14px}#booking-view .booking-card .quantity{width:112px;grid-template-columns:35px minmax(0,1fr) 35px}#booking-view .booking-card .quantity button{width:35px;font-size:24px}#booking-view .booking-card .quantity output{font-size:16px}#booking-view .booking-card .booking-total{padding:12px}#booking-view .booking-card .booking-total>small{font-size:16px}#booking-view .booking-card #total-price{font-size:26px}#booking-view .booking-card .booking-summary #review{font-size:13px;min-height:51px;gap:14px}#booking-view .booking-benefits{gap:10px;margin-top:17px}#booking-view .booking-benefits>span{gap:6px}#booking-view .booking-benefits svg{width:28px;height:28px;flex-basis:28px;padding:5px}#booking-view .booking-benefits small{font-size:9px}}
@media(max-width:350px){#booking-view .booking-card{padding:17px 12px}#booking-view .citizenship-card{grid-template-columns:minmax(0,1fr) 18px;min-height:67px}#booking-view .citizenship-icon{display:none}#booking-view .booking-card .ticket-line .ticket-name{font-size:13px}#booking-view .booking-card .booking-summary #review{font-size:12px}#booking-view .booking-benefits>span{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){#booking-view .booking-date-toggle>.ui-arrow{transition:none}}
/* Clear first action, responsive discount prices and compact extra categories. */
#booking-view .booking-card .booking-part-heading .quantity-instructions{display:inline-block;margin-top:6px;padding:8px 10px;border-left:3px solid #818b96;border-radius:7px;background:#f5f6f7;color:#454c54;font-size:12px;font-weight:650;line-height:1.5}
#booking-view .booking-card .quantity [data-change="1"]{background:#e1e4e7;color:#40474e;box-shadow:inset 0 0 0 1px #b2b8bf}
#booking-view .booking-card .quantity [data-change="1"]:hover:not(:disabled){background:#cbcfd4}
#booking-view .booking-card .quantity [data-change="1"]:disabled{background:#f7f7f8;color:#bcc1c7;box-shadow:none}
#booking-view .booking-card .ticket-line .ticket-price{display:flex;align-items:flex-start;flex-direction:column;gap:3px;margin-top:6px;line-height:1.15;color:#2b3035}
#booking-view .booking-card .ticket-old-price{display:block;color:#9fa7b0;font-size:12px;font-weight:550;line-height:1.3;text-decoration-line:line-through;text-decoration-thickness:1.3px;text-decoration-color:#9ea6af}
#booking-view .booking-card .ticket-new-price{display:flex;align-items:baseline;flex-wrap:nowrap;gap:0;color:#2b3035;white-space:nowrap;line-height:1.1;letter-spacing:-.8px}
#booking-view .booking-card .ticket-new-price strong{font-size:31px;font-weight:800;line-height:1.1}
#booking-view .booking-card .ticket-price-fraction{font-size:20px;font-weight:450;line-height:1.1;letter-spacing:-.4px}
#booking-view .booking-card .ticket-price-currency{font-size:20px;font-weight:450;line-height:1.1;margin-left:5px;letter-spacing:0}
#booking-view .booking-card .ticket-line .ticket-description{font-size:11px;line-height:1.5;text-align:left;color:#78838f;margin:5px 0 7px;max-width:520px}
#booking-view .booking-card .ticket-extras{margin:16px 0 0;border:1px solid #e3e5e7;border-radius:12px;overflow:hidden;background:#fff}
#booking-view .booking-card .ticket-extras>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;list-style:none;margin:0;padding:13px 14px;background:#f6f6f7;color:#31363c;cursor:pointer;position:relative}
#booking-view .booking-card .ticket-extras>summary::after{content:none;display:none}
#booking-view .booking-card .ticket-extras>summary::-webkit-details-marker{display:none}
#booking-view .booking-card .ticket-extras>summary>strong{font-size:13px;line-height:1.45;font-weight:700}
#booking-view .booking-card .ticket-extras>summary>span{font-size:10px;line-height:1.4;color:#707c88;white-space:nowrap}
#booking-view .booking-card .ticket-extras>summary>svg{display:block;width:18px;height:18px;transition:transform .2s}
#booking-view .booking-card .ticket-extras[open]>summary>svg{transform:rotate(180deg)}
#booking-view .booking-card .extra-ticket-group{padding:13px 14px 0}
#booking-view .booking-card .extra-ticket-group:last-child{padding-bottom:7px}
#booking-view .booking-card .extra-ticket-group>h3{font-size:12px;line-height:1.5;margin:0;padding:0 0 7px;border-bottom:1px solid #eaebed;color:#616b76;font-weight:700}
#booking-view .booking-card .extra-ticket-group .ticket-name{font-size:14px}
#booking-view .booking-card .booking-empty-hint.is-error{padding:10px 12px;border:1px solid #a4abb3;border-left:3px solid #7c8793;border-radius:8px;background:#f2f3f4;color:#3f454c;font-weight:650}
#booking-view .booking-card .ticket-line.needs-attention{outline:2px solid #848f9a;outline-offset:4px;border-radius:8px;background:#f7f7f8;animation:quantity-attention 700ms ease-in-out 2}
@keyframes quantity-attention{50%{outline-color:#abb2ba;background:#e3e5e7}}
@media(max-width:760px){#booking-view .booking-card .ticket-new-price strong{font-size:27px}#booking-view .booking-card .ticket-price-fraction,#booking-view .booking-card .ticket-price-currency{font-size:18px}#booking-view .booking-card .ticket-old-price{font-size:11px}#booking-view .booking-card .ticket-line,#booking-view .booking-card .ticket-line.has-selection{padding-top:13px;padding-bottom:13px}#booking-view .booking-card .ticket-extras>summary{padding:12px 11px;gap:7px}#booking-view .booking-card .ticket-extras>summary>strong{font-size:12px}#booking-view .booking-card .extra-ticket-group{padding:11px 11px 0}#booking-view .booking-card .extra-ticket-group .ticket-line,#booking-view .booking-card .extra-ticket-group .ticket-line.has-selection{grid-template-columns:minmax(0,1fr) 100px;gap:8px}#booking-view .booking-card .extra-ticket-group .quantity{width:100px;grid-template-columns:31px minmax(0,1fr) 31px}#booking-view .booking-card .extra-ticket-group .quantity button{width:31px}#booking-view .booking-card .ticket-line .ticket-description{font-size:10px}#booking-view .booking-card .extra-ticket-group .ticket-name{font-size:12px}}
@media(max-width:350px){#booking-view .booking-card .ticket-new-price strong{font-size:24px}#booking-view .booking-card .ticket-price-fraction,#booking-view .booking-card .ticket-price-currency{font-size:16px}#booking-view .booking-card .ticket-extras>summary{grid-template-columns:minmax(0,1fr) 18px}#booking-view .booking-card .ticket-extras>summary>span{display:none}#booking-view .booking-card .extra-ticket-group .ticket-line .quantity{grid-column:1;grid-row:auto;justify-self:start;margin-top:3px}#booking-view .booking-card .extra-ticket-group .ticket-line,#booking-view .booking-card .extra-ticket-group .ticket-line.has-selection{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){#booking-view .booking-card .ticket-line.needs-attention{animation:none}#booking-view .booking-card .ticket-extras>summary>svg{transition:none}}

/* All restored categories are visible without disclosure controls. */
#booking-view .booking-card .ticket-extras-open{border:0;border-radius:0;overflow:visible;margin-top:19px;background:transparent}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group{padding:0;margin-top:18px}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group>h3{font-size:14px;line-height:1.4;padding:11px 12px;margin:0 0 5px;border:1px solid #e7e8ea;border-radius:9px;background:#f4f5f6;color:#3e444b}
/* The notice and existing navigation stay together as one sticky header stack. */
.site-header-stack{position:sticky;top:0;z-index:10;width:100%;background:#646f7a}
.site-header-stack>header{position:static;width:100%}
.site-top-notice{display:flex;align-items:center;justify-content:center;min-height:28px;width:100%;padding:6px 5%;background:#080808;color:#fff;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.15px;text-align:center}
.page-transition{top:var(--site-header-stack-height,158px)}
.context-screen{min-height:calc(100svh - var(--site-header-stack-height,158px))}
@media(max-width:760px){.site-top-notice{min-height:28px;font-size:11px;padding:6px 4%}.site-header-stack header nav{top:100%}.page-transition{top:var(--site-header-stack-height,128px)}.context-screen{min-height:calc(100svh - var(--site-header-stack-height,128px))}#booking-view .booking-card .ticket-extras-open>.extra-ticket-group>h3{font-size:12px}}

/* Clear first-ticket action and persistent order summary. */
#booking-view .booking-card .ticket-line {
    border-radius: 12px;
    transition: background-color .2s, box-shadow .2s;
}
#booking-view .booking-card .ticket-line:not(.has-selection) {
    cursor: pointer;
}
#booking-view .booking-card .ticket-line.has-selection {
    background: #f3f3f4;
    box-shadow: inset 0 0 0 2px #828d98;
}
#booking-view .booking-card .ticket-line-copy {
    padding: 4px 10px;
    min-width: 0;
}
#booking-view .booking-card .ticket-first-add {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    gap: 9px;
    grid-column: 2;
    min-height: 46px;
    width: 124px;
    padding: 10px;
    border: 1px solid #6f7a86;
    border-radius: 12px;
    background: #7e8995;
    color: #2a2e33;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    -webkit-appearance: none;
    touch-action: manipulation;
}
#booking-view .booking-card .ticket-first-add span {
    font-size: 24px;
    line-height: 1;
}
#booking-view .booking-card .ticket-first-add:focus-visible {
    outline: 3px solid #2a2e33;
    outline-offset: 3px;
}
#booking-view .booking-card .quantity[hidden],
#booking-view .booking-card .ticket-first-add[hidden],
#booking-step-tickets[hidden],
#booking-step-date[hidden] {
    display: none !important;
}
#booking-view .booking-card .quantity {
    height: 46px;
}
#booking-view .booking-card .quantity button {
    min-height: 44px;
    touch-action: manipulation;
}
#booking-view .booking-card #selection-count {
    display: block;
    font-size: 14px;
    font-weight: 700;
}
#booking-view .booking-card .booking-total > small,
#booking-view .booking-card .booking-total > svg {
    display: none !important;
}
#booking-view .booking-card .booking-total {
    justify-content: space-between;
    padding: 0;
    background: transparent;
}
#booking-view .booking-card .booking-summary {
    display: none !important;
}
body.booking-bar-visible #booking-view .booking-card .booking-summary {
    position: fixed !important;
    display: flex !important;
    z-index: 9;
    inset: auto 0 0;
    width: 100%;
    max-width: 860px;
    max-height: 40vh;
    overflow-y: auto;
    margin: 0 auto;
    padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px));
    border-top: 3px solid #7e8995;
    border-radius: 18px 18px 0 0;
    background: #fff;
    box-shadow: 0 -8px 30px #2a2e3324;
}
#booking-view .booking-card .booking-summary #review {
    background: #7e8995;
    color: #2a2e33;
    border: 1px solid #737f8c;
}
#booking-view .booking-card .booking-summary #review:disabled {
    background: #ecedee;
    border-color: #e0e2e5;
    color: #667183;
}
#booking-view {
    padding-bottom: 16px;
}
#booking-infant-hint {
    padding: 11px 12px;
    margin-top: 14px;
    border-radius: 10px;
    background: #f4f5f6;
}
@media (max-width: 760px) {
    #booking-view .booking-card .ticket-first-add {
        width: 112px;
    }
    body.booking-bar-visible #booking-view .booking-card .booking-summary {
        padding-left: 5%;
        padding-right: 5%;
    }
}
@media (max-width: 350px) {
    #booking-view .booking-card .extra-ticket-group .ticket-first-add {
        grid-column: 1;
        justify-self: start;
        margin-left: 10px;
    }
}


/* Reveal the calendar while the booking card scrolls beneath the header. */
#booking-step-date:not([hidden]) {
    animation: calendar-panel-open 900ms cubic-bezier(.22, .61, .36, 1) both;
    transform-origin: top center;
}
@keyframes calendar-panel-open {
    from {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        clip-path: inset(0);
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    #booking-step-date:not([hidden]) {
        animation: none;
    }
}


/* Expanding the booking card must not anchor the viewport to its footer. */
#booking-view,
#site-footer {
    overflow-anchor: none;
}


/* Green cells identify every date that can be booked. */
#booking-calendar .calendar-day:not(:disabled) {
    background: #edf8f0;
    border: 1px solid #95cda5;
    color: #205c36;
    border-radius: 12px;
    cursor: pointer;
}
#booking-calendar .calendar-day:not(:disabled):hover {
    background: #d9efdf;
    border-color: #4a9f66;
}
#booking-calendar .calendar-day.is-selected:not(:disabled) {
    background: #247a43;
    border-color: #1c6336;
    color: #fff;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px #1c6336;
}
#booking-calendar .calendar-day:not(:disabled):focus-visible {
    outline: 3px solid #174c2a;
    outline-offset: 2px;
}
#booking-calendar .calendar-day:disabled {
    background: transparent;
    border-color: transparent;
}
#booking-calendar .calendar-today-dot {
    background: #247a43;
}

/* EMAAR / LAGOON V4 — turquoise water, sea greens, light aqua. */
:root{--navy:#204c43;--ink:#204c43;--muted:#429b88;--orange:#cfebe0;--orange-hover:#b9e3d3;--pale:#ecf7f3;--line:#c3e6d8;--blue:#51b49f;--warm:#ebf7f2}
body{background:#f4faf8;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3{font-family:'DM Sans',Arial,sans-serif}
h2{font-weight:300;letter-spacing:-.65px}
.button{border-radius:7px;font-size:11px;font-weight:600;letter-spacing:.8px;min-height:48px;box-shadow:none}
a.button.orange,button.button.orange,.button.navy{background:linear-gradient(110deg,#caeadd,#fcfcfb 48%,#bfe5d6);color:#204a41;border:1px solid #92d3ba;box-shadow:inset 0 1px 0 #fff,0 3px 8px #204c430b}
a.button.orange:hover,button.button.orange:hover,.button.navy:hover{background:linear-gradient(110deg,#bce3d4,#f4faf8 48%,#b1dfcd);border-color:#6bbfae;transform:none}
.button .ui-arrow{color:inherit}
.site-top-notice{background:linear-gradient(100deg,#d7efe6,#fbfaf9 50%,#d7efe6);color:#3c8c7b;font-size:10px;letter-spacing:.4px;font-weight:400;min-height:27px;border-bottom:1px solid #c3e7d9}
.site-header-stack{box-shadow:0 2px 12px #204c430c;background:#fbfaf8}
.site-header-stack header{height:98px;background:linear-gradient(110deg,#f3faf7,#fff 50%,#e6f5ef);color:#204c43;padding:8px 6%;border-bottom:1px solid #bfe5d6}
header .brand img{width:85px;height:78px;max-height:none;object-fit:contain;filter:brightness(0);opacity:.8}
header nav{color:#2b6357;font-size:11px;font-weight:500;letter-spacing:.8px}
header nav a:hover{color:#51b49f}
header .cart-button{color:#2b6357}
header .cart-button span{background:#d9efe6;color:#204c43;border:1px solid #a8dbc7}
header .language,header .language button{color:#47a692}
header .language button.active{color:#204c43;border-bottom-color:#67beac}
header .header-ticket{border-radius:6px;padding:15px 21px}
.hero{display:block;padding:25px 5% 28px;min-height:0;background:linear-gradient(130deg,#dcf0e8,#f9f8f6 42%,#e1f3ec);isolation:isolate;overflow:hidden}
.hero::before{display:none}
.hero-poster{display:block;position:relative;width:100%;max-width:1320px;min-height:605px;margin:0 auto;border:1px solid #a1d8c3d9;border-radius:13px;overflow:hidden;box-shadow:0 12px 35px #2f6f611a,0 0 0 5px #ffffff80;background:#ddf1e9;isolation:isolate}
.hero-poster #campaign-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:64% 40%;border-radius:0;filter:none}
.hero-poster::before{display:block;content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(239,251,246,.98) 0%,rgba(231,248,240,.95) 23%,rgba(229,248,239,.82) 36%,rgba(231,250,243,.06) 61%,transparent 80%)}
.hero-poster::after{display:block;content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(221,242,230,.97),rgba(233,250,240,.05) 23%,transparent 45%);height:auto}
.campaign-copy{position:relative;z-index:2;width:48%;max-width:570px;padding:54px 0 112px 5%;left:auto;top:auto;right:auto;color:#235147;text-align:left;pointer-events:auto}
.campaign-kicker{display:block;font-size:11px;letter-spacing:3px;color:#3d8f7e;font-weight:500}
.hero .campaign-copy #campaign-title{font-size:clamp(24px,2.4vw,34px);line-height:1.25;letter-spacing:-.7px;font-weight:300;margin:21px 0 26px;max-width:390px;min-height:2.5em;font-family:'DM Sans',Arial,sans-serif}
.hero .campaign-copy .campaign-offer{display:grid;grid-template-columns:max-content 1fr;align-items:baseline;gap:0 10px;margin:0;padding:0;border:0;background:none;border-radius:0;max-width:none;color:#235349;font-family:'DM Sans',Arial,sans-serif;line-height:1;letter-spacing:-1px;font-weight:300}
.campaign-offer .campaign-offer-label{grid-column:1/-1;font-size:15px;font-weight:400;line-height:1.5;letter-spacing:.4px;margin-bottom:5px;color:#3a8878}
.campaign-offer > .campaign-discount-number{font-size:clamp(80px,8vw,116px);font-weight:300;letter-spacing:-7px;line-height:1.12;text-shadow:0 1px 0 white}
.campaign-offer > .campaign-discount-word{font-size:34px;font-weight:300;letter-spacing:-.8px;line-height:1.3}
.campaign-copy .campaign-scope{font-size:11px;line-height:1.6;color:#3e907e;margin:9px 0 24px;max-width:330px}
.campaign-copy a.campaign-book{display:flex;justify-content:space-between;gap:40px;width:290px;max-width:100%;min-height:54px;border-radius:7px;background:linear-gradient(105deg,#a1d9c3 0%,#fbfbfa 45%,#b7e2d1 100%);border:1px solid #6abfad;color:#225046;box-shadow:inset 0 1px 0 white,0 5px 14px #2c675b26;padding:17px 23px;font-size:12px;font-weight:700;letter-spacing:1px}
.campaign-copy a.campaign-book:hover{background:linear-gradient(105deg,#b8e2d2,#fff 45%,#c9e9dd);border-color:#49aa96}
.campaign-location{position:absolute;z-index:3;left:5%;right:auto;bottom:25px;transform:none;margin:0;width:auto;max-width:calc(100% - 250px);min-height:0;display:flex;justify-content:flex-start;gap:11px;padding:13px 18px;background:linear-gradient(110deg,#fbfbfadd,#dcf1e9e8);border:1px solid #9bd6bfe6;border-radius:7px;box-shadow:inset 0 1px 0 #fff9;color:#2a6256;text-shadow:none;text-align:left}
.campaign-location-copy strong{font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0}
.campaign-location-copy>span{font-size:11px;color:#419986;font-weight:400}
.campaign-location-icon,.campaign-location-arrow{color:#449e8b}
.campaign-location-arrow{margin-left:10px}
.hero-poster .campaign-controls{position:absolute;left:auto;right:25px;bottom:33px;z-index:3;margin:0;padding:0 4px;gap:4px;border:1px solid #9cd7c0;border-radius:7px;background:linear-gradient(110deg,#fbfaf9ed,#dcf1e9ed);box-shadow:inset 0 1px 0 #fff}
.hero-poster .campaign-controls>button{width:40px;height:40px;color:#317264}
.hero-poster #campaign-dots{gap:0}
.hero-poster #campaign-dots button{width:24px;height:40px}
.hero-poster #campaign-dots button::after{width:5px;height:5px;background:#78c5b5}
.hero-poster #campaign-dots button.active::after{width:16px;background:#2d6a5d}
.ticket-prompt{display:flex;align-items:center;flex-direction:row;gap:30px;padding:27px 6%;margin:0;background:linear-gradient(110deg,#e4f4ee,#fbfbfa 50%,#e0f3eb);color:#26584e;text-align:left;border-top:1px solid #fff;border-bottom:1px solid #c1e5d7}
.ticket-prompt>div{max-width:none;flex:1}
.plan-eyebrow{display:block;font-size:9px;letter-spacing:1.8px;color:#46a390;margin-bottom:9px}
.ticket-prompt h2{font-family:'DM Sans',Arial,sans-serif;font-size:30px;letter-spacing:-.7px;font-weight:300;margin:0 0 7px}
.ticket-prompt p{font-size:12px;line-height:1.75;color:#45a28e;margin:0}
.ticket-prompt .button.orange{min-width:210px;border-radius:7px;font-size:11px;gap:30px;width:auto;justify-content:space-between;padding:16px 22px}
.quick-info{background:#eff8f5;border-top:0;border-bottom:1px solid #cfebe0}
.quick-info .info-icon{background:#e4f4ee;color:#449f8c;border:1px solid #c3e6d8}
.quick-info>a{border-bottom-color:#90d2b8}
.intro{background:linear-gradient(120deg,#e5f5ef,#fbfaf9);border-color:#cfece1}
.intro-emaar-logo{width:100px;height:92px;object-fit:contain;filter:brightness(0);opacity:.76;margin-bottom:20px}
.intro h2{font-family:'DM Sans',Arial,sans-serif;font-weight:300;font-size:35px}
.stats strong{color:#317365;font-weight:300}.stats strong span{color:#69bfad}
.themes{background:#fbfaf8}.theme-card{border-radius:10px;border:1px solid #b9e3d3;box-shadow:0 6px 17px #2f6f6114;min-height:335px}
.theme-body h3{font-weight:400;letter-spacing:-.5px}
.theme-body .arrow{border-radius:7px;background:linear-gradient(110deg,#afdecc,#fbfbfa,#bce3d4);color:#295e53}
.theme-controls button{background:#e7f5f0;border-color:#b2dfce;border-radius:7px}
.visit-photo{border-radius:10px;border:1px solid #b9e3d3}
.visit-photo h2{font-family:'DM Sans',Arial,sans-serif;font-weight:300}
.final-cta{background:linear-gradient(110deg,#dcf0e8,#fcfbfa 50%,#dcf0e8);border-color:#b9e3d3}
.final-cta h2{font-family:'DM Sans',Arial,sans-serif;font-weight:300}
.final-cta .eyebrow{color:#4aad98}
footer{background:#edf7f3;border-top:1px solid #c6e8db}
footer .brand img{filter:brightness(0);opacity:.76;width:85px;height:78px;object-fit:contain}
#mobile-buy{display:none!important}
.booking-screen{background:linear-gradient(120deg,#e4f4ee,#faf8f6 60%,#e4f4ee)}
#booking-view .booking-card{border-color:#b5e1d0;box-shadow:0 7px 25px #2c685b10}
#booking-view .booking-card .citizenship-card[aria-pressed=true],#booking-view .booking-card .ticket-line.has-selection{background:#e8f6f0;border-color:#7dc7b8}
#booking-view .booking-card .citizenship-card[aria-pressed=true] .citizenship-radio{border-color:#4aab97;background:#4aab97}
#booking-view .booking-card .calendar-day.is-selected{background:#3b8a79;color:white;border-color:#3b8a79}
#booking-view .booking-card .ticket-first-add{background:linear-gradient(110deg,#d4ede3,#fbfaf9,#d0ece1);color:#295f54;border-color:#92d2b9}
#booking-view .booking-card .quantity button{background:#dcf1e9;color:#2c675b}
body.booking-bar-visible #booking-view .booking-card .booking-summary{border-top:1px solid #a2d9c4;box-shadow:0 -5px 22px #285e5317;border-radius:10px 10px 0 0;background:#f3faf7}
#booking-view .booking-card .booking-summary #review{background:linear-gradient(110deg,#b4e0cf,#fcfbfa,#c1e5d7);color:#275c51;border-color:#74c3b3;border-radius:7px}
#booking-view .booking-card .booking-summary #review:disabled{background:#e4f4ee;color:#4aae99;border-color:#c2e6d8}
.booking-order-date,.checkout-summary .booking-order-date{background:#e7f5f0;border-color:#b2e0ce;border-left-color:#61bba8}
@media(hover:hover) and (pointer:fine){.campaign-location:hover .campaign-location-copy strong{color:#224f46}.hero-poster .campaign-controls>button:hover{color:#224f46}}
@media(max-width:1050px) and (min-width:761px){.hero{padding:24px 4%}.campaign-copy{width:55%;padding-left:4%}.hero-poster{min-height:570px}.hero .campaign-copy #campaign-title{font-size:27px}.campaign-offer > .campaign-discount-number{font-size:88px}.campaign-offer > .campaign-discount-word{font-size:28px}header nav{gap:17px;font-size:10px;letter-spacing:.2px}.header-actions{gap:15px}}
@media(max-width:760px){
 .site-header-stack header{height:82px;padding:6px 6%}
 .site-top-notice{min-height:25px;padding:5px 3%;font-size:9px;letter-spacing:.1px}
 header .brand img{width:72px;height:66px;max-height:none}
 .header-actions{gap:18px}
 .menu-toggle:before,.menu-toggle:after{background:#307063}
 .menu-toggle:before{box-shadow:0 9px 0 #307063}
 .menu-toggle[aria-expanded=true]:before{box-shadow:none}
 .site-header-stack header #nav{background:linear-gradient(120deg,#fcfcfb,#e5f5ef);color:#2e6a5e;border-top:1px solid #c8e9dc;box-shadow:0 10px 18px #204c4314}
 .site-header-stack header #nav>a{min-height:56px;padding:18px 6%;border-bottom:1px solid #d2ede2}
 .hero{padding:14px 12px 19px;background:linear-gradient(130deg,#dbf0e8,#faf9f7 45%,#d8efe6)}
 .hero-poster{width:100%;max-width:550px;min-height:0;border-radius:12px;box-shadow:0 8px 20px #306f621c,0 0 0 3px #ffffff85;display:flex;flex-direction:column;isolation:isolate}
 .hero-poster #campaign-image{position:absolute;inset:0;width:100%;height:390px;object-fit:cover;object-position:50% 35%;aspect-ratio:auto;min-height:0;filter:none}
 .hero-poster::before{display:block;inset:0;background:linear-gradient(180deg,transparent 0px,transparent 175px,rgba(235,250,242,.10) 210px,rgba(234,250,241,.86) 285px,#edf9f3 360px,#edf9f3 100%)}
 .hero-poster::after{display:block;inset:0;z-index:1;height:auto;background:linear-gradient(90deg,rgba(236,251,244,.03),transparent 65%)}
 .campaign-copy{position:relative;inset:auto;width:100%;max-width:none;z-index:2;padding:270px 23px 23px;color:#25574c}
 .campaign-kicker{font-size:9px;letter-spacing:2px;color:#34786a}
 .hero .campaign-copy #campaign-title{font-size:24px;line-height:1.2;letter-spacing:-.5px;font-weight:300;margin:10px 0 15px;min-height:0;max-width:290px}
 .hero .campaign-copy .campaign-offer{grid-template-columns:max-content 1fr;gap:0 8px;margin:0;padding:0;letter-spacing:0}
 .campaign-offer .campaign-offer-label{font-size:12px;letter-spacing:.2px;margin-bottom:0;color:#3a8878}
 .campaign-offer > .campaign-discount-number{font-size:84px;font-weight:300;line-height:1.07;letter-spacing:-5.5px}
 .campaign-offer > .campaign-discount-word{font-size:29px;letter-spacing:-.8px;font-weight:300}
 .campaign-copy .campaign-scope{font-size:9px;line-height:1.5;margin:8px 0 17px;color:#3b8a79}
 .campaign-copy a.campaign-book{width:100%;min-height:51px;padding:16px 19px;font-size:11px;letter-spacing:.8px;gap:20px}
 .campaign-location{position:relative;left:auto;right:auto;bottom:auto;transform:none;z-index:2;margin:0 23px 20px;width:auto;max-width:none;padding:13px 0 0;border:0;border-top:1px solid #abdcc9;border-radius:0;background:none;box-shadow:none;gap:9px;min-height:0}
 .campaign-location-copy strong{font-size:13px;font-weight:500}
 .campaign-location-copy>span{font-size:10px}
 .campaign-location-arrow{margin-left:auto}
 .hero-poster .campaign-controls{position:absolute;top:13px;right:13px;bottom:auto;left:auto;z-index:3;gap:0;margin:0;padding:0 1px;background:#f4faf8e6;border:1px solid #d2ede2;border-radius:6px;box-shadow:0 2px 12px #25574c17}
 .hero-poster .campaign-controls>button{width:36px;height:36px}
 .hero-poster #campaign-dots button{width:20px;height:36px}
 .ticket-prompt{padding:25px 7%;gap:18px;flex-wrap:wrap;flex-direction:row;text-align:left}
 .ticket-prompt>div{flex:1 1 100%;max-width:none}
 .plan-eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:8px}
 .ticket-prompt h2{font-size:26px;font-weight:300;margin-bottom:8px}
 .ticket-prompt p{font-size:12px;line-height:1.7}
 .ticket-prompt .button.orange{width:100%;min-height:48px;font-size:10px;gap:25px;justify-content:space-between;padding:14px 19px}
 .quick-info{padding:23px 7%;gap:17px}
 .intro h2{font-size:30px}.theme-card{min-height:285px}
 footer{padding-bottom:32px}
 html{scroll-padding-top:108px}
}
@media(max-width:360px){.header-actions{gap:12px}.campaign-copy{padding:262px 19px 20px}.hero .campaign-copy #campaign-title{font-size:22px}.campaign-offer > .campaign-discount-number{font-size:74px}.campaign-offer > .campaign-discount-word{font-size:25px}.campaign-location{margin-left:19px;margin-right:19px}}


/* Final lagoon surfaces and functional accents: no metallic shine. */
:root{--navy:#174e52;--ink:#174e52;--muted:#547c7b;--orange:#12847c;--orange-hover:#0b706b;--pale:#edf9f5;--line:#b7ddd3;--blue:#339cc6;--warm:#e9f7ef}
body{background:#f4fbf7}
.site-top-notice{background:#dff3ec;color:#42746f;border-bottom-color:#bbddd3}
.site-header-stack,.site-header-stack header{background:#f8fdfa;box-shadow:0 2px 12px #145b4d0a;border-bottom-color:#c5e2d8}
/* Real image element: no mask or hidden image fallback. */
header .brand img,footer .brand img,.intro-emaar-logo{display:block;opacity:1;visibility:visible;filter:brightness(0) saturate(100%) invert(53%) sepia(58%) saturate(588%) hue-rotate(153deg) brightness(95%) contrast(91%)}
header .brand img{width:85px;height:78px;max-height:none;object-fit:contain}
.intro-emaar-logo{width:100px;height:92px;margin:0 0 20px;object-fit:contain}
footer .brand img{width:85px;height:78px;object-fit:contain}
header nav,header .cart-button{color:#245f62}
header .language button.active{color:#167f88;border-bottom-color:#339cc6}
header .cart-button span{background:#d8f0e8;border-color:#a2d9cb;color:#1b6866}
.hero{background:linear-gradient(130deg,#d2eee4,#f1fcf5 45%,#dcf4eb)}
.hero-poster{background:#edf9f3;border-color:#a3d2c1;box-shadow:0 12px 30px #17644f18,0 0 0 4px #f6fffa}
.hero .campaign-copy .campaign-offer{color:#166564}
.campaign-kicker,.campaign-location-icon,.campaign-location-arrow{color:#168980}
.campaign-copy .campaign-scope{color:#4a7973}
a.button.orange,button.button.orange,.button.navy{background:#12847c;color:white;border:1px solid #0c716c;box-shadow:0 3px 9px #0c6b6021}
a.button.orange:hover,button.button.orange:hover,.button.navy:hover{background:#0b706b;color:white;border-color:#095e5a;box-shadow:0 3px 9px #0c6b6021}
.hero .campaign-copy a.campaign-book{width:65%;min-width:0;max-width:65%;min-height:51px;padding:15px 16px;gap:12px;justify-content:space-between;background:#12847c;color:#fff;border:1px solid #0b6e69;box-shadow:0 5px 13px #0c6b6026;border-radius:9px;font-size:11px;letter-spacing:.35px}
.hero .campaign-copy a.campaign-book:hover{background:#0b706b;border-color:#095e5a;color:white}
.campaign-book span{min-width:0;white-space:normal;line-height:1.4}
.campaign-book .ui-arrow{flex:0 0 16px}
.campaign-location{background:#f0fcf5e6;border-color:#a6d8c8;color:#245f59;box-shadow:none}
.campaign-location-copy>span{color:#4b7d73}
.hero-poster .campaign-controls{background:#f3fff8ed;border-color:#b5ddcb;box-shadow:0 2px 10px #12593f12}
.hero-poster .campaign-controls>button{color:#20786e}
.hero-poster #campaign-dots button::after{background:#9bcabc}
.hero-poster #campaign-dots button.active::after{background:#238d80}
.ticket-prompt{background:#e6f6ed;color:#1c5753;border-top-color:#f9fffb;border-bottom-color:#b9dece}
.ticket-prompt p{color:#52796e}
.ticket-prompt .button.orange{background:#f1fcf5;color:#176b61;border-color:#87c5b2;box-shadow:none}
.ticket-prompt .button.orange:hover{background:#d8f1e4;color:#176b61;border-color:#67ad96;box-shadow:none}
.quick-info{background:#f3fcf7;border-color:#c3e3d4}
.quick-info .info-icon{background:#e1f4ea;border-color:#b0ddc8;color:#308d72}
.intro{background:linear-gradient(120deg,#ddf3e7,#f4fcf6);border-color:#bddfcb}
.themes{background:#f5fcf8}
.theme-controls button,.theme-body .arrow{background:#dbf2e8;color:#1e786d;border-color:#9cd4bd}
.final-cta{background:linear-gradient(120deg,#d6f0e3,#e9faf0);border-color:#add9be}
footer{background:#e6f5ed;border-top-color:#b2d9c3}
.booking-screen{background:linear-gradient(120deg,#ddf2e7,#f3fcf7 65%,#e1f4ec)}
#booking-view .booking-card{border-color:#b1d9c9;box-shadow:0 7px 24px #155b4610}
#booking-view .booking-card .citizenship-card[aria-pressed=true],#booking-view .booking-card .ticket-line.has-selection{background:#e5f6ee;border-color:#7ebda8}
#booking-view .booking-card .citizenship-card[aria-pressed=true] .citizenship-radio{background:#188b78;border-color:#188b78}
#booking-view .booking-card .ticket-first-add{background:#dff4ea;border-color:#89c5af;color:#196f60}
#booking-view .booking-card .quantity button{background:#d8f1e6;color:#237867}
body.booking-bar-visible #booking-view .booking-card .booking-summary{background:#f0fbf5;border-top-color:#9fcebb;box-shadow:0 -5px 22px #155b4614}
#booking-view .booking-card .booking-summary #review{background:#12847c;color:white;border-color:#0c716c}
#booking-view .booking-card .booking-summary #review:disabled{background:#dcece4;color:#65867a;border-color:#bdd5c9}
.booking-order-date,.checkout-summary .booking-order-date{background:#e1f4e9;border-color:#abd6c0;border-left-color:#4eac85}
.theme-card img,.visit-photo img,#theme-dialog-image{filter:saturate(1.06)}
@media(max-width:760px){
 header .brand img{width:72px;height:66px}
 .site-header-stack header #nav{background:#f3fcf7;color:#245f62;border-top-color:#c3e1d5}
 .site-header-stack header #nav>a{border-bottom-color:#d6ede1}
 .hero{background:linear-gradient(130deg,#d2eee4,#f1fcf5 45%,#dcf4eb)}
 .hero-poster{background:#edf9f3;box-shadow:0 8px 20px #17644f18,0 0 0 3px #f6fffa}
 .hero-poster #campaign-image{height:390px;object-position:50% 35%;filter:none}
 .campaign-location{background:none;border-top-color:#a8d1bc;color:#245f59}
 .hero .campaign-copy a.campaign-book{width:65%;max-width:65%;min-width:0;font-size:10px;padding:14px 13px;gap:10px}
 .hero-poster .campaign-controls{background:#f3fff8ed;border-color:#b5ddcb;box-shadow:0 2px 10px #12593f12}
 .menu-toggle:before,.menu-toggle:after{background:#326966}
 .menu-toggle:before{box-shadow:0 9px 0 #326966}
 .menu-toggle[aria-expanded=true]:before{box-shadow:none}
}

/* Lagoon V5: white banner surround, azure header logo, warm coral purchase CTA. */
.hero{background:#fff}
.site-header-stack{background:#dceff7;box-shadow:0 2px 12px #12618310}
.site-header-stack header{background:#dceff7;border-bottom:1px solid #b1d6e7}
.site-top-notice{background:#c9e6f3;color:#376779;border-bottom-color:#acd2e4}
header .brand img{opacity:1;visibility:visible;filter:brightness(0) saturate(100%) invert(53%) sepia(58%) saturate(588%) hue-rotate(153deg) brightness(95%) contrast(91%) saturate(1.65) brightness(.8)}
header nav,header .cart-button{color:#24596d}
header .language,header .language button{color:#40788c}
header .language button.active{color:#087bb1;border-bottom-color:#0789c3}
header .cart-button span{background:#eff9fd;color:#167aa0;border-color:#96cce2}
.hero .campaign-copy a.campaign-book{background:#c44f36;border-color:#b3432d;color:#fff;font-size:14px;font-weight:700;letter-spacing:.25px;min-height:54px;box-shadow:0 5px 13px #ad482324}
.hero .campaign-copy a.campaign-book:hover{background:#af432d;border-color:#9e3a27;color:#fff;box-shadow:0 5px 13px #ad482324}
.hero .campaign-copy a.campaign-book:focus-visible{outline:3px solid #198ca3;outline-offset:4px}
@media(max-width:760px){
 .hero{background:#fff}
 .site-header-stack header #nav{background:#e8f5fb;color:#24596d;border-top-color:#b1d6e7}
 .site-header-stack header #nav>a{border-bottom-color:#c4e1ee}
 .menu-toggle:before,.menu-toggle:after{background:#2b677d}
 .menu-toggle:before{box-shadow:0 9px 0 #2b677d}
 .menu-toggle[aria-expanded=true]:before{box-shadow:none}
 .hero .campaign-copy a.campaign-book{font-size:13px;padding:14px 13px;gap:10px}
}
@media(max-width:360px){.hero .campaign-copy a.campaign-book{font-size:12px;padding-left:12px;padding-right:12px;gap:8px}}

/* Lagoon V6: two-color header logo, aligned inset panels, tap-to-advance banner. */
header .brand img{filter:none}
.hero-poster{cursor:pointer;touch-action:manipulation}
.ticket-prompt,.quick-info{width:90%;max-width:1320px;margin-left:auto;margin-right:auto;border:1px solid #c3e3d4;border-radius:12px}
.ticket-prompt{margin-bottom:14px}
.quick-info{margin-bottom:24px}
@media(max-width:1050px) and (min-width:761px){
 .ticket-prompt,.quick-info{width:92%}
}
@media(max-width:760px){
 .ticket-prompt,.quick-info{width:calc(100% - 24px);max-width:550px}
}

/* Lagoon V8: white panels with restrained blue and mint corner washes. */
.ticket-prompt,.quick-info{
 border-color:#dbe5e9;
 box-shadow:0 4px 16px rgba(35,77,88,.06);
 color:#243e48;
}
.ticket-prompt{
 background:radial-gradient(ellipse 40% 100% at 100% 0%,#e3f3fc 0%,rgba(227,243,252,.55) 30%,rgba(227,243,252,0) 72%),#fff;
}
.ticket-prompt .plan-eyebrow{color:#507782}
.ticket-prompt h2{color:#243e48}
.ticket-prompt p{color:#5b6f77}
.ticket-prompt .button.orange{
 background:#217d83;
 border-color:#1b7076;
 color:#fff;
 box-shadow:0 3px 9px rgba(33,125,131,.12);
}
.ticket-prompt .button.orange:hover{
 background:#196a70;
 border-color:#155e64;
 color:#fff;
 box-shadow:0 3px 9px rgba(33,125,131,.12);
}
.ticket-prompt .button.orange:focus-visible,.quick-info>a:focus-visible{
 outline:3px solid #217d83;
 outline-offset:4px;
}
.quick-info{
 background:radial-gradient(ellipse 40% 110% at 100% 100%,#e5f5ee 0%,rgba(229,245,238,.55) 30%,rgba(229,245,238,0) 72%),#fff;
}
.quick-info .info-icon{background:#f0f7f7;border-color:#dceaea;color:#4b8085}
.quick-info small{color:#61747c}
.quick-info strong{color:#243e48}
.quick-info i{color:#83979f}
.quick-info>a{color:#286c75;border-bottom-color:#b4cfd3}
.quick-info>a:hover{color:#184e58;border-bottom-color:#286c75}

/* Lagoon V9: consistent inset surfaces throughout the lower home page. */
#home-view>.inset-panel,#site-footer.inset-panel{
 width:90%;
 max-width:1320px;
 margin:0 auto 16px;
 border:1px solid #dbe5e9;
 border-radius:12px;
 background:radial-gradient(ellipse 40% 110% at 100% 100%,#e5f5ee 0%,rgba(229,245,238,.55) 30%,rgba(229,245,238,0) 72%),#fff;
 box-shadow:0 4px 16px rgba(35,77,88,.06);
 color:#243e48;
}
#home-view>.inset-panel:not(#booking-view){padding:40px clamp(20px,4vw,56px)}
#home-view>.inset-panel>div{min-width:0}
#site-footer.inset-panel{padding:28px clamp(20px,4vw,56px);margin-bottom:24px}
@media(max-width:1050px) and (min-width:761px){
 #home-view>.inset-panel,#site-footer.inset-panel{width:92%}
}
@media(max-width:760px){
 #home-view>.inset-panel,#site-footer.inset-panel{width:calc(100% - 24px);max-width:550px}
 #home-view>.inset-panel:not(#booking-view){padding:26px 20px}
 #home-view>#booking-view.inset-panel{padding:20px 12px 16px}
 #site-footer.inset-panel{padding:26px 20px}
}
@media(max-width:360px){
 #home-view>.inset-panel:not(#booking-view),#site-footer.inset-panel{padding-left:16px;padding-right:16px}
}

/* Lagoon V10: preserve black lettering and blue emblem on every logo. */
header .brand img,footer .brand img,.intro-emaar-logo{filter:none;opacity:1;visibility:visible}

/* Lagoon V11: blue actions, white cart surface, neutral disabled controls. */
a.button.orange,button.button.orange,.button.navy,.ticket-prompt .button.orange{
 background:#146da0;color:#fff;border-color:#115f8c;
 box-shadow:0 3px 9px rgba(20,80,119,.12);
}
a.button.orange:hover,button.button.orange:hover,.button.navy:hover,.ticket-prompt .button.orange:hover{
 background:#105b87;color:#fff;border-color:#0c4c73;
 box-shadow:0 3px 9px rgba(20,80,119,.16);
}
#booking-view .booking-card{border-color:#d8e2e9;box-shadow:0 7px 24px rgba(32,62,83,.06)}
#booking-view .booking-card .ticket-first-add{
 background:#fff;border-color:#6e9db9;color:#155e8a;box-shadow:none;
}
#booking-view .booking-card .ticket-first-add:hover:not(:disabled){background:#edf5fa;border-color:#146da0;color:#105b87}
#booking-view .booking-card .quantity{background:#fff;border-color:#b9cbd8}
#booking-view .booking-card .quantity button{background:#edf4f9;color:#155e8a}
#booking-view .booking-card .quantity button:hover:not(:disabled){background:#dbeaf5;color:#104e75}
#booking-view .booking-card .quantity button:disabled{background:#f3f5f7;color:#99a6b2}
#booking-view .booking-card .citizenship-card[aria-pressed=true],
#booking-view .booking-card .ticket-line.has-selection{background:#f3f8fc;border-color:#85acc4}
#booking-view .booking-card .citizenship-card[aria-pressed=true] .citizenship-radio{background:#146da0;border-color:#146da0}
#booking-view .booking-card .calendar-day.is-selected:not(:disabled){background:#146da0;border-color:#146da0;color:#fff}
body.booking-bar-visible #booking-view .booking-card .booking-summary{
 background:#fff;border:1px solid #c7d5e0;
 box-shadow:0 -8px 28px rgba(27,56,78,.16);
}
#booking-view .booking-card .booking-summary #selection-count{color:#344e60}
#booking-view .booking-card .booking-summary #total-price{color:#1e303d}
#booking-view .booking-card .booking-summary .booking-empty-hint{color:#657481}
#booking-view .booking-card .booking-summary #review{
 background:#146da0;border-color:#115f8c;color:#fff;box-shadow:0 3px 9px rgba(20,80,119,.12);
}
#booking-view .booking-card .booking-summary #review:hover:not(:disabled){background:#105b87;border-color:#0c4c73;color:#fff;box-shadow:0 3px 9px rgba(20,80,119,.16)}
#booking-view .booking-card .booking-summary #review:disabled{background:#e8edf2;border-color:#d4dde5;color:#647181;box-shadow:none;opacity:1}
.theme-controls button{background:#fff;border-color:#b8cddc;color:#155e8a}
.theme-controls button:hover{background:#edf5fa;border-color:#6e9db9;color:#105b87}
.theme-body .arrow{background:#fff;border-color:#b8cddc;color:#155e8a}
.ticket-prompt .button.orange:focus-visible,
#booking-view .booking-card .ticket-first-add:focus-visible,
#booking-view .booking-card .quantity button:focus-visible,
#booking-view .booking-card .booking-summary #review:focus-visible{outline:3px solid #146da0;outline-offset:3px}

/* Lagoon V12: amber ticket controls, coral booking links, separate packages. */
#booking-view .booking-card .ticket-first-add{
 background:#fff;border:2px solid #df7f03;color:#df7f03;box-shadow:none;
}
#booking-view .booking-card .ticket-first-add:hover:not(:disabled){background:#fff5e6;border-color:#df7f03;color:#df7f03}
#booking-view .booking-card .ticket-line.has-selection{
 background:#fff3e2;border-color:#efc690;box-shadow:inset 0 0 0 2px #efc690;
}
#booking-view .booking-card .quantity{border:2px solid #df7f03;background:#fff}
#booking-view .booking-card .quantity button[data-change]{background:#fff8ee;color:#df7f03;box-shadow:none}
#booking-view .booking-card .quantity button[data-change]:hover:not(:disabled){background:#ffebcf;color:#df7f03;box-shadow:none}
#booking-view .booking-card .quantity button[data-change]:disabled{background:#f5f3f0;color:#b5aaa0;box-shadow:none}
#booking-view .booking-card .ticket-first-add:focus-visible,
#booking-view .booking-card .quantity button:focus-visible{outline-color:#df7f03}
a.button.orange[href="#tickets"]{background:#c44f36;border-color:#b3432d;color:#fff;box-shadow:0 5px 13px #ad482324}
a.button.orange[href="#tickets"]:hover{background:#af432d;border-color:#9e3a27;color:#fff;box-shadow:0 5px 13px #ad482324}
#booking-view .booking-card .ticket-extras-open{margin-top:28px;padding-top:20px;border-top:1px solid #d7dfe4}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group{
 margin-top:16px;padding:12px 10px 8px;border:1px solid #dce3e8;border-radius:14px;background:#fff;
}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group:first-child{margin-top:0}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group>h3{
 margin:0 0 10px;padding:13px 12px;border:0;border-radius:8px;background:#f7f1e9;color:#584a3b;font-size:14px;
}

/* Lagoon V14: useful visit heading and a compact, informative order summary. */
.quick-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:20px 26px}
.quick-info>h2{grid-column:1/-1;margin:0;font-size:23px;font-weight:400;letter-spacing:-.4px;color:#243e48}
.quick-info>a{justify-self:start}
#booking-view .booking-card .booking-summary .booking-summary-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;width:100%}
#booking-view .booking-card .booking-summary .booking-summary-details{min-width:0}
#booking-view .booking-card .booking-summary #selection-count{display:block;font-size:16px;font-weight:700;line-height:1.3;margin:0;color:#243e48}
#booking-view .booking-card .booking-summary .booking-summary-date{margin:7px 0 0;font-size:12px;line-height:1.5;color:#61717c}
#booking-view .booking-card .booking-summary .booking-summary-date span{display:block}
#booking-view .booking-card .booking-summary .booking-summary-date strong{display:block;font-size:13px;font-weight:500;line-height:1.4;color:#344e60;letter-spacing:0;overflow-wrap:anywhere}
#booking-view .booking-card .booking-summary .booking-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px;width:auto;padding:0;background:transparent}
#booking-view .booking-card .booking-summary .booking-summary-total-label{font-size:10px;font-weight:600;letter-spacing:.7px;color:#61717c}
#booking-view .booking-card .booking-summary #total-price{font-size:27px;line-height:1.2}
#booking-view .booking-card .booking-summary #review{background:#df7f03;border-color:#cc7403;color:#2c220e;box-shadow:0 3px 9px rgba(174,98,3,.13)}
#booking-view .booking-card .booking-summary #review:hover:not(:disabled){background:#cb7303;border-color:#b76702;color:#241b09;box-shadow:0 3px 9px rgba(174,98,3,.16)}
#booking-view .booking-card .booking-summary #review:disabled{background:#e8edf2;border-color:#d4dde5;color:#647181;box-shadow:none}
#booking-view .booking-card .booking-summary #review:focus-visible{outline-color:#9b5700}
@media(max-width:760px){
 .quick-info{grid-template-columns:minmax(0,1fr);gap:18px}
 .quick-info>h2{font-size:22px}
 #booking-view .booking-card .booking-summary #total-price{font-size:25px}
}

/* Lagoon V15: one booking surface, scrolling header, conditional order bar. */
.site-header-stack{position:relative;top:auto}
.site-header-stack>header{position:static;top:auto}
html{scroll-padding-top:12px}
#home-view>.section,#home-view>#booking-view,.context-screen,
#checkout-view[data-payment-open="true"] .payment-panel{scroll-margin-top:12px}
.page-transition{top:0}
#booking-view .booking-card{padding:0;max-width:800px;border:0;border-radius:0;background:transparent;box-shadow:none}
#home-view>#booking-view.inset-panel{padding:26px clamp(20px,4vw,56px) 16px}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group{padding:0;margin-top:20px;border:0;border-radius:0;background:transparent;box-shadow:none}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group:first-child{margin-top:0}
#booking-view .booking-card .ticket-extras-open>.extra-ticket-group>h3{padding:0 0 12px;margin:0 0 4px;border:0;border-radius:0;background:transparent;color:#3f4d58;font-size:16px}
#booking-view .booking-card .ticket-line{border-radius:0;box-shadow:none}
#booking-view .booking-card .ticket-line.has-selection{border-radius:8px;background:#fff3e2;box-shadow:none}
body.booking-bar-visible{padding-bottom:var(--booking-bar-height,0px)}
body[data-view="checkout"] #site-footer{display:none}
body.booking-bar-visible #mobile-buy{display:none!important}
@media(max-width:760px){
 #home-view>#booking-view.inset-panel{padding:22px 18px 16px}
 #checkout-view:not([data-payment-open="true"]){padding-bottom:calc(var(--checkout-pay-height,140px) + 16px)}
 #checkout-view .checkout-fields input,#checkout-view .checkout-fields select{scroll-margin-top:12px}
}

/* Lagoon V16: the header shares the site's white and mint card treatment. */
.site-header-stack{
 width:90%;max-width:1320px;margin:12px auto 0;
 border:1px solid #dbe5e9;border-radius:12px;
 background:radial-gradient(ellipse 40% 110% at 100% 100%,#e5f5ee 0%,rgba(229,245,238,.55) 30%,rgba(229,245,238,0) 72%),#fff;
 box-shadow:0 4px 16px rgba(35,77,88,.06);
}
.site-header-stack .site-top-notice{background:transparent;border:0;color:#657c7a;padding:7px 16px 2px;min-height:25px}
.site-header-stack header{background:transparent;border:0;box-shadow:none;color:#285a60;padding-left:clamp(16px,3vw,32px);padding-right:clamp(16px,3vw,32px)}
.site-header-stack header nav,.site-header-stack header .cart-button{color:#285a60}
.site-header-stack header nav a:hover{color:#167e8c}
.site-header-stack header .language,.site-header-stack header .language button{color:#627c7c}
.site-header-stack header .language button.active{color:#0789c3;border-bottom-color:#0789c3}
.site-header-stack header .cart-button span{background:#fff;color:#285a60;border-color:#c8dcda}
.site-header-stack header a.header-ticket{background:#fff;color:#285a60;border-color:#bed4d1;box-shadow:none}
.site-header-stack header a.header-ticket:hover{background:#f1f8f6;color:#285a60;border-color:#91b6b0;box-shadow:none}
.hero{padding-top:14px}
@media(max-width:1050px) and (min-width:761px){.site-header-stack{width:92%}}
@media(max-width:760px){
 .site-header-stack{width:calc(100% - 24px);max-width:550px}
 .site-header-stack header{padding-left:16px;padding-right:16px;gap:16px}
 .site-header-stack .header-actions{gap:14px}
 .site-header-stack .menu-toggle:before,.site-header-stack .menu-toggle:after{background:#285a60}
 .site-header-stack .menu-toggle:before{box-shadow:0 9px 0 #285a60}
 .site-header-stack .menu-toggle[aria-expanded=true]:before{box-shadow:none}
 .site-header-stack header #nav{top:calc(100% + 8px);left:0;right:0;width:100%;background:#fff;color:#285a60;border:1px solid #dbe5e9;border-radius:12px;box-shadow:0 6px 18px rgba(35,77,88,.09)}
 .site-header-stack header #nav>a{border-bottom-color:#e7efed}
 .site-header-stack header #nav>a:last-child{border-bottom:0}
}
@media(max-width:360px){.site-header-stack header{gap:12px}.site-header-stack .header-actions{gap:10px}}
