/* OTA presentation layer. Booking field names, values and endpoint contracts stay in Razor. */
.ota-site { --theme-color: #b78930; --title-color: #102b50; --body-color: #536176; background: #f5f7fa; }
.ota-site :focus-visible { outline: 3px solid #b78930 !important; outline-offset: 4px; }
.ota-skip { position: fixed; top: -80px; left: 16px; z-index: 100001; background: white; color: #102b50; padding: 12px 20px; }
.ota-skip:focus { top: 10px; }
.ota-header { position: relative; z-index: 100; background: white; border-bottom: 1px solid #e5e9ef; }
.ota-utility { background: #102b50; color: #e7edf5; font-size: 12px; }
.ota-utility .container { display: flex; justify-content: space-between; gap: 16px; padding-top: 7px; padding-bottom: 7px; }
.ota-utility a { color: #e7edf5; }
.ota-nav-shell { display: flex; align-items: center; gap: 28px; min-height: 88px; }
.ota-brand { flex-shrink: 0; }
.ota-brand img { width: 210px; height: 56px; object-fit: contain; }
.ota-navigation { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.ota-navigation > a, .ota-more summary { color: #102b50; font-size: 14px; font-weight: 600; white-space: nowrap; }
.ota-navigation > a { padding: 28px 0; border-bottom: 2px solid transparent; }
.ota-navigation > a:hover, .ota-navigation > a[aria-current] { color: #866019; border-color: #b78930; }
.ota-more { position: relative; }
.ota-more summary { display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; padding: 12px 0; }
.ota-more summary::-webkit-details-marker { display: none; }
.ota-more summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); margin: -4px 2px 0 5px; }
.ota-dropdown { position: absolute; top: calc(100% + 10px); left: 0; min-width: 225px; padding: 10px; border: 1px solid #e2e7ef; border-radius: 12px; background: white; box-shadow: 0 16px 50px #102b5020; }
.ota-dropdown a, .ota-dropdown button, .ota-account-name { display: block; width: 100%; text-align: left; padding: 10px 12px; color: #102b50; font-size: 14px; line-height: 1.5; border: 0; background: transparent; border-radius: 6px; }
.ota-dropdown a:hover, .ota-dropdown button:hover { background: #f3f5f8; }
.ota-account-name { font-weight: 700; border-bottom: 1px solid #e2e7ef; overflow-wrap: anywhere; }
.ota-nav-actions { display: flex; align-items: center; gap: 18px; }
.ota-nav-actions .country-select { margin: 0; }
.ota-nav-actions .country-select__btn { background: transparent; color: #102b50; padding: 8px 0; border: 0; font-size: 13px; }
.ota-nav-actions .flag { width: 20px; }
.ota-account summary { border: 1px solid #dbe2eb; border-radius: 8px; padding: 10px 14px; }
.ota-account .ota-dropdown { left: auto; right: 0; }
.ota-menu-button, .ota-account-mobile { display: none; }
.ota-hero { color: white; background: linear-gradient(90deg,#071b32e6 0%,#071b3299 48%,#071b3220 100%),url('/assets/image/hero/hero-banner-img-h1.jpg') center 48%/cover; }
.ota-hero-inner { min-height: 390px; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 45px; padding-bottom: 90px; }
.ota-eyebrow { color: #edc778 !important; letter-spacing: .18em; font-size: 11px !important; font-weight: 700; margin-bottom: 20px !important; }
.ota-hero h1 { font-family: 'DM Sans','Segoe UI',sans-serif; font-size: clamp(36px,4vw,56px); font-weight: 600; line-height: 1.12; letter-spacing: -.045em; color: white; margin-bottom: 18px; }
.ota-hero h1 em { font-family: Georgia,serif; font-weight: 400; color: #edc778; }
.ota-hero-copy > p { color: #e2e8ef; font-size: 16px; line-height: 1.65; margin: 0; }
.ota-hero-caption { align-self: flex-end; padding-bottom: 20px; }
.ota-hero-caption span { display: block; letter-spacing: .12em; font-size: 10px; margin-bottom: 8px; color: #e2e8ef; }
.ota-hero-caption a { color: white; font-size: 14px; }
.ota-hero-caption i { margin-left: 14px; }
.ota-site .az-search-section { background-image: none !important; padding: 0 0 40px; }
.ota-site .az-search-section > img, .ota-site .az-search-section > .about__shape { display: none; }
.ota-site .az-search-section .tn-booking { margin-top: -52px; border-radius: 16px; box-shadow: 0 12px 36px #102b5010; overflow: visible; }
.ota-site .az-search-section .tn-booking__tabs { border-radius: 16px 16px 0 0; padding: 0 24px; }
.ota-site .az-search-section .tn-booking__tabs .tab { padding: 17px 20px; font-size: 14px; letter-spacing: 0; font-weight: 700; text-transform: none; }
.ota-site .tn-booking__tabs .tab i { margin-right: 8px; }
.ota-site .az-search-section .custom-flight-panel { padding: 22px 26px !important; gap: 16px !important; box-shadow: none !important; border-radius: 0 0 16px 16px !important; }
.ota-site .row-meta-settings { padding-bottom: 0; border: 0; gap: 16px; }
.ota-site .trip-type-options { gap: 18px; flex-wrap: wrap; }
.ota-site .radio-label-wrapper { font-size: 13px; white-space: nowrap; margin: 0; }
.ota-site input[type=radio] { accent-color: #102b50; }
.ota-site .ancillary-settings { gap: 12px; }
.ota-site .meta-inline-select { background: white !important; font-size: 12px; padding: 0 24px 0 10px; }
.ota-site .custom-flight-panel .field { min-width: 0; }
.ota-site .custom-flight-panel .field label { font-size: 11px !important; margin-bottom: 6px !important; letter-spacing: .04em; color: #526276 !important; }
.ota-site .custom-flight-panel .text-input-clean, .ota-site .passenger-box-item select.booking-select { height: 48px !important; background: #f8fafc !important; border-color: #dce3ec !important; font-size: 13px !important; }
.ota-site .custom-flight-panel .text-input-clean { padding-right: 32px !important; }
.ota-site .custom-flight-panel .field > i { height: 48px !important; }
.ota-site .routing-swap-container { height: 48px !important; width: 30px !important; }
.ota-site .functional-swap-btn { background: white !important; color: #102b50 !important; }
.ota-site .row-passenger-actions { gap: 16px !important; margin: 0; }
.ota-travellers { position: relative; }
.ota-travellers > summary { display: flex; align-items: center; gap: 10px; list-style: none; cursor: pointer; color: #102b50; font-size: 14px; border: 1px solid #dce3ec; border-radius: 8px; padding: 12px 14px; }
.ota-travellers summary::-webkit-details-marker { display: none; }
.ota-edit { color: #68768a; font-size: 12px; padding-left: 20px; }
.ota-travellers .passenger-segmented-groups { position: absolute; top: calc(100% + 8px); left: 0; z-index: 20; background: white; padding: 18px; border: 1px solid #dce3ec; border-radius: 12px; box-shadow: 0 14px 35px #102b5020; gap: 12px; }
.ota-site .passenger-box-item { min-width: 130px; }
.ota-site .execution-search-btn, .ota-site .home-hotel-submit, .ota-site .flight-search-submit { background: #102b50 !important; border: 1px solid #102b50 !important; color: white !important; height: 48px !important; box-shadow: none !important; padding: 0 28px !important; border-radius: 8px !important; font-size: 14px; }
.ota-site .execution-search-btn:hover, .ota-site .home-hotel-submit:hover, .ota-site .flight-search-submit:hover { background: #204875 !important; }
.ota-site .home-flight-age-row:empty { display: none; }
.ota-site .home-flight-age-row:not(:has(input, select)) { display: none; }
.ota-site .az-search-section .home-hotel-search-card { padding: 22px 26px; border-radius: 0 0 16px 16px; }
.ota-site .az-search-section .home-hotel-search-header, .ota-site .az-search-section .home-hotel-note { display: none; }
.ota-site .home-hotel-search-row { gap: 12px; }
.ota-site .home-hotel-field { min-width: 0; }
.ota-site .home-hotel-field.is-small { flex: 1; }
.ota-site .home-hotel-field.is-medium { flex: 1.2; }
.ota-site .home-hotel-search-row:first-of-type .home-hotel-field:first-child { flex: 2; }
.ota-site .home-hotel-field label { font-size: 11px; font-weight: 600; color: #526276; }
.ota-site .home-hotel-input, .ota-site .home-hotel-select { font-weight: 500; border-radius: 8px; height: 48px; }
.ota-site .az-services { padding: 48px 0 64px; }
.ota-site .az-section-title { font-family: 'DM Sans','Segoe UI',sans-serif; font-size: clamp(28px,3vw,38px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.ota-site .az-section-kicker { color: #866019; letter-spacing: .14em; margin-bottom: 10px; }
.ota-site .az-section-intro { margin-top: 12px; font-size: 15px; }
.ota-site .az-service-grid { margin-top: 28px; }
.ota-site .az-service { border: 1px solid #e2e7ee; background: white; border-radius: 12px; min-height: 230px; }
.ota-site .az-service h3 { margin-top: 20px; }
.ota-site .az-destinations { padding: 64px 0; background: #edf2f6; }
.ota-site .az-destinations .az-section-title { color: #102b50; }
.ota-site .az-destinations .az-section-intro { color: #627186; }
.ota-site .az-destination-grid { margin-top: 28px; grid-template-columns: repeat(3,1fr); }
.ota-site .az-destination, .ota-site .az-destination:first-child { min-height: 300px; border-radius: 12px; }
.ota-site .az-confidence { background: #faf5e9; padding: 32px 0; }
.ota-site .az-confidence h2 { font-family: 'DM Sans',sans-serif; font-size: 24px; font-weight: 600; }
.ota-site .tn-footer__logo img { border-radius: 8px; }
/* Dedicated search pages share the same visual system; their existing form logic is retained. */
.ota-site .flight-index-wrap, .ota-site .hotel-index-wrap { background: #f5f7fa; }
.ota-site .flight-hero, .ota-site .hotel-hero { min-height: 230px; padding: 42px 0 90px; background: linear-gradient(110deg,#102b50,#244867); }
.ota-site .flight-hero-content h1, .ota-site .hotel-hero-content h1 { font-size: clamp(30px,4vw,44px); letter-spacing: -.035em; }
.ota-site .flight-hero-content h1 span, .ota-site .hotel-hero-content h1 span { color: #edc778; }
.ota-site .flight-search-card, .ota-site .hotel-search-shell .home-hotel-search-card { border: 1px solid #e2e7ee; border-radius: 14px; box-shadow: 0 12px 36px #102b5010; }
.ota-site .flight-search-input, .ota-site .flight-search-select { border-radius: 8px; font-weight: 500; }
.ota-site .glms-auth-submit, .ota-site .glms-auth-tab.active { background: #102b50; box-shadow: none; }
@media(min-width: 992px) { .ota-site .az-search-section .row-routing-inputs .flex-basis-40 { flex: 3 !important; } .ota-site .az-search-section .row-routing-inputs .flex-basis-20 { flex: 2 !important; } }
@media(max-width: 1199px) {
 .ota-nav-shell { gap: 18px; } .ota-brand img { width: 175px; } .ota-navigation { gap: 15px; } .ota-nav-actions { gap: 12px; } .ota-account summary > span { display: none; }
}
@media(max-width: 991px) {
 .ota-nav-shell { min-height: 76px; flex-wrap: wrap; gap: 12px; padding-top: 10px; padding-bottom: 10px; }
 .ota-brand img { width: 180px; height: 48px; } .ota-nav-actions { margin-left: auto; }
 .ota-menu-button { display: flex; align-items: center; gap: 8px; order: 3; padding: 9px 11px; background: #f5f7fa; border: 1px solid #dce3ec; border-radius: 8px; color: #102b50; font-size: 13px; }
 .ota-navigation { display: none; flex-basis: 100%; order: 4; margin: 0; padding: 12px 0; align-items: stretch; gap: 0; flex-direction: column; border-top: 1px solid #e2e7ee; }
 .ota-navigation.is-open { display: flex; } .ota-navigation > a, .ota-navigation summary { padding: 12px; } .ota-navigation .ota-dropdown { position: static; box-shadow: none; margin: 0 12px; }
 .ota-hero-caption { display: none; } .ota-hero-inner { min-height: 350px; padding-top: 40px; }
 .ota-site .az-search-section .row-routing-inputs { flex-direction: row !important; flex-wrap: wrap; align-items: flex-end !important; }
 .ota-site .az-search-section .row-routing-inputs .field { flex: 1 1 40% !important; min-width: 0 !important; }
 .ota-site .az-search-section #primaryFlightRow { position: relative; gap: 12px !important; }
 .ota-site #swapBtnContainer { position: absolute; left: calc(50% - 15px); top: 23px; z-index: 4; transform: none; }
 .ota-site .row-passenger-actions { flex-direction: row !important; align-items: center !important; }
 .ota-site .submission-btn-wrapper { width: auto !important; }
 .ota-travellers .passenger-segmented-groups { flex-direction: row; }
 .ota-site .home-hotel-search-row { flex-direction: row; flex-wrap: wrap; }
 .ota-site .home-hotel-search-row .home-hotel-field { flex: 1 1 28%; }
 .ota-site .home-hotel-search-row .home-hotel-actions { flex: 1 1 100%; }
 .ota-site .home-hotel-submit { width: 100%; }
 .ota-site .az-destination:first-child { grid-column: auto; }
}
@media(max-width: 575px) {
 .ota-utility .container { justify-content: center; } .ota-utility span { display: none; }
 .ota-brand img { width: 145px; height: 42px; } .ota-nav-shell { gap: 8px; } .ota-nav-actions { gap: 8px; }
 .ota-account summary { padding: 10px; } .ota-account summary::after { display: none; } .ota-menu-button span { display: none; }
 .ota-hero-inner { min-height: 320px; padding-top: 30px; padding-bottom: 70px; } .ota-hero h1 { font-size: 36px; } .ota-eyebrow { font-size: 9px !important; }
 .ota-site .az-search-section .tn-booking { margin-top: -30px; }
 .ota-site .az-search-section .tn-booking__tabs { padding: 0 6px; } .ota-site .az-search-section .tn-booking__tabs .tab { font-size: 13px; padding: 16px 12px; }
 .ota-site .az-search-section .custom-flight-panel, .ota-site .az-search-section .home-hotel-search-card { padding: 18px 14px !important; }
 .ota-site .trip-type-options { gap: 14px; } .ota-site .ancillary-settings { width: 100%; justify-content: space-between; } .ota-site .meta-input-inline { gap: 4px; }
 .ota-site .row-passenger-actions { flex-direction: column !important; align-items: stretch !important; }
 .ota-site .submission-btn-wrapper { width: 100% !important; } .ota-travellers .passenger-segmented-groups { position: static; box-shadow: none; display: grid; grid-template-columns: 1fr; margin-top: 10px; }
 .ota-edit { margin-left: auto; } .ota-site .az-search-section .row-routing-inputs .field { flex: 1 1 100% !important; }
 .ota-site #swapBtnContainer { left: auto; right: 16px; top: 66px; transform: rotate(90deg); }
 .ota-site .home-hotel-search-row .home-hotel-field { flex: 1 1 40%; } .ota-site .home-hotel-search-row .tn-autocomplete-field { flex-basis: 100%; }
 .ota-site .az-destination-grid { grid-template-columns: 1fr; } .ota-site .az-destination, .ota-site .az-destination:first-child { min-height: 240px; }
 .ota-site .az-services, .ota-site .az-destinations { padding: 36px 0; }
}
@media(prefers-reduced-motion: reduce) { .ota-site *, .ota-site *::before, .ota-site *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
/* Reset the template's negative offsets so search cannot cover the hero copy. */
.ota-site .az-search-section { display: flow-root; }
.ota-site .az-search-section .tn-booking { top: 0; margin: -52px 0 0 !important; }
.ota-site .az-search-section > .container > .tn-about { display: none; }
.ota-site .preloader { display: none !important; }
.ota-site .ota-hero h1, .ota-site .ota-navigation a, .ota-site .ota-hero p, .ota-site .custom-flight-panel input { text-transform: none; }
.ota-site { --tn-theme-color: #102b50; --tn-title-color: #102b50; }
@media(max-width:575px) { .ota-site .az-search-section .tn-booking { margin-top: -30px !important; } }
.ota-site .az-search-section .tabs-left { padding: 0; justify-content: flex-start; width: 100%; }
.ota-site .az-search-section .tn-booking__tabs .tab { margin-left: 0; }
.ota-site .az-search-section .custom-flight-panel .field { padding: 0; background: transparent; border: 0; }
.ota-site .az-search-section .custom-flight-panel .field label { padding: 0; line-height: 1.4; }
.ota-site .tn-booking .execution-search-btn { background: #102b50 !important; color: white !important; }
.ota-site .tn-booking .execution-search-btn::before, .ota-site .tn-booking .execution-search-btn::after { display: none; }
.ota-site .tn-booking .execution-search-btn:hover { background: #204875 !important; }
.ota-site .ota-hero .ota-hero-copy h1 { text-transform: none; }
.ota-site .az-section-title, .ota-site .az-service h3 { text-transform: none; }
@media(max-width:575px) { .ota-site .meta-inline-select { max-width: 145px; } .ota-site .ancillary-settings { flex-wrap: wrap; } .ota-site #swapBtnContainer { top: 58px; } }
@media(max-width:374px) {
 .ota-brand img { width: 118px; }
 .ota-nav-actions .country-select__btn { font-size: 12px; }
 .ota-nav-actions .country-select__btn .flag { display: none; }
 .ota-site .az-search-section .tn-booking__tabs .tab { padding: 14px 9px; font-size: 12px; }
 .ota-site .trip-type-options { gap: 10px; }
 .ota-site .radio-label-wrapper { font-size: 12px; }
}
.ota-nav-actions .country-select__list { left: auto; right: 0; }
/* Compact booking and editorial banner refinements. */
.ota-site .ota-hero { background-image: linear-gradient(100deg,#071b32f5 0%,#102b50bc 45%,#102b5020 100%),url('/assets/image/hero/hero-banner-img-h1.jpg'); border-bottom: 1px solid #c99b4933; }
.ota-site .ota-hero-inner { min-height: 272px; padding-top: 30px; padding-bottom: 58px; }
.ota-site .ota-hero h1 { font-size: clamp(30px,3.25vw,45px); letter-spacing: -.04em; margin-bottom: 12px; line-height: 1.1; }
.ota-site .ota-eyebrow { margin-bottom: 12px !important; font-size: 10px !important; letter-spacing: .2em; }
.ota-site .ota-hero-copy > p { font-size: 14px; }
.ota-site .ota-hero-caption { align-self: center; padding: 18px 22px; border: 1px solid #ffffff36; border-radius: 12px; background: #ffffff0a; backdrop-filter: blur(8px); }
.ota-site .az-search-section { padding-bottom: 26px; }
.ota-site .az-search-section > .container { max-width: 1180px; }
.ota-site .az-search-section .tn-booking { margin-top: -30px !important; border: 1px solid #dfe6ee; box-shadow: 0 12px 32px #102b5010; border-radius: 14px; }
.ota-site .az-search-section .tn-booking__tabs { padding: 0 18px; border-radius: 14px 14px 0 0; background: #fbfcfe; }
.ota-site .az-search-section .tn-booking__tabs .tab { padding: 12px 16px; font-size: 13px; line-height: 20px; }
.ota-site .az-search-section .custom-flight-panel { padding: 15px 20px 20px !important; gap: 13px !important; }
.ota-site .az-search-section .row-meta-settings { flex-wrap: wrap; gap: 10px; }
.ota-site .az-search-section .ancillary-settings { align-items: center; gap: 10px; }
.ota-site .az-search-section .ota-travellers > summary { min-height: 34px; padding: 5px 9px; gap: 7px; font-size: 12px; background: #f8fafc; border-color: #e2e7ee; }
.ota-site .az-search-section .ota-edit { padding-left: 3px; margin-left: 0; }
.ota-site .az-search-section .ota-travellers .passenger-segmented-groups { left: auto; right: 0; min-width: 430px; }
.ota-site .az-search-section .meta-inline-select { height: 34px !important; border-color: #e2e7ee !important; }
.ota-site .az-search-section .meta-input-inline { font-size: 12px; gap: 5px; }
.ota-site .az-search-section .custom-flight-panel .text-input-clean { height: 46px !important; padding-left: 34px !important; }
.ota-site .az-search-section .custom-flight-panel .field > i { height: 46px !important; left: 11px !important; font-size: 16px; }
.ota-site .az-search-section .custom-flight-panel .field label { font-size: 10px !important; margin-bottom: 5px !important; text-transform: uppercase; letter-spacing: .06em; }
.ota-site .az-search-section .routing-swap-container { height: 46px !important; width: 24px !important; }
.ota-site .az-search-section .execution-search-btn { height: 46px !important; padding: 0 18px !important; font-size: 13px; white-space: nowrap; }
.ota-site #primaryFlightRow > .submission-btn-wrapper { flex-shrink: 0; }
.ota-site .az-search-section .home-hotel-search-card { padding: 16px 20px 10px !important; }
.ota-site .az-search-section .home-hotel-search-row { margin-bottom: 10px; gap: 10px; }
.ota-site .az-search-section .home-hotel-input, .ota-site .az-search-section .home-hotel-select, .ota-site .az-search-section .home-hotel-submit { height: 44px !important; }
/* Visible request feedback, including the debounce period. */
.ota-site input.ota-location-loading { border-color: #b78930 !important; box-shadow: 0 0 0 3px #b7893012 !important; padding-right: 57px !important; }
.ota-field-spinner, .ota-lookup-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid #dce3ec; border-top-color: #b78930; border-radius: 50%; animation: ota-lookup-spin .75s linear infinite; flex-shrink: 0; }
.ota-field-spinner { position: absolute; right: 34px; bottom: 15px; z-index: 4; pointer-events: none; }
.ota-field-spinner[hidden] { display: none; }
.ota-site .ota-lookup-feedback { display: flex; align-items: center; gap: 11px; padding: 15px 12px; background: #fbfcfe; color: #102b50; }
.ota-lookup-feedback strong { display: block; font-size: 12px; font-weight: 700; line-height: 1.5; }
.ota-lookup-feedback small { display: block; color: #69788b; font-size: 11px; line-height: 1.5; margin-top: 2px; }
@keyframes ota-lookup-spin { to { transform: rotate(360deg); } }
/* Horizontal scroll-snap works with touch and keyboard even without JavaScript. */
.ota-site .az-destinations { overflow: hidden; background: linear-gradient(180deg,#edf2f6,#f8fafc); }
.ota-site .az-destinations .az-section-intro { max-width: none; }
.ota-carousel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; }
.ota-carousel-toolbar > span { font-size: 12px; color: #68788a; }
.ota-carousel-controls { display: flex; gap: 8px; flex-shrink: 0; }
.ota-carousel-controls button { border: 1px solid #d4dde7; border-radius: 50%; width: 38px; height: 38px; background: white; color: #102b50; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.ota-carousel-controls button:hover { background: #102b50; color: white; border-color: #102b50; }
.ota-site .az-destination-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 2.6); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; gap: 16px; margin-top: 16px; padding: 2px 2px 8px; scrollbar-width: none; -ms-overflow-style: none; }
.ota-site .az-destination-grid::-webkit-scrollbar { display: none; }
.ota-site .az-destination, .ota-site .az-destination:first-child { min-height: 270px; grid-column: auto; scroll-snap-align: start; border-radius: 14px; border: 1px solid #ffffff; transition: filter .2s ease; }
.ota-site .az-destination:hover { filter: brightness(1.08); }
.ota-site .az-destination__content { width: 100%; }
.ota-site .az-destination__content::after { content: '\2197'; float: right; color: white; font-size: 24px; margin-top: -34px; }
@media(min-width:992px) {
 .ota-site .az-search-section .row-routing-inputs { gap: 9px !important; }
 .ota-site .az-search-section .row-routing-inputs .flex-basis-40 { flex: 2.5 !important; }
 .ota-site .az-search-section .row-routing-inputs .flex-basis-20 { flex: 1.8 !important; }
}
@media(max-width:991px) {
 .ota-site .ota-hero-inner { min-height: 240px; padding-top: 26px; padding-bottom: 54px; }
 .ota-site .az-search-section .ancillary-settings { width: auto; flex-wrap: wrap; }
 .ota-site #primaryFlightRow > .submission-btn-wrapper { flex: 1 1 40%; align-self: flex-end; }
 .ota-site .az-destination-grid { grid-auto-columns: calc((100% - 16px) / 1.7); }
}
@media(max-width:575px) {
 .ota-site .ota-hero-inner { min-height: 208px; padding-top: 22px; padding-bottom: 44px; }
 .ota-site .ota-hero h1 { font-size: 30px; }
 .ota-site .ota-hero-copy > p { font-size: 12px; max-width: 290px; line-height: 1.6; }
 .ota-site .ota-eyebrow { font-size: 8px !important; letter-spacing: .13em; margin-bottom: 9px !important; }
 .ota-site .az-search-section .tn-booking { margin-top: -20px !important; }
 .ota-site .az-search-section .tn-booking__tabs { padding: 0 4px; }
 .ota-site .az-search-section .tn-booking__tabs .tab { padding: 11px 10px; font-size: 12px; }
 .ota-site .az-search-section .custom-flight-panel { padding: 12px 12px 16px !important; gap: 10px !important; }
 .ota-site .az-search-section .ancillary-settings { width: 100%; gap: 7px; justify-content: flex-start; }
 .ota-site .az-search-section .meta-input-inline label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 .ota-site .az-search-section .meta-inline-select { max-width: 128px; font-size: 11px; padding-left: 7px; padding-right: 22px; }
 .ota-site .az-search-section .ota-travellers { position: static; }
 .ota-site .az-search-section .ancillary-settings { position: relative; }
 .ota-site .az-search-section .ota-travellers .passenger-segmented-groups { position: absolute; top: 100%; left: 0; right: 0; min-width: 0; grid-template-columns: 1fr; box-shadow: 0 14px 35px #102b5020; }
 .ota-site .az-search-section .ota-edit { display: none; }
 .ota-site #primaryFlightRow > .submission-btn-wrapper { flex-basis: 100%; }
 .ota-site .az-search-section .home-hotel-search-card { padding: 12px !important; }
 .ota-site .az-destination-grid { grid-auto-columns: 84%; gap: 12px; }
 .ota-site .az-destination, .ota-site .az-destination:first-child { min-height: 230px; }
 .ota-carousel-toolbar { margin-top: 16px; }
 .ota-carousel-toolbar > span { max-width: 145px; font-size: 11px; line-height: 1.5; }
 .ota-carousel-controls { gap: 5px; }
 .ota-carousel-controls button { width: 34px; height: 34px; }
}
