@font-face {
    font-family: 'BP Flight Inter';
    src: url('../fonts/blog/InterVariable.woff2?v=20261105-flight2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}
.bp-flight-search .bp-fs-desktop { display: none; }
.bp-flight-search .bp-fs-trips { display: flex; gap: 8px; }
.bp-flight-search .bp-fs-error { color: #b94208; margin: 14px 0 0; font-size: 13px; }
.bp-flight-search .bp-fs-error[hidden] { display: none; }
@media (max-width: 991px) {
    #flight .bp-fs-trips { width: 100%; justify-content: space-between; }
    #flight .bp-fs-trip { margin: 0; min-height: 38px; padding: 6px 10px 6px 28px; }
    #flight .bp-fs-pax-summary .get_class { margin-left: 8px; }
}

@media (min-width: 992px) {
    .bp-flight-search-host:has(#flight.active) { width: calc(100% - 80px); max-width: 1280px; padding-left: 0; padding-right: 0; }
    .bp-flight-search-host:has(#flight.active) > .formone { padding-left: 0; padding-right: 0; }
    #flight .bp-flight-search {
        --fs-ink: #14283f;
        --fs-muted: #66758a;
        --fs-orange: #c94f09;
        --fs-line: #e1e7ef;
        padding: 24px;
        min-height: 248px;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 0 0 1px var(--fs-line), 0 8px 24px rgba(20,40,63,.06);
        font-family: 'BP Flight Inter', Arial, sans-serif;
        color: var(--fs-ink);
        text-align: left;
    }
    #flight .bp-flight-search * { box-sizing: border-box; font-family: inherit !important; }
    #flight .bp-flight-search .fa { font-family: FontAwesome !important; }
    #flight .bp-flight-search input, #flight .bp-flight-search button,
    #flight .bp-flight-search select, #flight .bp-flight-search samp { font-family: inherit; }
    #flight .bp-flight-search .bp-fs-desktop { display: flex; }
    #flight .bp-flight-search .bp-fs-icon { display: block; flex: none; width: auto; height: auto; max-width: none; margin: 0; }
    #flight .bp-fs-top { height: 32px; margin: 0 0 20px; padding: 0 !important; align-items: center; justify-content: space-between; background: url('../images/flight-search/trip-row.svg') center/100% 100% no-repeat; }
    #flight .bp-fs-trips { height: 32px; gap: 8px; }
    #flight .bp-fs-trip { position: relative; display: block; width: 110px; height: 32px; margin: 0; padding: 0; border: 0 !important; border-radius: 16px; background: transparent; text-transform: none; cursor: pointer; }
    #flight .bp-fs-trip-roundtrip { width: 124px; }
    #flight .bp-fs-trip-multicity { width: 118px; }
    #flight .bp-fs-trip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; }
    #flight .bp-fs-trip .bp-fs-trip-text { display: flex; align-items: center; width: 100%; height: 32px; padding-left: 27px; font-size: 12px; font-weight: 400; color: var(--fs-muted); background: url('../images/flight-search/trip-oneway.svg') center/100% 100% no-repeat; border-radius: 16px; }
    #flight .bp-fs-trip:not(:has(input:checked)) .bp-fs-trip-text { background-image: url('../images/flight-search/trip-roundtrip.svg'); }
    #flight .bp-fs-trip-multicity:not(:has(input:checked)) .bp-fs-trip-text { background-image: url('../images/flight-search/trip-multicity.svg'); }
    #flight .bp-fs-trip input:checked ~ .bp-fs-trip-text { font-weight: 700; color: var(--fs-orange); }
    #flight .bp-fs-trip .bp-fs-trip-text { text-transform: none; line-height: 16px; }
    #flight .bp-fs-trip .checkmark { position: absolute; left: 9.5px; top: 10.5px; width: 11px; height: 11px; border: 0; background: url('../images/flight-search/radio-empty.svg') center/11px 11px no-repeat; pointer-events: none; }
    #flight .bp-fs-trip .checkmark::after { display: none; }
    #flight .bp-fs-trip input:checked ~ .checkmark { background-image: url('../images/flight-search/radio-selected.svg'); }
    #flight .bp-fs-trip input:checked ~ .checkmark::after { content: ''; display: block; position: absolute; inset: 3px; width: 5px; height: 5px; margin: 0; border: 0; background: url('../images/flight-search/radio-dot.svg') center/5px 5px no-repeat; }
    #flight .bp-fs-assurance { gap: 10px; align-items: center; width: 188px; padding-right: 8px; font-size: 11px; line-height: 16px; color: var(--fs-muted); }
    #flight .bp-fs-assurance span { font-size: 11px; line-height: 16px; }
    #flight .bp-fs-oneway { padding: 0; }
    #flight .bp-fs-fields { display: grid; grid-template-columns: minmax(0,248fr) minmax(0,248fr) minmax(0,176fr) minmax(0,176fr) minmax(0,168fr) 136px; gap: 16px; margin: 0 !important; background: url('../images/flight-search/search-row.svg') center/100% 100% no-repeat; }
    #flight .bp-fs-field { position: relative; max-width: none; width: auto; height: 96px; padding: 10px 16px 16px; margin: 0; border: 0 !important; border-radius: 12px; background: url('../images/flight-search/field-airport.svg') center / 100% 100% no-repeat; transition: box-shadow .18s ease; }
    #flight .bp-fs-date { background-image: url('../images/flight-search/field-date.svg'); }
    #flight .bp-fs-travellers { background-image: url('../images/flight-search/field-travellers.svg'); }
    #flight .bp-fs-label { align-items: center; gap: 8px; margin: 0; height: 16px; color: var(--fs-muted); font-size: 10.5px; line-height: 13px; font-weight: 400; white-space: nowrap; cursor: pointer; }
    #flight .bp-fs-label span { font-size: 10.5px !important; line-height: 13px !important; color: var(--fs-muted); }
    #flight .bp-fs-field > .inputtext { position: relative; height: 30px !important; width: 100%; padding: 0 !important; margin: 2px 0 0; border: 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; color: var(--fs-ink); font-size: 20px; line-height: 30px; text-overflow: ellipsis; }
    #flight .bp-fs-field > .inputtext::placeholder { opacity: 1; color: var(--fs-muted); font-size: inherit; }
    #flight .bp-fs-field > .inputtext { color: var(--fs-ink) !important; }
    #flight .bp-fs-date > .inputtext { font-size: 16px; }
    #flight #bp-flight-return::placeholder { color: var(--fs-ink); }
    #flight .bp-fs-hint { height: 16px; margin-top: 3px; font-size: 10.5px; line-height: 16px; color: var(--fs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block !important; }
    #flight .bp-fs-chevron { position: absolute; top: 18.5px; right: 17px; pointer-events: none; }
    #flight .bp-fs-field > .dateicon { display: none; }
    #flight .bp-fs-field:focus-within { box-shadow: 0 0 0 2px #f4d3bc; }
    #flight .bp-fs-swap { position: absolute; z-index: 3; top: 30.5px; right: -32.5px; width: 37px; height: 37px; border: 0; border-radius: 50%; padding: 0; margin: 0; align-items: center; justify-content: center; background: url('../images/flight-search/swap-button.svg') center/37px 37px no-repeat; cursor: pointer; transition: transform .2s ease; }
    #flight .bp-fs-swap::before, #flight .bp-fs-swap::after { display: none; }
    #flight .bp-fs-swap:hover { transform: rotate(180deg); }
    #flight .bp-fs-travellers > .pax-div { height: 70px !important; margin: 0; background: transparent; cursor: pointer; display: block; }
    #flight .bp-fs-travellers > .pax-div > .col { padding: 0; }
    #flight .bp-fs-pax-summary { display: block; margin: 4px 0 0; line-height: 24px; cursor: pointer; }
    #flight .bp-fs-pax-total, #flight .bp-fs-pax-total span { color: var(--fs-ink); font-size: 16px !important; font-weight: 400; line-height: 24px !important; white-space: nowrap; }
    #flight .bp-fs-pax-total { display: block; }
    #flight .bp-fs-pax-summary .get_class { display: block; margin: 5px 0 0; font-size: 10.5px !important; line-height: 16px; font-weight: 400; color: var(--fs-muted); background: transparent; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    #flight .bp-fs-pax-summary .faicon { display: none; }
    #flight .bp-fs-submit { display: flex; align-items: center; width: calc(100% + 4px); margin-left: -4px; max-width: none; padding: 0; }
    #flight .bp-fs-submit .go_button { display: flex; gap: 18px; justify-content: center; align-items: center; width: 100%; height: 64px; margin: 0; padding: 0 12px; border: 0; border-radius: 12px; background: url('../images/flight-search/search-button.svg') center/100% 100% no-repeat; color: #fff; font-size: 14px; font-weight: 700; line-height: 20px; box-shadow: none; transition: filter .18s ease, transform .18s ease; }
    #flight .bp-fs-submit .go_button::before, #flight .bp-fs-submit .go_button::after { display: none; }
    #flight .bp-fs-submit .go_button:hover { filter: brightness(.94); transform: translateY(-1px); }
    #flight .bp-fs-footer { align-items: center; justify-content: space-between; height: 32px; margin-top: 20px; background: url('../images/flight-search/trip-row.svg') center/100% 100% no-repeat; }
    #flight .bp-fs-fares { display: flex; flex-flow: row nowrap; align-items: center; gap: 8px; min-width: 0; border: 0; padding: 0; margin: 0; }
    #flight .bp-fs-fares legend { float: left; width: 68px; padding: 0; margin: 0; font-size: 11px; line-height: 16px; color: var(--fs-muted); }
    #flight .bp-fs-fare { display: block; position: relative; width: 82px; height: 30px; margin: 0; cursor: pointer; }
    #flight .bp-fs-fare-senior { width: 124px; }
    #flight .bp-fs-fare-defence { width: 90px; }
    #flight .bp-fs-fare input { position: absolute; opacity: 0; width: 100%; height: 100%; inset: 0; cursor: pointer; }
    #flight .bp-fs-fare span { display: flex; align-items: center; justify-content: center; height: 30px; border-radius: 16px; font-size: 11px; font-weight: 400; color: var(--fs-muted); background: url('../images/flight-search/fare-student.svg') center/100% 100% no-repeat; }
    #flight .bp-fs-fare-senior span { background-image: url('../images/flight-search/fare-senior.svg'); }
    #flight .bp-fs-fare-defence span { background-image: url('../images/flight-search/fare-defence.svg'); }
    #flight .bp-fs-fare input:checked + span { background-image: url('../images/flight-search/fare-regular.svg'); color: var(--fs-orange); font-weight: 700; }
    #flight .bp-fs-direct { display: flex; align-items: center; gap: 10px; width: 224px; margin: 0; padding-left: 1px; font-size: 12px; line-height: 18px; color: var(--fs-muted); cursor: pointer; }
    #flight .bp-fs-direct span { font-size: 12px; line-height: 18px; }
    #flight .bp-fs-direct input { appearance: none; width: 17px; height: 17px; margin: 0; flex: none; border: 0; background: url('../images/flight-search/checkbox.svg') center/17px 17px no-repeat; cursor: pointer; }
    #flight .bp-fs-direct input:checked { appearance: auto; accent-color: var(--fs-orange); }
    #flight .bp-fs-trip input:focus-visible ~ .bp-fs-trip-text, #flight .bp-fs-fare input:focus-visible + span,
    #flight .bp-flight-search button:focus-visible, #flight .bp-fs-direct input:focus-visible,
    #flight .bp-fs-travellers [role=button]:focus-visible { outline: 2px solid var(--fs-orange); outline-offset: 3px; }
    #flight .bp-fs-field .form-error { position: absolute; top: 95px; left: 0; font-size: 10px; line-height: 12px; }
    #flight .bp-flight-search .flightpax { width: 320px; max-width: none; left: auto; right: 0; top: 104px; padding: 20px; background: white; border: 1px solid var(--fs-line); border-radius: 16px; box-shadow: 0 12px 36px #14283f24; z-index: 1000; }
    #flight .bp-flight-search .flightpax label { color: var(--fs-ink); font-size: 12px; }
    #flight .bp-flight-search .flightpax .traveladd { padding: 0 0 12px; }
    #flight .bp-flight-search .flightpax .traveladd > .row { align-items: center; border: 1px solid var(--fs-line); }
    #flight .bp-flight-search .flightpax .traveladd a { color: var(--fs-orange); text-align: center; font-size: 20px; }
    #flight .bp-flight-search .flightpax .traveladd samp { color: var(--fs-ink); text-align: center; }
    #flight .bp-flight-search .flightpax .fareclass { height: 36px !important; margin: 0; padding: 5px; border: 1px solid var(--fs-line); font-size: 12px; }
    #flight .bp-flight-search .flightpax .done { background: var(--fs-orange); color: #fff; border-radius: 8px; padding: 8px 18px; margin: 12px 0 0; }
    #flight .bp-flight-search [data-multicity] { padding: 0; }
    #flight .bp-flight-search [data-multicity] .row-box { width: 100%; margin: 0; }
    #flight .bp-flight-search [data-multicity] .inputtext { font-size: 14px; }
    #flight .bp-flight-search [data-multicity] .flightpax { top: 70px; }
    #flight .bp-flight-search [data-multicity] .flightpax .pax_parent_m { width: 100%; }
    #flight .bp-flight-search [data-multicity] > form > .col-12.p0 { display: none; }
    /* Keep controls usable even if an FTP asset is missing. Original Figma SVGs
       remain the foreground artwork; these native surfaces sit underneath. */
    #flight .bp-fs-field { background-color: #fff; box-shadow: inset 0 0 0 1px var(--fs-line); }
    #flight .bp-fs-field:focus-within { box-shadow: inset 0 0 0 1px var(--fs-line), 0 0 0 2px #f4d3bc; }
    #flight .bp-fs-submit .go_button { background-color: var(--fs-orange); }
    #flight .bp-fs-swap { background-color: #fff; box-shadow: inset 0 0 0 1px var(--fs-line); }
    #flight .bp-fs-trip input:checked ~ .bp-fs-trip-text { background-color: #fff3e9; }
    #flight .bp-fs-trip .checkmark { background-color: #fff; box-shadow: inset 0 0 0 1px #bcc5cf; }
    #flight .bp-fs-trip input:checked ~ .checkmark { box-shadow: inset 0 0 0 1px var(--fs-orange); }
    #flight .bp-fs-trip input:checked ~ .checkmark::after { background-color: var(--fs-orange); border-radius: 50%; }
    #flight .bp-fs-fare span { background-color: #fff; box-shadow: inset 0 0 0 1px var(--fs-line); }
    #flight .bp-fs-fare input:checked + span { background-color: #fff3e9; box-shadow: inset 0 0 0 1px #efd9ca; }
    #flight .bp-fs-direct input { background-color: #fff; border-radius: 4px; box-shadow: inset 0 0 0 1px #c6ced7; }
    #flight .bp-fs-direct input:checked { box-shadow: none; }
    @media (max-width: 1199px) {
        #flight .bp-fs-fields { gap: 12px; grid-template-columns: minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 108px; }
        #flight .bp-fs-field { padding-left: 12px; padding-right: 12px; }
        #flight .bp-fs-field > .inputtext { font-size: 17px; }
        #flight .bp-fs-date > .inputtext, #flight .bp-fs-pax-total, #flight .bp-fs-pax-total span { font-size: 14px !important; }
        #flight .bp-fs-swap { right: -24.5px; }
        #flight .bp-fs-submit { width: auto; margin-left: 0; }
        #flight .bp-fs-direct { width: 190px; }
        #flight .bp-fs-submit .go_button { gap: 10px; }
    }
    @media (prefers-reduced-motion: reduce) {
        #flight .bp-flight-search * { transition: none !important; animation: none !important; }
    }
}
