@font-face{font-family:EH Work Sans;src:url(/fonts/eh/work-sans.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:EH Nitti;src:url(/fonts/eh/nitti-grotesk-800.woff2) format('woff2');font-weight:800;font-display:swap}
.eh-booking{--orange:#ff6826;--ink:#000;--paper:#fff;--line:#d0d0d0;--card:#000;--card-muted:#c9c9c9;margin:0;background:var(--paper) url(/b2b/eh/images/vortex.svg) center top / 1920px auto repeat-y fixed;color:var(--ink);font-family:EH Work Sans,sans-serif;font-size:16px;line-height:1.55}
.eh-booking *{box-sizing:border-box}.eh-shell{max-width:1120px;margin:auto;padding:0 40px}.eh-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:28px 0 24px}.eh-header img{object-fit:contain;object-position:left;width:154px;height:auto}.eh-header>span,.eh-eyebrow,.eh-footer>span{font-weight:650;font-size:11px;letter-spacing:.15em}.eh-booking a{color:inherit;text-underline-offset:4px}.eh-progress{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;padding:24px 0;margin:0;border-bottom:1px solid var(--line)}.eh-progress li{font-size:11px;color:#686561;font-weight:600;display:flex;gap:8px;align-items:center}.eh-progress li>span{width:24px;height:24px;border:1px solid #b6b0a7;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:10px}.eh-progress .is-current{color:var(--ink)}.eh-progress .is-current>span{color:#fff;background:var(--orange);border-color:var(--orange)}.eh-progress .is-done>span{background:var(--ink);color:white;border-color:var(--ink)}.eh-intro{padding:48px 0 32px;max-width:none}.eh-eyebrow{margin:0 0 16px}.eh-booking h1,.eh-booking h2,.eh-booking h3,.eh-booking h4,.eh-booking h5,.eh-booking h6{font-family:EH Nitti,EH Work Sans,sans-serif;text-transform:uppercase;font-weight:800;line-height:1.04;letter-spacing:-.025em;margin:0 0 16px}.eh-booking h1{font-size:clamp(44px,6vw,72px);text-transform:uppercase}.eh-booking h1 em{font-style:normal;color:var(--orange)}.eh-booking h2{font-size:30px}.eh-booking h3{font-size:19px}.eh-intro>p:last-child{max-width:none;color:#56524c;margin:20px 0 0}.eh-form,.eh-panel,.eh-package{background:white;border:1px solid var(--line);padding:32px}.eh-form>label{display:block;margin:0 0 20px}.eh-booking fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.eh-booking legend{font-weight:650;margin-bottom:16px;font-size:17px}.eh-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.eh-choice{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:17px;cursor:pointer;font-size:15px;font-weight:550}.eh-choice:has(input:checked){border-color:var(--orange);background:var(--orange);color:#fff}.eh-booking input[type=radio],.eh-booking input[type=checkbox]{accent-color:var(--ink);width:19px;height:19px;flex-shrink:0;margin:0}.eh-booking input:not([type=submit],[type=radio],[type=checkbox]),.eh-booking select{display:block;font:inherit;width:100%;min-width:0;border:1px solid #817b73;border-radius:0;background:#fff;color:var(--ink);padding:13px 12px;margin:8px 0 0;min-height:50px}.eh-booking label{font-size:14px;font-weight:550}.eh-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 24px}.eh-fields-three{grid-template-columns:repeat(3,1fr)}.eh-help{font-size:13px;color:#625c54;line-height:1.6}.eh-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.eh-actions p{font-size:13px;color:#625c54;margin:0}.eh-booking .eh-button{font-family:EH Nitti,EH Work Sans,sans-serif;letter-spacing:.04em;font-size:15px;font-weight:800;text-transform:uppercase;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;border:0;border-radius:0;padding:18px 24px;text-decoration:none;cursor:pointer;min-height:54px;white-space:normal}.eh-booking .eh-button:hover{background:#ff844f}.eh-booking :focus-visible{outline:3px solid #007b85;outline-offset:4px}.eh-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.eh-summary{background:var(--ink);color:#fff;padding:28px}.eh-summary .eh-eyebrow{color:#ff955d}.eh-summary h2{font-size:29px}.eh-summary dl{display:grid;grid-template-columns:72px 1fr;gap:12px;font-size:13px;border-block:1px solid #555;padding:22px 0;margin:22px 0}.eh-summary dt{color:#c5c2bc}.eh-summary dd{margin:0}.eh-summary ul{padding:0;list-style:none;font-size:14px}.eh-summary li{margin:12px 0}.eh-summary small{display:block;color:#c5c2bc;font-size:12px;margin-top:3px}.eh-package{margin:0 0 24px}.eh-package>header{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid var(--line);margin-bottom:24px}.eh-package .eh-eyebrow{margin-bottom:8px}.eh-price{text-align:right;margin:0}.eh-price strong{font-size:28px;display:block}.eh-price span{font-size:12px;white-space:nowrap}.eh-itineraries{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:470px;overflow:auto;padding:4px}.eh-itinerary{display:flex;gap:12px;padding:18px;border:1px solid var(--line);cursor:pointer}.eh-itinerary input{margin-top:4px!important}.eh-itinerary:has(input:checked){border-color:var(--ink);background:#fff7f1}.eh-itinerary strong{font-size:18px}.eh-itinerary small,.eh-itinerary small span{display:block;font-size:12px;line-height:1.6;font-weight:400;margin-top:4px}.eh-extra{display:flex;align-items:center;gap:24px;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 24px;margin:0 0 24px}.eh-extra h2{font-size:24px}.eh-extra p{margin:0}.eh-extra small{font-size:12px;color:#625c54}.eh-extra>label{width:82px;flex-shrink:0}.eh-check{display:flex!important;gap:12px;align-items:flex-start;font-size:13px!important;line-height:1.5;margin:24px 0!important}.eh-total{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid var(--line);padding:20px 0;margin:24px 0}.eh-total strong{font-size:30px}.eh-payment-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:20px;margin:12px 0}.eh-payment-choice:has(input:checked){border-color:var(--ink);background:#fff7f1}.eh-payment-choice small{display:block;font-weight:400;font-size:13px;margin-top:8px}.eh-note{background:#fff3e9;border-left:3px solid var(--orange);padding:16px;font-size:14px}.eh-alert{margin:24px 0;padding:20px;background:#fff0eb;border-left:4px solid #a73112}.eh-error{color:#a73112}.eh-back{display:inline-block;margin:24px 0 0;font-size:14px}.eh-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px 0;margin:40px 0 0;border-top:1px solid var(--line);font-size:12px}.eh-footer>span{font-size:10px}.eh-booking .adyen-checkout__payment-method{border-radius:0}
@media(max-width:760px){.eh-shell{padding:0 20px}.eh-header{padding:20px 0}.eh-header>span{font-size:9px;max-width:110px;text-align:right}.eh-header img{width:125px}.eh-progress{gap:6px;padding:16px 0}.eh-progress li{font-size:9px;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.4}.eh-progress li>span{width:23px;height:23px}.eh-intro{padding:32px 0 24px}.eh-intro>p:last-child{font-size:14px}.eh-form,.eh-panel,.eh-package{padding:22px}.eh-event-grid{grid-template-columns:1fr 1fr}.eh-choice{font-size:13px;padding:14px 10px;gap:8px}.eh-fields{gap:16px}.eh-fields-three{grid-template-columns:1fr}.eh-split{grid-template-columns:1fr}.eh-summary{order:2}.eh-actions{align-items:stretch;flex-direction:column;gap:18px}.eh-button{width:100%}.eh-itineraries{grid-template-columns:1fr}.eh-package h2{font-size:25px}.eh-price strong{font-size:24px}.eh-package .eh-eyebrow{font-size:9px}.eh-footer{align-items:flex-start;flex-direction:column}.eh-booking h1{font-size:46px}.eh-extra h2{font-size:22px}.eh-total strong{font-size:26px}}
@media(prefers-reduced-motion:no-preference){.eh-button{transition:background .15s ease}.eh-choice{transition:background .15s ease}}

.eh-booking [hidden]{display:none!important}

/* Official vortex artwork, black cards and orange calls to action match the venue site. */
.eh-package-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}
.eh-package-card{background:var(--card);color:#fff;border:1px solid var(--card);box-shadow:0 12px 24px #0002;display:flex;flex-direction:column;min-width:0}
.eh-package-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.eh-card-body{padding:24px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.eh-card-body h2{font-size:30px;min-height:62px}.eh-card-body .eh-eyebrow{font-size:10px;margin-bottom:16px;padding:6px 10px;background:var(--orange);color:#fff}
.eh-game-count{font-size:13px;margin:0 0 18px}.eh-game-count strong{font-size:15px}.eh-card-body ul{padding-left:18px;margin:0 0 24px;font-size:13px}.eh-card-body li{margin-bottom:8px}
.eh-card-price,.eh-card-unavailable{margin:auto 0 18px;font-size:13px}.eh-card-price strong{font-size:30px;margin-right:4px}.eh-card-unavailable{color:var(--card-muted)}.eh-card-body .eh-button{width:100%;padding:16px 12px}.eh-package-card.is-unavailable>img{filter:saturate(.45)}
.eh-availability{margin-bottom:24px}.eh-availability-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.eh-availability-header h2{margin-bottom:0}.eh-availability-header .eh-eyebrow{font-size:10px;margin-bottom:10px}
.eh-browse-switch{display:inline-flex;background:#fff;border:1px solid var(--ink);margin:26px 0 16px}.eh-browse-switch button{font:inherit;font-size:14px;font-weight:600;padding:14px 24px;border:0;background:transparent;color:var(--ink);cursor:pointer}.eh-browse-switch button[aria-pressed=true]{background:var(--ink);color:white;box-shadow:inset 0 -3px var(--orange)}

.eh-browse-heading{margin:24px 0 16px!important}
.eh-time-jumps{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:20px 0 32px}
.eh-time-jumps>span{font-size:12px;color:#625c54;margin-right:6px}
.eh-time-jumps a{border:1px solid var(--line);background:white;padding:9px 14px;text-decoration:none;font-size:13px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.eh-time-jumps a:hover{border-color:var(--ink);background:#fff3e9}
.eh-time-group{margin-bottom:36px;scroll-margin-top:20px}
.eh-time-heading{display:flex;align-items:baseline;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:18px}
.eh-time-heading h3{font-size:30px;margin:0}.eh-time-heading p{font-size:12px;color:#625c54;margin:0}
.eh-combinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:960px;margin-inline:auto}
.eh-combination{border:1px solid var(--card);background:var(--card);color:#fff;padding:14px;display:flex;flex-direction:column;min-width:0}
.eh-combination .eh-eyebrow{font-size:10px;color:var(--card-muted);margin-bottom:12px}.eh-combination h4{font-size:13px;margin:10px 0}
.eh-combination ul{list-style:none;padding:0;margin:0 0 12px}
.eh-combination .eh-combination-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eh-combination .eh-combination-games:has(>li:only-child){grid-template-columns:1fr}
.eh-combination-games li{min-width:0;font-size:14px}.eh-combination-games img{display:block;width:100%;height:auto;aspect-ratio:988/1210;object-fit:cover;object-position:top;margin-bottom:8px}
.eh-combination-games strong{display:block;font-weight:600;line-height:1.4}.eh-combination form{margin-top:auto}.eh-combination .eh-button{width:100%;font-size:13px;min-height:48px;padding:14px}
.eh-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;max-width:820px;margin-inline:auto}
/* Trim only the posters’ empty black footer; keep the title and orange strapline visible. */
.eh-game-card{border:1px solid var(--card);background:var(--card);color:#fff;min-width:0}.eh-game-card>img{display:block;width:100%;height:auto;aspect-ratio:988/1210;object-fit:cover;object-position:top}
.eh-game-heading{padding:16px}.eh-game-heading h3{font-size:22px;margin-bottom:8px}.eh-game-heading p{font-size:12px;color:var(--card-muted);margin:0}
.eh-start-preview{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 14px}.eh-start-preview time{display:inline-block;border:1px solid var(--line);padding:3px 8px;color:#fff;background:#242424;font-size:12px;font-weight:600}.eh-start-preview>span{font-size:12px;padding:3px 0}
.eh-game-heading .eh-button{width:100%;min-height:48px;padding:14px 16px}.eh-text-button{border:0;background:none;padding:12px 0;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--ink);margin-top:12px}
.eh-back+.eh-back{margin-left:24px}
.eh-game-times{background:var(--card);color:#fff;padding:24px;margin:16px 0 24px}
.eh-selected-game{display:flex;align-items:center;gap:20px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #444}
.eh-selected-game img{display:block;width:100px;height:auto;aspect-ratio:988/1210;object-fit:cover;object-position:top;flex-shrink:0}
.eh-selected-game .eh-browse-heading{margin:0 0 10px!important;font-size:26px}.eh-selected-game p{margin:0;font-size:14px;color:var(--card-muted)}
.eh-game-time-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.eh-game-time-options--two-games{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.eh-game-time-options form{margin:0;min-width:0}.eh-booking .eh-time-choice{width:100%;height:100%;min-height:52px;padding:14px;flex-direction:column;gap:8px;text-transform:none}
.eh-time-choice time{font-size:20px}.eh-time-choice span:not(.eh-visually-hidden){font:500 13px/1.5 EH Work Sans,sans-serif}
@media(max-width:900px){.eh-package-cards{gap:12px}.eh-card-body{padding:18px}.eh-card-body h2{font-size:26px}}
@media(max-width:760px){
  .eh-game-times{padding:16px}.eh-selected-game{gap:14px}.eh-selected-game img{width:80px}.eh-selected-game .eh-browse-heading{font-size:22px}.eh-selected-game p{font-size:13px}
  .eh-package-cards{grid-template-columns:1fr}.eh-package-card>img{aspect-ratio:2/1}.eh-card-body{padding:24px}.eh-card-body h2{min-height:0}
  .eh-combinations{grid-template-columns:1fr;gap:12px;max-width:400px}.eh-combination{padding:14px}.eh-combination .eh-combination-games{grid-template-columns:1fr}
  .eh-game-grid{grid-template-columns:1fr;gap:12px;max-width:400px}.eh-game-heading{padding:16px}.eh-game-heading h3{font-size:20px}
  .eh-browse-switch{display:flex}.eh-browse-switch button{padding:13px 10px;flex:1;font-size:13px}.eh-availability-header h2{font-size:25px}
  .eh-time-jumps{gap:6px}.eh-time-jumps>span{width:100%;margin-bottom:4px}.eh-time-heading h3{font-size:28px}.eh-back+.eh-back{margin-left:0;display:block}
}

/* After searching, keep the selected criteria visible and give space to the current step. */
.eh-booking--compact .eh-header{padding:16px 0}.eh-booking--compact .eh-header img{width:124px}
.eh-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eh-search-criteria{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 0;margin:12px 0 0;color:#56524c}
.eh-search-criteria>div{display:flex;align-items:baseline;min-width:0}
.eh-search-criteria>div:not(:first-child)::before{content:"·";padding:0 10px;color:#8a8278}
.eh-search-criteria dd{font-size:14px;font-weight:550;margin:0;line-height:1.5;overflow-wrap:anywhere}
.eh-progress li>a{display:flex;gap:8px;align-items:center;text-decoration:none;padding:4px 0;color:inherit}
.eh-progress li>a:hover{text-decoration:underline;text-underline-offset:4px}
.eh-progress li>a>span{width:24px;height:24px;border:1px solid #b6b0a7;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:10px}
.eh-progress .is-done>a>span{background:var(--ink);color:white;border-color:var(--ink)}
.eh-booking--compact .eh-progress{padding:16px 0}
.eh-booking--compact .eh-intro{padding:26px 0 22px;max-width:none}
.eh-booking--compact .eh-intro>.eh-eyebrow{display:none}
.eh-booking--compact .eh-intro h1{font-size:34px;line-height:1.12;margin:0;text-transform:none}
.eh-booking--compact .eh-intro h1 br{display:none}
.eh-booking--compact .eh-intro>p:last-child{font-size:14px;margin:10px 0 0}
@media(max-width:760px){
  .eh-booking--compact .eh-header{padding:12px 0}.eh-booking--compact .eh-header img{width:110px}
  .eh-search-criteria dd{font-size:13px}.eh-search-criteria>div:not(:first-child)::before{padding:0 7px}
  .eh-progress li>a{flex-direction:column;align-items:flex-start;gap:6px;padding:0}.eh-progress li>a>span{width:23px;height:23px}
  .eh-booking--compact .eh-progress{padding:12px 0}.eh-booking--compact .eh-intro{padding:22px 0 18px}
  .eh-booking--compact .eh-intro h1{font-size:28px}
}

.eh-game-card>img,.eh-combination-games img,.eh-selected-game img{border:1px solid #ffffff4d;box-shadow:0 3px 12px #0003}
.eh-field-hint{display:block;margin-top:4px;font-weight:400}.eh-party-fields>[data-school-age]{align-self:end;align-items:center;min-height:50px;margin:0!important}
@media(max-width:760px){.eh-party-fields:has([data-supervisors-field]:not([hidden])){grid-template-columns:1fr}}

.eh-alternative-card{padding:20px 0;border-top:1px solid var(--line)}
.eh-alternative-card h3{margin:0 0 8px}.eh-alternative-card .eh-button{margin-top:8px}

/* Paired contact fields follow the form width, including beside a summary. */
.eh-form{container-type:inline-size}.eh-contact-row{grid-template-columns:minmax(0,1fr)}.eh-contact-row>label{min-width:0}
.eh-booking textarea{display:block;width:100%;min-width:0;font:inherit;border:1px solid #817b73;border-radius:0;padding:13px 12px;margin-top:8px;resize:vertical}
@container(min-width:480px){.eh-contact-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Slanted progress arrows echo Escape Hunt's campaign artwork inside the host site. */
.eh-booking .eh-progress{gap:5px;padding:20px 0 16px;border:0}
.eh-booking .eh-progress li{position:relative;isolation:isolate;min-width:0;min-height:62px;padding:14px 22px 14px 18px;gap:8px;color:#fff;font-family:EH Nitti,EH Work Sans,sans-serif;font-size:14px;font-weight:800;line-height:1.15;text-transform:uppercase;flex-direction:row;align-items:center}
.eh-progress li::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%,7% 50%)}
.eh-progress li:first-child::before{clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%)}
.eh-progress li:not(.is-current):not(.is-done)::before{background:#333}
.eh-progress li.is-current::before{background:var(--orange)}
.eh-booking .eh-progress li>a{position:absolute;inset:0;display:flex;flex-direction:row;align-items:center;gap:8px;padding:14px 22px 14px 18px;color:inherit}
.eh-booking .eh-progress li:not(:first-child),.eh-booking .eh-progress li:not(:first-child)>a{padding-left:calc(7% + 12px)}
.eh-booking .eh-progress li>span,.eh-booking .eh-progress li>a>span{display:block;width:auto;height:auto;border:0;border-radius:0;background:none;color:inherit;font:inherit;font-size:18px}
.eh-booking .eh-progress .is-done>a>span{color:var(--orange)}
.eh-progress li:has(a:hover)::before{background:#292929}
.eh-booking .eh-progress .is-current>a>span{color:#fff}

/* Show one part of the day at a time; all periods remain available without JS. */
.eh-day-switch{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin:20px 0 24px}
.eh-day-switch button{position:relative;min-width:0;border:1px solid var(--ink);background:var(--ink);color:#fff;text-align:left;padding:16px 18px;cursor:pointer;font:inherit;line-height:1.4}
.eh-day-switch button[aria-pressed=true]{background:var(--orange);border-color:var(--orange)}
.eh-day-switch button[aria-pressed=true]::after{content:"";position:absolute;bottom:-8px;left:20px;border:8px solid transparent;border-top-color:var(--orange);border-bottom:0}
.eh-day-switch strong{display:block;font:800 23px/1.2 EH Nitti,EH Work Sans,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.eh-day-switch span{display:block;font-size:12px;margin:5px 0 8px}
.eh-day-switch small{font-size:12px;font-weight:600}
.eh-booking .eh-day-switch button:hover{background:#333;border-color:#333}
.eh-day-switch button[aria-pressed=true]:hover::after{border-top-color:#333}
.eh-booking .eh-period-heading{font:800 23px/1.3 EH Nitti,EH Work Sans,sans-serif;margin:24px 0 16px}
.eh-period-heading small{font:400 13px/1.5 EH Work Sans,sans-serif;margin-left:12px}
[data-day-periods]:has(>[data-day-switch]:not([hidden]))>.eh-day-period>.eh-period-heading{display:none}
.eh-game-times .eh-day-switch button{border-color:#666}
.eh-game-times .eh-day-switch button[aria-pressed=true]{border-color:var(--orange)}
@media(max-width:760px){
  .eh-booking .eh-progress{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:14px 0 10px}
  .eh-booking .eh-progress li{min-height:58px;font-size:11px;padding:12px 16px 12px 12px;gap:5px}
  .eh-booking .eh-progress li>a{padding:12px 16px 12px 12px;gap:5px}
  .eh-booking .eh-progress li:not(:first-child),.eh-booking .eh-progress li:not(:first-child)>a{padding-left:calc(7% + 8px)}
  .eh-booking .eh-progress li>span,.eh-booking .eh-progress li>a>span{font-size:15px}
  .eh-day-switch{gap:6px;margin:16px 0 22px}
  .eh-day-switch button{padding:12px 9px}
  .eh-day-switch strong{font-size:19px}
  .eh-day-switch span,.eh-day-switch small{font-size:11px}
}
@media(max-width:380px){
  .eh-day-switch{gap:4px}
  .eh-day-switch button{padding:12px 5px}
  .eh-day-switch strong{font-size:16px}
  .eh-day-switch span,.eh-day-switch small{font-size:10px}
}

/* Booking controls sit on quiet surfaces; the vortex remains at the page edges. */
.eh-booking{--action:#c3440a;--action-hover:#a63605;background-attachment:scroll}
.eh-shell{padding-inline:32px}
.eh-booking #main{background:#fff;padding:24px 28px}
.eh-booking h1 em{color:var(--action)}
.eh-booking .eh-button,.eh-choice:has(input:checked),.eh-card-body .eh-eyebrow{background:var(--action);color:#fff}
.eh-choice:has(input:checked){border-color:var(--action)}
.eh-booking .eh-button:hover{background:var(--action-hover)}
.eh-progress li.is-current::before{background:var(--action)}
.eh-booking .eh-intro,.eh-booking--compact .eh-intro{padding:0 0 20px;max-width:none}
.eh-search-intro h1{font-size:clamp(30px,3.2vw,44px);line-height:1.08}
.eh-search-intro>p:last-child{margin:12px 0 0}
.eh-booking--compact .eh-intro h1{font-size:32px;line-height:1.12;text-transform:uppercase}
.eh-search-summary{display:flex;align-items:baseline;gap:8px 16px;justify-content:space-between}
.eh-search-criteria{gap:4px 14px;margin:10px 0 0}
.eh-search-criteria>div:not(:first-child)::before{content:none}
.eh-search-criteria dd{font-size:14px}
.eh-change-search{flex-shrink:0;font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.eh-search-form{border:0;padding:0}
.eh-search-form .eh-fields{gap:16px;margin-bottom:8px}
.eh-search-form #eh-booking-notice{margin:8px 0 20px}
.eh-search-form .eh-note{background:#f5f5f5;margin:16px 0;padding:12px 16px}
.eh-search-form .eh-actions{justify-content:flex-end;margin-top:16px;padding-top:0;border:0}
.eh-search-form .eh-party-fields:has(>[hidden]:only-child){display:none}
.eh-search-form fieldset{margin-bottom:16px}
.eh-search-form .eh-choice{padding:12px;min-height:48px}
.eh-search-form legend{margin-bottom:10px}
.eh-availability-header{padding:16px;background:#f5f5f5;border:0;gap:16px;align-items:start}
.eh-availability-header h2{font-size:24px}
.eh-duration{font-size:14px;margin:8px 0}
.eh-inclusions{font-size:13px}
.eh-inclusions summary{cursor:pointer;min-height:36px;padding-block:8px;text-decoration:underline;text-underline-offset:3px}
.eh-inclusions summary span{font-size:12px}
.eh-inclusions ul{margin:8px 0;padding-left:20px}
.eh-price{flex-shrink:0}.eh-price strong{font-size:26px}
.eh-price span{display:block;white-space:normal}
.eh-price .eh-group-price{font-size:14px;font-weight:600;margin-top:6px}
.eh-price small,.eh-card-price small{display:block;font-size:12px;color:#555;margin-top:4px}
.eh-card-price .eh-group-price{display:block;margin-top:6px;font-weight:600}
.eh-card-price small{color:#ccc}
.eh-card-body .eh-card-price{padding-top:8px}
.eh-option-price{font-size:13px;margin:0 0 12px;line-height:1.5}
.eh-browse-switch{margin:16px 0 12px}
.eh-booking .eh-browse-heading{margin:12px 0!important;font-size:20px}
.eh-day-switch{margin:12px 0 16px;gap:8px}
.eh-day-switch button{padding:12px 16px;min-height:72px}
.eh-day-switch strong{font-size:21px}
.eh-day-switch small{display:block;margin-top:4px;font-size:12px}
.eh-day-switch button[aria-pressed=true]{background:var(--action);border-color:var(--action)}
.eh-day-switch button[aria-pressed=true]::after{border-top-color:var(--action)}
.eh-game-times .eh-day-switch button[aria-pressed=true]{border-color:var(--action)}
.eh-time-jumps{margin:12px 0 20px;gap:8px}
.eh-time-jumps a{border:0;border-bottom:1px solid #999;padding:6px 10px;min-height:44px}
.eh-time-jumps a:hover{background:#333;color:#fff}
.eh-time-group{margin-bottom:24px}
.eh-time-heading{padding-bottom:8px;margin-bottom:12px;gap:12px}
.eh-time-heading h3{font-size:26px}
.eh-combinations{max-width:none;gap:12px}
.eh-combination{padding:12px}
.eh-combination .eh-combination-games{gap:12px}
.eh-combination-games li{display:flex;flex-direction:column;align-items:start;gap:12px}
.eh-combination-games img{width:200px;max-width:100%;height:auto;aspect-ratio:988/1210;flex-shrink:0;margin:0;object-fit:cover;object-position:top}
.eh-combination-games strong{font-family:EH Nitti,EH Work Sans,sans-serif;text-transform:uppercase;font-size:18px;line-height:1.15}
.eh-combination .eh-button{min-height:44px;padding:12px;font-size:14px}
.eh-game-grid{max-width:none;align-items:stretch}
.eh-game-card{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;padding:16px;gap:16px}
.eh-game-card>img{width:100%;max-width:100%;height:auto;margin-inline:auto}
.eh-game-heading{display:flex;flex-direction:column;padding:0;min-width:0}
.eh-game-heading h3{font-size:22px}
.eh-game-heading p{margin-bottom:8px}
.eh-game-heading .eh-game-description{font-size:14px;color:#fff;line-height:1.4}
.eh-game-heading .eh-button{padding:12px;min-height:44px;margin-top:auto}
.eh-start-preview{margin:8px 0 12px}
.eh-selected-game{padding-bottom:12px;margin-bottom:12px;gap:16px}
.eh-selected-game img{width:64px;height:80px;margin:0}
.eh-game-times{padding:16px;margin-top:12px}
.eh-game-times .eh-day-switch{margin:12px 0 16px}
.eh-footer{background:#fff;margin:0;padding:16px 28px;justify-content:flex-end;border-top:1px solid var(--line)}
.eh-mobile-progress{display:none}
/* Stack the itinerary before it starts squeezing the booking form. */
@media(max-width:960px){
  .eh-split{grid-template-columns:minmax(0,1fr)}
  .eh-booking .eh-progress{display:none}
  .eh-mobile-progress{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:12px 0}
  .eh-mobile-current{background:var(--action);color:#fff;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);padding:10px 26px 10px 14px;min-width:175px}
  .eh-mobile-current span{display:block;font-size:12px}
  .eh-mobile-current strong{font:800 17px/1.2 EH Nitti,EH Work Sans,sans-serif;text-transform:uppercase}
  .eh-previous-steps{margin-left:auto;position:relative;font-size:13px}
  .eh-previous-steps summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline}
  .eh-previous-steps ul{position:absolute;right:0;top:100%;z-index:5;background:#fff;border:1px solid #333;box-shadow:0 4px 12px #0002;list-style:none;margin:0;padding:8px;min-width:170px}
  .eh-previous-steps a{display:block;padding:12px;min-height:44px}
}
@media(max-width:760px){
  .eh-shell{padding-inline:12px}
  .eh-booking #main{padding:16px}
  .eh-booking--compact .eh-intro h1{font-size:25px}
  .eh-booking .eh-intro{padding-bottom:12px}
  .eh-booking .eh-search-intro h1{font-size:30px;margin-bottom:8px}
  .eh-search-intro>p:last-child{font-size:14px;margin:0}
  .eh-search-summary{gap:8px}
  .eh-search-criteria{gap:4px 10px}
  .eh-search-criteria dd{font-size:13px}
  .eh-search-form .eh-fields-three{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .eh-search-form .eh-fields-three>label:first-child{grid-column:1/-1}
  .eh-search-form .eh-fields-three input{padding-inline:8px}
  .eh-search-form .eh-note{font-size:13px;margin:12px 0;padding:10px 12px}
  .eh-search-form .eh-actions{margin-top:12px}
  .eh-search-form .eh-choice{font-size:14px}
  .eh-search-form #eh-booking-notice{font-size:12px;margin-bottom:16px}
  .eh-availability-header{display:block;padding:12px}
  .eh-availability-header h2{font-size:21px}
  .eh-duration{font-size:13px;margin:4px 0}
  .eh-price{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline;text-align:left;margin-top:8px}
  .eh-price strong{font-size:24px}
  .eh-price .eh-group-price{margin:0;font-size:13px}
  .eh-price .eh-group-price::before{content:'·';margin-right:6px}
  .eh-price small{width:100%;margin:0}
  .eh-inclusions summary{padding-block:6px;min-height:32px}
  .eh-inclusions summary span{display:none}
  .eh-browse-switch{margin:12px 0 8px}
  .eh-booking .eh-browse-heading{font-size:18px;margin:8px 0!important}
  .eh-day-switch{gap:6px;margin:10px 0 12px}
  .eh-day-switch button{padding:10px 8px;min-height:66px}
  .eh-day-switch strong{font-size:18px}
  .eh-game-times .eh-day-switch button{padding-inline:4px}
  .eh-game-times .eh-day-switch strong{font-size:16px}
  .eh-day-switch small{font-size:12px}
  .eh-time-jumps{margin:8px 0 16px;gap:4px}
  .eh-time-jumps>span{width:auto;font-size:11px;margin:0}
  .eh-time-jumps a{font-size:12px;padding-inline:8px}
  .eh-time-heading{margin-bottom:8px}
  .eh-time-heading h3{font-size:23px}
  .eh-combinations{max-width:none}
  .eh-combination .eh-combination-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .eh-combination .eh-combination-games:has(>li:only-child){grid-template-columns:1fr}
  .eh-combination-games li{flex-direction:column;align-items:start;gap:6px}
  .eh-combination-games li:only-child{flex-direction:column;align-items:start;gap:12px}
  .eh-game-grid{max-width:none}
  .eh-game-card{padding:12px;gap:12px}
  .eh-game-heading h3{font-size:20px}
  .eh-start-preview time{padding:3px 5px}
  .eh-footer{padding:12px 16px;align-items:flex-end}
}
@media(max-width:360px){
  .eh-shell{padding-inline:8px}.eh-booking #main{padding:12px}
  .eh-day-switch strong{font-size:17px}
  .eh-search-form .eh-fields-three{grid-template-columns:1fr}
  .eh-mobile-current{min-width:155px}
}
@media(max-width:360px){
  .eh-game-times .eh-day-switch button{padding-inline:4px}
  .eh-game-times .eh-day-switch strong{font-size:13px}
}

/* Game artwork links progressively enhance to native, keyboard-safe dialogs. */
.eh-game-info-trigger{position:relative;display:block;flex-shrink:0;color:#fff;text-decoration:none;width:64px}
.eh-game-info-trigger img{display:block;width:100%;height:80px;margin:0;object-fit:cover;border:1px solid #ffffff4d}
.eh-game-info-title{color:inherit;text-decoration:none}
.eh-game-info-title:hover{text-decoration:underline}
.eh-game-info-title:focus-visible,.eh-game-info-trigger:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.eh-combination-games .eh-game-info-trigger{width:200px;max-width:100%}
.eh-combination-games .eh-game-info-trigger img{height:auto;aspect-ratio:988/1210;object-position:top}
.eh-game-card>.eh-game-info-trigger{width:100%;max-width:100%;margin-inline:auto}
.eh-game-card>.eh-game-info-trigger img{width:100%;height:auto;aspect-ratio:988/1210;object-position:top}
.eh-game-info-image{display:block;width:280px;max-width:100%;height:auto;aspect-ratio:988/1210;object-fit:cover;object-position:top;margin:0 auto 20px}
.eh-game-info{color:var(--ink);background:#fff;border:0;border-top:5px solid var(--orange);padding:28px;width:calc(100% - 32px);max-width:560px;max-height:min(80vh,600px);overflow:auto;box-shadow:0 12px 48px #0005}
.eh-game-info::backdrop{background:#0009}
.eh-game-info h2{font-size:28px;padding-right:32px;margin-bottom:16px}
.eh-game-info p{font-size:15px;line-height:1.6}
.eh-game-info .eh-button{width:100%;white-space:normal;text-align:center}
.eh-game-info .eh-help{font-size:12px;margin-bottom:0}
.eh-game-info-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:20px}
@media(max-width:760px){
  .eh-game-info{padding:20px}
  .eh-game-info h2{font-size:24px}
}

/* A single payment decision, with the itinerary alongside it. */
.eh-checkout-panel{padding:24px;border:1px solid var(--line)}
.eh-checkout-panel h2{font-size:26px;margin-bottom:20px}
.eh-review-contact{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.eh-review-contact h3,.eh-review-extras h3{font-size:20px;margin:0 0 8px}
.eh-review-contact p{font-size:14px;line-height:1.7;margin:0;overflow-wrap:anywhere}
.eh-review-contact>div{min-width:0}
.eh-review-extras{padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}
.eh-review-extras ul{list-style:none;padding:0;margin:12px 0}
.eh-review-extras li{display:flex;justify-content:space-between;gap:16px;margin:8px 0}
.eh-review-extras li strong{white-space:nowrap}
.eh-offer-breakdown{padding:16px 20px;background:#fff3e9;border-left:3px solid var(--orange);margin-top:20px}
.eh-offer-breakdown p{display:flex;justify-content:space-between;gap:16px;margin:6px 0}
.eh-offer-breakdown del{color:#625c54;white-space:nowrap}
.eh-offer-breakdown strong{white-space:nowrap}
.eh-booking-reference{border-left:5px solid var(--orange);background:white;padding:20px 24px;margin:24px 0}
.eh-booking-reference span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.eh-booking-reference strong{display:block;font:800 clamp(30px,5vw,44px)/1.2 EH Nitti,EH Work Sans,sans-serif;letter-spacing:.05em;overflow-wrap:anywhere}
.eh-checkout-total{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f5f5f5;padding:20px;margin:20px 0 12px}
.eh-checkout-total span{font-weight:650;font-size:16px}
.eh-checkout-total small{display:block;font-size:12px;color:#555;margin-top:4px}
.eh-checkout-total>strong{font:800 32px/1.1 EH Nitti,EH Work Sans,sans-serif;white-space:nowrap}
.eh-checkout-panel .eh-button{width:100%}
.eh-checkout-reassurance{margin-bottom:0;text-align:center}
.eh-checkout-panel .eh-check{font-size:14px!important}
.eh-payment-window{font-size:14px;margin:16px 0}
.eh-payment-form{padding-block:8px}
.eh-payment-form [role=status]:empty,.eh-payment-form [role=alert]:empty{display:none}
.eh-payment-form [role=alert]:not(:empty){padding:12px;border-left:3px solid #a73112;background:#fff0eb}
@media(max-width:760px){
  .eh-checkout-panel{padding:16px}
  .eh-checkout-panel h2{font-size:23px}
  .eh-checkout-total{padding:14px;gap:10px}
  .eh-checkout-total>strong{font-size:28px}
  .eh-checkout-total span{font-size:14px}
  .eh-review-contact{gap:10px}
  .eh-checkout-layout .eh-summary{padding:20px}
}

/* Let short steps fill the page and keep the footer below the booking content. */
.eh-shell{display:flex;flex-direction:column;min-height:100svh}
.eh-shell>#main{flex:1}
/* Iframe viewport units grow with resize messages; use a stable embedded minimum. */
.eh-booking--embedded .eh-shell{min-height:720px}
@media(max-width:760px){.eh-booking--embedded .eh-shell{min-height:640px}}
.eh-booking .eh-button:disabled{cursor:wait;opacity:.65}
.eh-booking .eh-button.is-submitting{opacity:1;background-image:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.28) 50%,transparent 80%);background-size:220% 100%;animation:eh-submit-progress 1.4s linear infinite}
.eh-submit-status{font-size:14px;margin:8px 0;color:var(--ink)}
@keyframes eh-submit-progress{from{background-position:200% 0}to{background-position:-20% 0}}
@media(prefers-reduced-motion:reduce){.eh-booking .eh-button.is-submitting{animation:none}}

/* Adapt dense rows to the space inside the form, including narrow embeds. */
.eh-split>*,.eh-extra>div{min-width:0}
.eh-checkout-panel{container-type:inline-size}
.eh-checkout-total>strong,.eh-offer-breakdown strong{font-variant-numeric:tabular-nums}
@container(max-width:360px){
  .eh-checkout-total{flex-direction:column;align-items:flex-start;gap:12px}
  .eh-offer-breakdown p,.eh-review-extras li{flex-wrap:wrap;gap:4px 12px}
  .eh-extra{flex-direction:column;align-items:flex-start;gap:12px}
  .eh-extra>label{max-width:100px}
}
