/* Approved airport hero only. No shared page, booking, pricing or tracking changes. */
body.hero-test-page { --ht-ink: #192332; --ht-muted: #667080; --ht-line: #e2e5e9; --wc-header-height: 88px; padding-top: 88px; background: #182330 !important; color: #fff; }
body.hero-test-page.ht-hero-in-view .wc-whatsapp-widget { visibility: hidden; pointer-events: none; }
body.hero-test-page .site-header { top: 0 !important; }
body.hero-test-page .header-inner { width: 100% !important; min-height: 0 !important; height: 88px !important; padding: 12px max(28px, calc((100vw - 1240px) / 2)) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
body.hero-test-page .mobile-menu-btn { color: #fff; background: #182330; border-radius: 13px; box-shadow: none; }
.hero-test-page .ht-page { width: 100%; margin: 0; background: #182330; }
.ht-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) 410px; gap: 38px 90px; align-items: center; padding: 72px max(40px, calc((100vw - 1160px) / 2)) 38px; }
.ht-visual { position: absolute; inset: 0; overflow: hidden; z-index: -2; }
.ht-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.ht-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #132131cc 0, #13213199 210px, #18233000 300px, #18233000 calc(100% - 65px), #182330 100%); pointer-events: none; }
.ht-intro { min-width: 0; padding-bottom: 65px; }
.ht-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: #d2d6dd; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.ht-eyebrow > span { width: 23px; height: 1px; flex-shrink: 0; background: #d2d6dd; }
.ht-intro > .ht-eyebrow { justify-content: center; text-align: center; }
.hero-test-page .ht-intro h1 { margin: 0; max-width: 630px; color: #fff; font-size: clamp(36px, 3.7vw, 54px); line-height: 1.12; font-weight: 700; letter-spacing: -.045em; text-wrap: balance; }
.ht-intro h1 span { color: #ff963f; }
.ht-description { max-width: 540px; margin: 23px 0 25px; color: #fff; font-size: 17px; font-weight: 600; line-height: 1.65; text-shadow: 0 1px 3px #08121feb, 0 0 12px #08121f8c; }
.ht-rating { display: flex; align-items: center; width: fit-content; max-width: 100%; gap: 7px; padding: 8px 15px 8px 8px; border: 1px solid #ffffff30; border-radius: 999px; background: #ffffff12; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: #fff; text-decoration: none; transition: background .15s; }
.ht-rating:hover { background: #ffffff20; }
.ht-google { width: 32px; height: 32px; margin-right: 2px; padding: 5px; border-radius: 50%; background: #fff; flex-shrink: 0; }
.ht-rating > strong { font-size: 22px; font-weight: 650; line-height: 1; letter-spacing: -.04em; }
.ht-rating > strong > span { font-size: 13px; font-weight: 400; letter-spacing: 0; }
.ht-rating-google { font-size: 13px; }
.ht-rating-copy { font-size: 12px; color: #e0e3e8; }
.ht-search { position: relative; min-width: 0; padding: 14px 20px 20px; border: 1px solid #ffffffba; border-radius: 24px; background: #fffffff5; box-shadow: 0 24px 70px #040c1d24; color: var(--ht-ink); }
.ht-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.hero-test-page .ht-search .booking-card { position: static; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; transform: none; }
body.hero-test-page .ht-search .booking-form { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
body.hero-test-page .ht-search .form-field { position: relative; display: block; grid-column: auto; min-width: 0; min-height: 83px; height: auto; margin: 0; padding: 16px 23px 15px 63px; color: var(--ht-ink); background: none; border: 0; border-bottom: 1px solid var(--ht-line); border-radius: 0; box-shadow: none; }
body.hero-test-page .ht-search .form-field::before { display: none; }
body.hero-test-page .ht-search .form-field::after { content: ''; display: block; position: absolute; top: 38px; right: 4px; width: 8px; height: 8px; transform: rotate(45deg); border: solid #68717d; border-width: 0 1.8px 1.8px 0; background: none; pointer-events: none; }
body.hero-test-page .ht-search .form-field label { position: static; display: block; width: auto; height: auto; transform: none; margin: 0 0 5px; padding: 0; color: #656c79; font-size: 10px; font-weight: 550; line-height: 1.3; text-transform: uppercase; letter-spacing: .055em; pointer-events: none; }
.hero-test-page .ht-search .field-label-text { display: inline; }
body.hero-test-page .ht-search .field-icon { position: absolute; display: grid; place-items: center; left: 0; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border: 1px solid #e6e8ed; border-radius: 13px; background: #eceef1; color: #1c2737; }
.ht-search .field-icon svg { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.65; }
body.hero-test-page .ht-search .location-trigger, body.hero-test-page .ht-search .date-time-trigger { position: static; display: block; width: 100%; height: auto; min-height: 34px; margin: 0; padding: 0; color: var(--ht-ink); text-align: left; background: none; border: 0; border-radius: 0; box-shadow: none; font-family: inherit; text-shadow: none; cursor: pointer; }
body.hero-test-page .ht-search .location-trigger::before, body.hero-test-page .ht-search .date-time-trigger::before { content: ''; display: block; position: absolute; inset: 0; width: auto; height: auto; background: none; border: 0; border-radius: 0; transform: none; }
body.hero-test-page .ht-search .location-trigger::after, body.hero-test-page .ht-search .date-time-trigger::after { display: none; }
.hero-test-page .ht-search .location-main, .hero-test-page .ht-search .date-line { display: block; color: #192332; font-size: 14px; font-weight: 650; line-height: 1.4; white-space: normal; text-shadow: none; }
.hero-test-page .ht-search .location-sub, .hero-test-page .ht-search .time-line { display: block; margin-top: 4px; color: #737d8b; font-size: 10px; line-height: 1.4; white-space: normal; text-shadow: none; }
.hero-test-page .ht-search .range-arrow { color: #687383; margin: 0 1px; }
body.hero-test-page .ht-search .age-field { min-height: 77px; border-bottom: 0; }
body.hero-test-page .ht-search .age-field::after { display: none; }
body.hero-test-page .ht-search .age-field .wc-select { position: static; width: 100%; height: auto; }
body.hero-test-page .ht-search .age-field .wc-select-trigger { position: static; display: flex; justify-content: space-between; align-items: center; width: 100%; height: auto; min-height: 24px; padding: 0; color: var(--ht-ink); background: none; border: 0; box-shadow: none; font-size: 14px; font-weight: 650; text-shadow: none; }
body.hero-test-page .ht-search .age-field .wc-select-trigger::before { content: ''; position: absolute; inset: 0; }
.hero-test-page .ht-search .wc-select-trigger i { position: absolute; top: 50%; right: 2px; transform: translateY(-50%); color: #68717d; font-size: 18px; line-height: 1; }
.hero-test-page .ht-search .wc-select-menu { z-index: 50; right: 0; left: auto; top: auto; bottom: calc(100% - 6px); min-width: 190px; background: #fff; border: 1px solid var(--ht-line); box-shadow: 0 8px 32px #101b2c24; }
.hero-test-page .ht-search .wc-select-option { color: #293344; font-size: 13px; }
.hero-test-page .ht-search .wc-select-option:hover, .hero-test-page .ht-search .wc-select-option:focus-visible, .hero-test-page .ht-search .wc-select-option.is-selected { color: #172333; background: #fff2e7; }
body.hero-test-page .ht-search .form-action { display: flex; align-items: stretch; grid-column: auto; min-height: 0; height: auto; padding: 0; margin: 7px 0 0; }
body.hero-test-page .ht-search .primary-submit::before, body.hero-test-page .ht-search .primary-submit::after { display: none; content: none; }
body.hero-test-page .ht-search .primary-submit > span { display: inline; position: static; width: auto; height: auto; overflow: visible; clip: auto; }
body.hero-test-page .ht-search .primary-submit { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 57px; height: auto; margin: 0; padding: 0 42px; background: linear-gradient(115deg, #ff963d, #ff7108 54%, #e75c00) !important; color: #fff !important; border: 1px solid #ff8c39 !important; border-radius: 15px !important; font: 650 16px/1.3 'Inter',sans-serif; letter-spacing: -.01em; box-shadow: inset 0 1px 0 #ffffff65, 0 6px 16px #f876171a !important; text-shadow: none; transition: filter .15s; }
body.hero-test-page .ht-search .primary-submit:hover { filter: brightness(1.06); transform: none; }
.ht-search .primary-submit svg { position: absolute; right: 18px; width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.ht-benefits { grid-column: 1 / -1; display: flex; justify-content: center; gap: 0; padding: 0; margin: 0; list-style: none; }
.ht-benefits li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0 30px; color: #f2f4f7; font-size: 12px; line-height: 1.55; }
.ht-benefits li + li { border-left: 1px solid #ffffff33; }
.ht-benefit-icon { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px; border: 1px solid #ffffff47; border-radius: 50%; background: #ffffff08; }
.ht-benefit-icon svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.ht-reviews { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: center; max-width: 980px; margin: 0 auto; padding: 36px 30px 12px; scroll-margin-top: 105px; }
.ht-reviews-intro .ht-eyebrow { margin-bottom: 12px; color: #aebac9; font-size: 9px; letter-spacing: .12em; }
.ht-reviews h2 { margin: 0; color: #fff; font-size: 29px; line-height: 1.2; font-weight: 600; letter-spacing: -.04em; }
.ht-reviews .hero-google-reviews { position: relative; min-width: 0; }
.ht-reviews .hero-google-rating { display: none; }
.ht-reviews .hero-google-quotes { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: 17px; }
.ht-reviews .hero-google-quotes::-webkit-scrollbar { display: none; }
.ht-reviews .hero-google-quote { flex: 0 0 100%; box-sizing: border-box; min-width: 0; margin: 0; padding: 22px; border: 1px solid #ffffff20; border-radius: 17px; background: #ffffff06; scroll-snap-align: start; scroll-snap-stop: always; }
.ht-reviews figcaption { display: flex; align-items: center; gap: 9px; }
.ht-reviews .hero-google-avatar { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 50%; color: #e2eaf5; background: #ffffff10; font-size: 10px; font-weight: 600; }
.ht-reviews .hero-google-author { color: #f1f4f9; font-size: 12px; font-weight: 600; }
.ht-reviews .hero-google-stars { margin-left: auto; white-space: nowrap; font-size: 11px; letter-spacing: 1px; color: transparent; background: linear-gradient(90deg, #ffb064 var(--hero-stars-fill,100%), #536070 var(--hero-stars-fill,100%)); background-clip: text; -webkit-background-clip: text; }
.ht-reviews blockquote { margin: 14px 0 0; padding: 0; border: 0; }
.ht-reviews blockquote p { margin: 0; color: #cbd3df; font-size: 13px; line-height: 1.85; }
.ht-reviews .hero-google-controls:not([hidden]) { display: flex; justify-content: flex-end; align-items: center; gap: 5px; margin-top: 10px; }
.ht-reviews .hero-google-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff25; border-radius: 50%; background: transparent; color: #fff; font: 22px/1 system-ui; cursor: pointer; }
.ht-reviews .hero-google-controls button:hover { background: #ffffff10; }
.ht-reviews .hero-google-progress { width: 44px; color: #a7b4c5; text-align: center; font-size: 11px; }
.ht-reviews-content { min-width: 0; }
.ht-google-profile { display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; max-width: 100%; min-height: 44px; margin: 10px auto 0; padding: 0 16px; border: 1px solid #ffffff40; border-radius: 12px; color: #f1f4f9; background: #ffffff06; font-size: 12px; font-weight: 500; line-height: 1.4; text-decoration: none; }
.ht-google-profile:hover { color: #fff; background: #ffffff12; border-color: #ffffff70; }
.ht-google-profile span { font-size: 17px; }
.ht-locations { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 26px 20px 35px; color: #a7b4c5; font-size: 11px; }
.ht-locations span { color: #7d8b9c; }
.ht-preview-note { display: flex; justify-content: space-between; gap: 16px; max-width: 1120px; margin: 0 auto; padding: 20px 24px 28px; border-top: 1px solid #ffffff12; color: #aab4c1; font-size: 10px; }
.ht-preview-note a { color: #c7d2e1; text-decoration: underline; text-underline-offset: 4px; }
.hero-test-page .ht-page :is(button,a,[tabindex]):focus-visible { outline: 2px solid #ff973f; outline-offset: 4px; }
@media (min-width: 681px) and (max-width: 1000px) {
  .ht-hero { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; padding: 50px 28px 30px; }
  .ht-intro { padding-bottom: 30px; }
  .hero-test-page .ht-intro h1 { font-size: 36px; }
  .ht-description { font-size: 14px; }
  .ht-desktop-break { display: none; }
  .ht-search { padding: 10px 15px 15px; }
  body.hero-test-page .ht-search .form-field { padding-left: 55px; }
}
/* Compact mobile layout. Keep desktop rules above untouched. */
@media (max-width: 680px) {
  body.hero-test-page { --wc-header-height: 64px; padding-top: 64px; }
  body.hero-test-page .header-inner { height: 64px !important; padding: 8px 20px !important; }
  body.hero-test-page .site-logo { height: auto; width: 135px; }
  body.hero-test-page .mobile-menu-btn { width: 44px; height: 44px; font-size: 22px; }
  .ht-hero { display: flex; flex-direction: column; gap: 0; align-items: stretch; padding: 14px 18px 0; }
  /* Crop excess sky, retaining both plates and bumpers above the search card. */
  .ht-visual { bottom: auto; height: calc(229.5px + 45vw); }
  .ht-visual::after { content: ''; position: absolute; inset: auto 0 0; height: 55px; background: linear-gradient(0deg, #182330, #18233000); }
  .ht-visual img { object-position: center bottom; }
  .ht-hero::before { background: linear-gradient(180deg, #132131cc 0, #1421338c 130px, #18233000 215px, #18233000 340px, #182330 430px); }
  .ht-intro { padding: 0 3px; }
  .ht-eyebrow { margin-bottom: 8px; gap: 8px; font-size: 7.5px; letter-spacing: .15em; }
  .ht-eyebrow > span { width: 18px; }
  .hero-test-page .ht-intro h1 { max-width: 440px; font-size: clamp(26px, 7.6vw, 32px); line-height: 1.13; letter-spacing: -.04em; text-wrap: initial; }
  .ht-description { max-width: 360px; margin: 8px 0 10px; font-size: 13px; line-height: 1.5; }
  .ht-desktop-break { display: none; }
  .ht-rating { gap: 5px; padding: 4px 10px 4px 5px; min-height: 36px; }
  .ht-google { width: 25px; height: 25px; padding: 4px; }
  .ht-rating > strong { font-size: 18px; }
  .ht-rating > strong > span { font-size: 11px; }
  .ht-rating-google { font-size: 11px; }
  .ht-rating-copy { font-size: 10px; }
  .ht-search { margin-top: 106px; padding: 3px 13px 11px; border-radius: 19px; }
  body.hero-test-page .ht-search .booking-form { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 0; }
  body.hero-test-page .ht-search .form-field { grid-column: 1 / -1; min-height: 64px; padding: 8px 20px 8px 49px; }
  body.hero-test-page .ht-search .form-field::after { top: 27px; }
  body.hero-test-page .ht-search .form-field label { font-size: 9px; margin-bottom: 3px; }
  body.hero-test-page .ht-search .field-icon { width: 37px; height: 38px; border-radius: 10px; }
  .ht-search .field-icon svg { width: 21px; height: 21px; }
  .hero-test-page .ht-search .location-main, .hero-test-page .ht-search .date-line { font-size: 13px; line-height: 1.35; }
  .hero-test-page .ht-search .location-sub, .hero-test-page .ht-search .time-line { font-size: 9px; margin-top: 2px; }
  body.hero-test-page .ht-search .location-trigger, body.hero-test-page .ht-search .date-time-trigger { min-height: 31px; }
  body.hero-test-page .ht-search .age-field { grid-column: 1; min-height: 50px; height: 50px; padding: 5px 8px; margin-top: 8px; border: 1px solid #e6e8ed; border-radius: 12px; background: #eceef1; }
  body.hero-test-page .ht-search .age-field .field-icon { display: none; }
  body.hero-test-page .ht-search .age-field .age-trigger { min-height: 22px; height: 22px; gap: 4px; padding: 0; font-size: 12px; font-weight: 650; line-height: 1.2; white-space: nowrap; }
  .hero-test-page .ht-search .age-field .age-trigger svg { width: 14px; height: 14px; flex: 0 0 14px; }
  .hero-test-page .ht-search .age-field .wc-select-menu { left: 0; right: auto; }
  body.hero-test-page .ht-search .form-action { grid-column: 2; min-height: 50px; height: 50px; margin: 8px 0 0 8px; }
  body.hero-test-page .ht-search .primary-submit { min-height: 50px; height: 50px; padding: 0 30px 0 10px; font-size: 14px; border-radius: 12px !important; }
  .ht-search .primary-submit svg { width: 18px; height: 18px; right: 10px; }
  .ht-benefits { justify-content: space-between; align-items: center; margin: 10px -2px 0; padding: 0; }
  .ht-benefits li { flex: 1; justify-content: center; flex-direction: row; gap: 5px; padding: 0 7px; font-size: 9px; line-height: 1.4; text-align: left; }
  .ht-benefit-icon { width: 23px; height: 23px; border: 0; background: none; }
  .ht-benefit-icon svg { width: 19px; height: 19px; }
  .ht-reviews { display: block; margin: 16px 18px 0; padding: 0; border: 0; scroll-margin-top: 78px; }
  .ht-reviews-intro { margin: 0 2px 8px; }
  .ht-reviews-intro .ht-eyebrow { display: none; }
  .ht-reviews h2 { font-size: 21px; line-height: 1.2; letter-spacing: -.03em; }
  .ht-reviews .hero-google-quote { padding: 12px 14px; border-radius: 14px; }
  .ht-reviews .hero-google-avatar { flex-basis: 25px; height: 25px; font-size: 9px; }
  .ht-reviews .hero-google-author { font-size: 11px; }
  .ht-reviews .hero-google-stars { font-size: 10px; }
  .ht-reviews blockquote { margin-top: 8px; }
  .ht-reviews blockquote p { font-size: 12px; line-height: 1.55; }
  .ht-reviews .hero-google-controls:not([hidden]) { justify-content: center; margin-top: 5px; }
  .ht-locations { gap: 7px; margin: 20px 18px 26px; font-size: 10px; }
  .ht-preview-note { padding: 16px 18px 22px; font-size: 9px; }
}
@media (max-width: 359px) {
  .ht-hero { padding-right: 14px; padding-left: 14px; }
  .ht-intro { padding: 0; }
  .ht-description { font-size: 12px; }
  .ht-search { margin-top: 105px; padding-right: 10px; padding-left: 10px; }
  body.hero-test-page .ht-search .booking-form { grid-template-columns: 102px minmax(0, 1fr); }
  body.hero-test-page .ht-search .form-field { padding-left: 43px; padding-right: 16px; }
  body.hero-test-page .ht-search .field-icon { width: 32px; height: 35px; }
  .hero-test-page .ht-search .location-main, .hero-test-page .ht-search .date-line { font-size: 12px; }
  body.hero-test-page .ht-search .age-field { padding: 5px 7px; }
  body.hero-test-page .ht-search .primary-submit { font-size: 13px; padding-left: 7px; padding-right: 24px; }
  .ht-benefits li { padding: 0 4px; gap: 3px; font-size: 8.5px; }
  .ht-reviews { margin-right: 14px; margin-left: 14px; }
  .ht-reviews .hero-google-quote { padding: 11px 12px; }
}
/* Allow for shorter phones and the browser's visible address/tool bars. */
@media (max-width: 680px) and (max-height: 740px) {
  body.hero-test-page { --wc-header-height: 60px; padding-top: 60px; }
  body.hero-test-page .header-inner { height: 60px !important; }
  .ht-hero { padding-top: 9px; }
  .ht-visual { height: calc(191.5px + 45vw); }
  .ht-hero::before { background: linear-gradient(180deg, #132131cc 0, #1421338c 110px, #18233000 190px, #18233000 305px, #182330 395px); }
  .ht-intro .ht-eyebrow { margin-bottom: 6px; }
  .hero-test-page .ht-intro h1 { font-size: clamp(26px, 7.3vw, 28px); }
  .ht-description { margin: 6px 0 8px; font-size: 12.5px; }
  .ht-rating { min-height: 32px; padding-top: 3px; padding-bottom: 3px; }
  .ht-google { width: 22px; height: 22px; padding: 3px; }
  .ht-search { margin-top: 64px; }
  .ht-reviews { margin-top: 12px; }
  .ht-reviews .hero-google-quote { padding-top: 10px; padding-bottom: 10px; }
  .ht-reviews .hero-google-avatar { flex-basis: 22px; height: 22px; }
  .ht-reviews blockquote { margin-top: 6px; }
  .ht-reviews blockquote p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
}
@media (max-width: 680px) and (max-height: 680px) {
  /* The decorative tagline yields to the actual customer review on short screens. */
  .ht-intro .ht-eyebrow { display: none; }
  .ht-visual { height: calc(171.5px + 45vw); }
  .ht-reviews { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-test-page .ht-page * { scroll-behavior: auto; transition: none; }
}
