/*
 * Flight results page: sort tiles, filter sidebar, mobile filter sheet, result cards (desktop + mobile).
 * Loaded at the end of Frontend/flights/international.blade.php. Card markup: Frontend/flights/flightDataVal
 * (+ partials/sk-leg for desktop legs). Rules are scoped under #flight-results / .filterbx / .modern-sort-tabs
 * so they win over the inline <style> blocks that arrive with each AJAX batch of cards.
 */
:root {
    --skr-navy: #1e293b;
    --skr-text: #0f172a;
    --skr-muted: #64748b;
    --skr-soft: #94a3b8;
    --skr-line: #e2e8f0;
    --skr-bg: #f8fafc;
    --skr-blue: #2563eb;
    --skr-blue-soft: #eff6ff;
    --skr-green: #16a34a;
    --skr-amber: #d97706;
    --skr-red: #dc2626;
}

/* ================================================================ Sort tiles (Cheapest / Fastest / Earliest) */
.modern-sort-tabs { display: flex; align-items: stretch; gap: 8px; margin-bottom: 12px; }
.modern-sort-tabs > ul.nav-tabs { display: flex !important; gap: 8px; border: 0 !important; margin: 0 !important; padding: 0; flex: 1; flex-wrap: nowrap; }
.modern-sort-tabs > ul.nav-tabs > li { float: none !important; margin: 0 !important; flex: 0 1 170px; min-width: 0; }
.modern-sort-tabs > ul.nav-tabs > li > a {
    display: block !important;
    height: 100%;
    margin: 0 !important;
    padding: 10px 14px !important;
    background: #fff !important;
    border: 1px solid var(--skr-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: var(--skr-text) !important;
    transition: border-color .15s ease, background .15s ease;
}
.modern-sort-tabs > ul.nav-tabs > li > a:hover { border-color: #bfdbfe !important; }
.modern-sort-tabs > ul.nav-tabs > li.active > a { background: var(--skr-blue-soft) !important; border-color: var(--skr-blue) !important; box-shadow: inset 0 0 0 1px var(--skr-blue) !important; }
.modern-sort-tabs .tbcps { gap: 10px; }
.modern-sort-tabs .cleapimg { width: 28px; height: 28px; flex: 0 0 28px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--skr-bg); }
.modern-sort-tabs li.active .cleapimg { background: #fff; }
.modern-sort-tabs .cleapimg img { width: 16px !important; height: 16px !important; }
.modern-sort-tabs .textcps { min-width: 0; text-align: left; }
.modern-sort-tabs .textcps h4.filter-btn-hd { margin: 0 !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .5px; text-transform: uppercase; color: var(--skr-muted) !important; }
.modern-sort-tabs li.active .textcps h4.filter-btn-hd { color: var(--skr-blue) !important; }
.modern-sort-tabs .textcps span.filter-btn-hd { display: block; font-size: 15px !important; font-weight: 700 !important; color: var(--skr-text) !important; white-space: nowrap; }
.modern-sort-tabs .mc-filter-btn {
    flex: 0 0 auto;
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    padding: 6px 12px; border: 1px solid var(--skr-line); border-radius: 10px; background: #fff;
    color: var(--skr-text); font-size: 12px; font-weight: 600;
}

@media (max-width: 991px) {
    .modern-sort-tabs { gap: 6px; }
    .modern-sort-tabs > ul.nav-tabs { gap: 6px; }
    .modern-sort-tabs > ul.nav-tabs > li { flex: 1 1 0; }
    .modern-sort-tabs > ul.nav-tabs > li > a { padding: 8px 10px !important; }
    .modern-sort-tabs .cleapimg { display: none !important; }
    .modern-sort-tabs .textcps h4.filter-btn-hd { font-size: 10px !important; }
    .modern-sort-tabs .textcps span.filter-btn-hd { font-size: 13px !important; }
}

/* ================================================================ Filter sidebar (desktop) */
.filterbx {
    background: #fff !important;
    border: 1px solid var(--skr-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    padding: 4px 16px 8px !important;
}
.filterbx .filter-section { border-bottom: 1px solid var(--skr-line) !important; padding: 12px 0 !important; margin: 0 !important; }
.filterbx .filter-section:last-child { border-bottom: 0 !important; }
.filterbx .filter-header { display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 0 !important; margin: 0 0 6px !important; background: none !important; border: 0 !important; }
.filterbx .filter-header h4 { display: flex; align-items: center; gap: 8px; margin: 0 !important; flex: 1; font-size: 14px !important; font-weight: 700 !important; color: var(--skr-text) !important; border: 0 !important; padding: 0 !important; }
.filterbx .filter-header h4::before { display: none !important; }
.filterbx .filter-header .filter-icon { width: 16px; height: 16px; color: var(--skr-muted); }
.filterbx .filter-count { font-size: 11px; font-weight: 700; color: #fff; background: var(--skr-blue); border-radius: 999px; padding: 1px 7px; }
.filterbx .filter-count:empty, .filterbx .filter-count[data-zero], .filterbx .filter-count:is([style*="none"]) { display: none; }
.filterbx .filter-content { padding: 2px 0 0 !important; max-height: 260px; overflow-y: auto; }
.filterbx .modern-checkbox,
.filterbx .stop-filter-item { display: flex !important; align-items: center; gap: 10px; min-height: 34px; padding: 4px 0 !important; margin: 0 !important; border: 0 !important; cursor: pointer; }
.filterbx .stop-filter-item { justify-content: space-between; }
.filterbx .stop-filter-item .modern-checkbox { min-height: 0; }
.filterbx .checkbox-label, .filterbx .stop-type { font-size: 13px !important; color: var(--skr-text) !important; font-weight: 500 !important; line-height: 1.3; }
.filterbx .sk-stop-count { color: var(--skr-soft); font-size: 12px; font-weight: 400; }
.filterbx .stop-price { font-size: 13px !important; font-weight: 600 !important; color: var(--skr-muted) !important; }
.filterbx .checkbox-custom { width: 18px !important; height: 18px !important; flex: 0 0 18px; border: 1.5px solid #cbd5e1 !important; border-radius: 5px !important; background: #fff !important; }
.filterbx input:checked + .checkbox-custom { background: var(--skr-blue) !important; border-color: var(--skr-blue) !important; }
.filterbx .clear-all-filters { color: var(--skr-blue) !important; font-size: 12px !important; font-weight: 700 !important; }

/* ================================================================ Mobile filter sheet */
.mobile-filter-modal .mobile-filter-header { background: var(--skr-navy) !important; color: #fff !important; border: 0 !important; }
.mobile-filter-modal .mobile-filter-header h3, .mobile-filter-modal .mobile-filter-header h2, .mobile-filter-modal .mobile-filter-header span { color: #fff !important; }
.mobile-filter-modal .mobile-filter-close { color: #fff !important; background: rgba(255, 255, 255, .12) !important; border-radius: 50% !important; }
.mobile-filter-modal .mobile-filter-close svg path { stroke: #fff; }
.mobile-filter-modal .mobile-filter-content { background: #f5f7fa !important; }
.mobile-filter-modal .mobile-filter-section { background: #fff !important; border: 1px solid var(--skr-line) !important; border-radius: 12px !important; margin: 0 0 10px !important; box-shadow: none !important; overflow: hidden; }
.mobile-filter-modal .mobile-filter-section-header { padding: 12px 14px !important; font-weight: 700 !important; color: var(--skr-text) !important; background: #fff !important; border: 0 !important; }
.mobile-filter-modal .mobile-filter-section-content { padding: 0 14px 8px !important; }
.mobile-filter-modal .mobile-checkbox,
.mobile-filter-modal .mobile-stop-filter-item { display: flex !important; align-items: center; gap: 10px; min-height: 42px; margin: 0 !important; border-top: 1px solid #f1f5f9; }
.mobile-filter-modal .mobile-stop-filter-item { justify-content: space-between; }
.mobile-filter-modal .mobile-stop-filter-item .mobile-checkbox { border: 0; min-height: 0; }
.mobile-filter-modal .mobile-checkbox-label, .mobile-filter-modal .mobile-stop-type { font-size: 14px !important; color: var(--skr-text) !important; }
.mobile-filter-modal .sk-stop-count { color: var(--skr-soft); font-size: 12px; }
.mobile-filter-modal .mobile-stop-price { font-size: 13px; font-weight: 600; color: var(--skr-muted); }
.mobile-filter-modal .mobile-checkbox-custom { width: 20px !important; height: 20px !important; border-radius: 6px !important; border: 1.5px solid #cbd5e1 !important; }
.mobile-filter-modal input:checked + .mobile-checkbox-custom { background: var(--skr-blue) !important; border-color: var(--skr-blue) !important; }
.mobile-filter-modal .mobile-apply-btn { background: #41d3ff !important; color: var(--skr-text) !important; border: 0 !important; border-radius: 10px !important; font-weight: 700 !important; height: 48px; }
.mobile-filter-modal .mobile-clear-all-filters { color: var(--skr-blue) !important; font-weight: 700 !important; }

/* ================================================================ Result cards: shared */
#flight-results li.flight-card {
    list-style: none;
    background: #fff !important;
    border: 1px solid var(--skr-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: visible;
}
#flight-results li.flight-card:hover { border-color: #cbd5e1 !important; box-shadow: 0 4px 14px rgba(15, 23, 42, .07) !important; }
#flight-results .skc-badge-cheapest {
    display: inline-block; vertical-align: middle; margin-left: 6px;
    background: #dcfce7; color: #15803d; font-size: 10px; font-weight: 700; letter-spacing: .3px;
    text-transform: uppercase; padding: 2px 7px; border-radius: 999px; line-height: 1.4;
}
#flight-results .skc-plus { font-size: 11px; font-weight: 700; color: var(--skr-red); margin-left: 2px; top: -.6em; position: relative; vertical-align: baseline; }

/* FlexPay chip: "PAY small small" logo mark + amount (partials/sk-flexpay) */
#flight-results .skc-flex {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, #0c4a6e, #075985); border-radius: 8px; padding: 4px 10px 4px 6px;
    line-height: 1; max-width: 100%; cursor: help;
}
#flight-results .skc-flex-logo { width: 79px; height: 23px; flex: 0 0 auto; display: block; }
#flight-results .skc-flex-amt { font-weight: 800; font-size: 15px; color: #fff; letter-spacing: -.2px; white-space: nowrap; }
#flight-results .skc-flex-mc { padding: 3px 8px 3px 5px; gap: 6px; }
#flight-results .skc-flex-mc .skc-flex-logo { width: 52px; height: 15px; }
#flight-results .skc-flex-mc .skc-flex-amt { font-size: 12.5px; }

/* ================================================================ Desktop card */
@media (min-width: 992px) {
    #flight-results .flight-card-container { display: flex !important; align-items: stretch; gap: 20px; padding: 16px 20px !important; margin: 0 !important; border: 0 !important; background: none !important; position: relative; }
    #flight-results .flight-card-container > .discount-tag { position: absolute; top: -1px; left: 20px; margin: 0; background: #fef3c7; color: #92400e; font-size: 11px; font-weight: 700; padding: 2px 10px; border-radius: 0 0 6px 6px; }

    #flight-results .skc-legs { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
    /* One leg (one-way): centre it so the space is shared above and below, not all under the route */
    #flight-results .skc-legs:has(> .skc-leg:only-child) { justify-content: center; }
    #flight-results .skc-leg:only-child .skc-leg-head { margin-bottom: 14px; }
    #flight-results .skc-leg:only-child .skc-time { font-size: 24px; }
    #flight-results .skc-leg + .skc-leg { border-top: 1px dashed var(--skr-line); padding-top: 14px; }
    #flight-results .skc-leg-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; font-size: 12px; color: var(--skr-muted); }
    #flight-results .skc-leg-label { font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--skr-text); background: #f1f5f9; padding: 2px 8px; border-radius: 4px; }
    #flight-results .skc-leg-date { font-weight: 600; color: var(--skr-text); }
    #flight-results .skc-airline { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; min-width: 0; }
    #flight-results .skc-logo { width: 24px; height: 24px; flex: 0 0 24px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 0; overflow: hidden; background: transparent; }   /* no frame around the logo (owner 2026-10-22) */
    #flight-results .skc-logo img { width: 20px !important; height: 20px !important; max-width: none; object-fit: contain; }
    #flight-results .skc-airline-name { font-weight: 600; color: var(--skr-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
    #flight-results .skc-fno, #flight-results .skc-cabin { font-size: 11px; color: var(--skr-muted); white-space: nowrap; }
    #flight-results .skc-cabin::before { content: '·'; margin-right: 6px; }

    #flight-results .skc-route { display: grid; grid-template-columns: minmax(110px, auto) 1fr minmax(110px, auto); align-items: center; gap: 16px; }
    #flight-results .skc-time { font-size: 22px; font-weight: 700; color: var(--skr-text); line-height: 1.1; white-space: nowrap; }
    #flight-results .skc-place { font-size: 12px; color: var(--skr-muted); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #flight-results .skc-place b { color: var(--skr-text); font-weight: 700; margin-right: 2px; }
    #flight-results .skc-pt-end { text-align: right; }
    #flight-results .skc-mid { text-align: center; min-width: 0; }
    #flight-results .skc-dur { font-size: 12px; font-weight: 600; color: var(--skr-text); }
    #flight-results .skc-line { position: relative; height: 2px; background: #cbd5e1; margin: 7px 6px; display: flex; align-items: center; justify-content: space-evenly; }
    #flight-results .skc-line::before, #flight-results .skc-line::after { content: ''; position: absolute; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: #94a3b8; }
    #flight-results .skc-line::before { left: -6px; }
    #flight-results .skc-line::after { right: -6px; }
    #flight-results .skc-dot { width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid #f59e0b; }
    #flight-results .skc-stops { font-size: 11px; font-weight: 600; color: var(--skr-amber); }
    #flight-results .skc-stops.is-direct { color: var(--skr-green); }

    /* Price column */
    #flight-results .price-section { flex: 0 0 210px; width: 210px; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 0 0 0 20px !important; margin: 0 !important; border-left: 1px solid var(--skr-line) !important; background: none !important; }
    #flight-results .price-section .mobile-price-layout { display: flex !important; flex-direction: column; align-items: flex-end; gap: 6px; }
    #flight-results .price-section .mobile-price-group { display: flex; flex-direction: column; align-items: flex-end; }
    #flight-results .price-section .original-price { font-size: 13px; color: var(--skr-soft); text-decoration: line-through; }
    #flight-results .price-section .final-price { font-size: 28px !important; font-weight: 800 !important; color: #0b1220 !important; line-height: 1.05; letter-spacing: -.6px; }
    #flight-results .price-section .final-price .currency { font-size: .78em; margin-right: 1px; }
    #flight-results .price-section .seats-left-badge { margin: 0 !important; }
    #flight-results .skc-price-foot { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
    #flight-results .skc-price-foot .sk-viewer-count { font-size: 11px; margin: 0 !important; padding: 2px 6px !important; white-space: nowrap; }
    #flight-results .skc-price-foot .view-details-btn { margin-left: auto !important; white-space: nowrap; }
    #flight-results .price-section .book-now-btn {
        width: 100%; height: 44px; margin: 2px 0 0 !important; padding: 0 !important;
        background: var(--skr-blue) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
        font-size: 14px !important; font-weight: 700 !important; letter-spacing: .3px; box-shadow: none !important;
    }
    #flight-results .price-section .book-now-btn:hover { background: #1d4ed8 !important; }
    #flight-results .price-section .view-details-btn { font-size: 13px !important; font-weight: 600; color: var(--skr-blue) !important; cursor: pointer; padding: 2px 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }

    /* Baggage + actions footer */
    #flight-results li.flight-card > .baggage-info {
        display: flex !important; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
        margin: 0 !important; padding: 8px 20px !important; background: var(--skr-bg) !important;
        border-top: 1px solid var(--skr-line) !important; border-radius: 0 0 12px 12px;
        font-size: 12px !important; color: var(--skr-muted) !important;
    }
    #flight-results .baggage-info > span:first-child { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
    #flight-results .baggage-info img { width: 14px; height: 14px; opacity: .7; margin-left: 6px; }
    #flight-results .baggage-info img:first-child { margin-left: 0; }
    #flight-results .baggage-info br { display: none; }
    #flight-results .sk-actions { display: inline-flex; gap: 6px; flex-wrap: wrap; }
    #flight-results .sk-action-btn { background: #fff !important; border: 1px solid var(--skr-line) !important; border-radius: 6px !important; padding: 4px 10px !important; font-size: 12px !important; color: var(--skr-muted) !important; }
    #flight-results .sk-action-btn:hover { color: var(--skr-blue) !important; border-color: #bfdbfe !important; }
}

/* "+N more flights" under a card */
#flight-results .expand-button-container { margin: -10px 0 12px !important; padding: 0 12px; }
#flight-results .expand-button {
    width: 100%; display: block; padding: 8px 12px !important;
    background: #fff !important; border: 1px solid var(--skr-line) !important; border-top: 0 !important;
    border-radius: 0 0 12px 12px !important; box-shadow: none !important;
    color: var(--skr-blue) !important; font-size: 13px !important; font-weight: 600 !important; text-align: center;
}
#flight-results .expand-button:hover { background: var(--skr-blue-soft) !important; }
#flight-results .expand-button i { font-size: 11px; margin-right: 6px; }
/* The labels are flex boxes (flightDataVal inline CSS): centre them. The old ' ▼' / ' ▲' from
   international.blade.php's .expand-button:after doubled the chevron icon, so it is switched off. */
#flight-results .expand-button .show-text,
#flight-results .expand-button .hide-text { justify-content: center; align-items: center; }
#flight-results .expand-button:after,
#flight-results .expand-button.active:after { content: none !important; display: none !important; }

/* ================================================================ Mobile card */
@media (max-width: 991px) {
    #flight-results li.flight-card { margin-bottom: 10px !important; }
    #flight-results .mc-card { padding: 14px 14px 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; border-radius: 12px; }
    #flight-results .mc-discount-strip { margin: -14px -14px 10px; padding: 5px 14px; background: #fef3c7; color: #92400e; font-size: 11px; font-weight: 700; border-radius: 12px 12px 0 0; }
    #flight-results .mc-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 0 0 10px !important; padding: 0 !important; }
    #flight-results .mc-airline { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
    #flight-results .mc-airline-logo { width: 32px !important; height: 32px !important; flex: 0 0 32px; border: 0 !important; border-radius: 0 !important; display: flex; align-items: center; justify-content: center; overflow: hidden; background: transparent !important; }   /* no frame (owner 2026-10-22) */
    #flight-results .mc-airline-logo img { width: 30px !important; height: 30px !important; object-fit: contain; }
    #flight-results .mc-airline-name { font-size: 13px !important; font-weight: 700 !important; color: var(--skr-text) !important; line-height: 1.3; }
    #flight-results .mc-airline-code, #flight-results .mc-airline-meta { font-size: 11px !important; color: var(--skr-muted) !important; line-height: 1.4; }
    #flight-results .mc-price-book { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; }
    #flight-results .mc-slash-price { font-size: 11px; color: var(--skr-soft); text-decoration: line-through; }
    #flight-results .mc-price { font-size: 21px !important; font-weight: 800 !important; color: #0b1220 !important; line-height: 1.05; letter-spacing: -.4px; }
    #flight-results .sk-viewer-mc { font-size: 10px !important; padding: 1px 6px !important; }
    #flight-results .mc-book-btn { height: 34px; padding: 0 16px !important; background: var(--skr-blue) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 700 !important; box-shadow: none !important; }

    #flight-results .mc-leg { padding: 0 !important; margin: 0 0 10px !important; }
    #flight-results .mc-leg-divider { height: 0; border-top: 1px dashed var(--skr-line) !important; margin: 0 0 10px !important; background: none !important; }
    #flight-results .mc-leg-label { display: inline-block; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .6px; text-transform: uppercase; color: var(--skr-text) !important; background: #f1f5f9; padding: 2px 8px; border-radius: 4px; margin-bottom: 6px !important; }
    #flight-results .mc-rt-airline { font-size: 11px; color: var(--skr-muted); margin-bottom: 6px; }
    #flight-results .mc-route { display: flex; align-items: center; gap: 10px; }
    #flight-results .mc-route-point { flex: 0 0 auto; min-width: 58px; }
    #flight-results .mc-route-point:last-child { text-align: right; }
    #flight-results .mc-route-time { font-size: 19px !important; font-weight: 700 !important; color: var(--skr-text) !important; line-height: 1.1; white-space: nowrap; }
    #flight-results .mc-route-code { font-size: 12px !important; font-weight: 600 !important; color: var(--skr-muted) !important; letter-spacing: .3px; }
    #flight-results .mc-route-mid { flex: 1; text-align: center; min-width: 0; }
    #flight-results .mc-route-duration { font-size: 11px !important; font-weight: 600 !important; color: var(--skr-text) !important; }
    #flight-results .mc-stops-label { font-size: 10px !important; font-weight: 600 !important; color: var(--skr-amber) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #flight-results .mc-nonstop { font-size: 10px !important; font-weight: 600 !important; color: var(--skr-green) !important; }

    #flight-results .mc-bottom-info { display: flex !important; align-items: center; gap: 8px; margin: 0 -14px !important; padding: 8px 14px !important; background: var(--skr-bg) !important; border-top: 1px solid var(--skr-line) !important; font-size: 11px !important; color: var(--skr-muted) !important; }
    #flight-results .mc-flight-details { margin-left: auto; color: var(--skr-blue) !important; font-weight: 700 !important; font-size: 12px !important; }
    #flight-results .mc-info-sep { color: #cbd5e1; }
    #flight-results .mc-info-sep:last-of-type { display: none; }
    #flight-results .sk-mobile-bar { display: flex !important; gap: 6px; margin: 0 -14px !important; padding: 8px 14px 10px !important; border-top: 1px solid var(--skr-line); background: #fff; overflow-x: auto; scrollbar-width: none; border-radius: 0 0 12px 12px; }
    #flight-results .sk-mobile-bar::-webkit-scrollbar { display: none; }
    #flight-results .sk-mobile-btn { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px !important; border: 1px solid var(--skr-line) !important; border-radius: 999px !important; font-size: 11px !important; color: var(--skr-muted) !important; background: #fff !important; white-space: nowrap; }
}

/* ================================================================ Mobile fixes: tiles spacing, full-screen filter sheet */
@media (max-width: 991px) {
    .modern-sort-tabs { margin-top: 10px !important; }
    /* three lines per tile (label, value, sub-line): size to content, no fixed height clipping the third line (owner 2026-10-22) */
    .modern-sort-tabs > ul.nav-tabs > li > a { padding: 8px 10px !important; height: auto !important; min-height: 0 !important; overflow: visible !important; align-items: flex-start !important; }
    .modern-sort-tabs .tbcps { align-items: flex-start !important; }
    .modern-sort-tabs .textcps { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
    .modern-sort-tabs .textcps h4.filter-btn-hd { font-size: 10px !important; line-height: 1.2 !important; margin: 0 !important; }
    .modern-sort-tabs .textcps span.filter-btn-hd { font-size: 14px !important; line-height: 1.2 !important; letter-spacing: -.2px; overflow: hidden; text-overflow: ellipsis; }
    .modern-sort-tabs .sk-tile-sub { font-size: 11px !important; line-height: 1.2 !important; margin-top: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .modern-sort-tabs .mc-filter-btn { padding: 4px 10px; font-size: 11px; }
    #flight-results .mc-airline-name .skc-badge-cheapest { display: table; margin: 3px 0 2px; }

    /* Filter sheet: full screen above the route bar, with its own header and a full-width Apply bar */
    #mobile-filter-modal { top: 0 !important; height: 100% !important; z-index: 10000001 !important; display: flex; flex-direction: column; background: #f5f7fa !important; }
    #mobile-filter-modal .mobile-filter-header { display: flex !important; align-items: center; justify-content: space-between; flex: 0 0 auto; min-height: 56px; padding: 10px 16px !important; }
    #mobile-filter-modal .mobile-filter-header h3 { margin: 0 !important; font-size: 17px !important; font-weight: 700 !important; }
    #mobile-filter-modal .mobile-filter-close { position: relative; width: 36px !important; height: 36px !important; border: 0 !important; flex: 0 0 36px; }
    #mobile-filter-modal .mobile-filter-close::before,
    #mobile-filter-modal .mobile-filter-close::after { content: ''; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; background: #fff; border-radius: 1px; }
    #mobile-filter-modal .mobile-filter-close::before { transform: translate(-50%, -50%) rotate(45deg); }
    #mobile-filter-modal .mobile-filter-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
    #mobile-filter-modal .mobile-filter-content { flex: 1 1 auto; overflow-y: auto; padding: 12px 16px !important; }
    #mobile-filter-modal .mobile-filter-section-header h4 { display: flex; align-items: center; gap: 8px; margin: 0 !important; font-size: 15px !important; font-weight: 700 !important; }
    #mobile-filter-modal .mobile-filter-section-header h4::before { display: none !important; }
    #mobile-filter-modal .mobile-filter-section-icon { width: 18px; height: 18px; color: var(--skr-muted); }
    #mobile-filter-modal .mobile-filter-apply { position: static !important; flex: 0 0 auto; display: flex !important; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) !important; background: #fff !important; border-top: 1px solid var(--skr-line) !important; box-shadow: none !important; width: 100% !important; }
    #mobile-filter-modal .mobile-apply-btn { flex: 1; width: 100% !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; margin: 0 !important; }
    #mobile-filter-modal .mobile-apply-btn span { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: rgba(15, 23, 42, .12) !important; color: var(--skr-text) !important; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
}
@media (max-width: 991px) {
    .mc-flight-info-bar .mc-fib-info { min-width: 0; }
    .mc-flight-info-bar .mc-fib-route,
    .mc-flight-info-bar .mc-fib-meta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* ================================================================ Fare rules (admin HTML from Admin › Fare Rules)
   The admin HTML ships its own unscoped <style>; everything here is prefixed with .sk-fare-rules so it wins.
   Desktop: cards in a 2-column grid; mobile: one column. */
.sk-fare-rules { padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; font-size: 13px; color: var(--skr-text); }
.sk-fare-rules .policy-container { max-width: none; margin: 0; background: none; border-radius: 0; box-shadow: none; overflow: visible; }
.sk-fare-rules .policy-header { background: none; color: var(--skr-text); padding: 0 0 6px; text-align: left; border-bottom: 1px solid var(--skr-line); }
.sk-fare-rules .policy-header h1 { font-size: 16px; font-weight: 700; margin: 0 0 2px; color: var(--skr-text); }
.sk-fare-rules .policy-header p { font-size: 12px; margin: 0; color: var(--skr-muted); opacity: 1; }
.sk-fare-rules .policy-section { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; margin: 14px 0 0; padding: 0; }
.sk-fare-rules .policy-section > :not(.policy-card) { grid-column: 1 / -1; }
.sk-fare-rules .section-header { background: none; color: var(--skr-text); padding: 0; margin: 0; border-radius: 0; box-shadow: none; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.sk-fare-rules .section-header-icon { font-size: 14px; margin: 0; }
.sk-fare-rules .policy-card { background: #fff; border: 1px solid var(--skr-line); border-left: 1px solid var(--skr-line); border-radius: 10px; padding: 10px 12px; margin: 0; box-shadow: none; }
.sk-fare-rules .policy-card-title { font-size: 13px; font-weight: 700; color: var(--skr-text); margin: 0 0 2px; }
.sk-fare-rules .policy-card-note,
.sk-fare-rules .policy-card p,
.sk-fare-rules .policy-card li { font-size: 11px; line-height: 1.45; color: var(--skr-muted); margin: 0 0 4px; }
.sk-fare-rules .policy-card ul { padding-left: 14px; margin: 0 0 6px; }
.sk-fare-rules .policy-table { width: 100%; border-collapse: collapse; margin: 6px 0 0; font-size: 12px; box-shadow: none; border: 0; border-radius: 0; }
.sk-fare-rules .policy-table th { background: var(--skr-bg); color: var(--skr-muted); font-size: 10px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; padding: 5px 8px; border: 0; border-bottom: 1px solid var(--skr-line); text-align: left; }
.sk-fare-rules .policy-table td { padding: 6px 8px; border: 0; border-bottom: 1px solid #f1f5f9; color: var(--skr-text); background: none; }
.sk-fare-rules .policy-table tr:last-child td { border-bottom: 0; }
.sk-fare-rules .policy-table th:last-child,
.sk-fare-rules .policy-table td:last-child { text-align: right; }
.sk-fare-rules .fee-amount { font-weight: 700; color: var(--skr-text); }
.sk-fare-rules .no-refund-card { grid-column: 1 / -1; background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; border-radius: 8px; padding: 8px 12px; margin: 0; font-size: 13px; font-weight: 700; text-align: left; box-shadow: none; }
.sk-fare-rules .no-refund-card * { font-size: 13px !important; margin: 0 !important; color: #b91c1c !important; text-align: left !important; }
.sk-fare-rules .warning-card { background: #fffbeb; border: 1px solid #fde68a; border-left: 1px solid #fde68a; border-radius: 10px; padding: 10px 12px; margin: 14px 0 0; box-shadow: none; }
.sk-fare-rules .warning-card-title { font-size: 13px; font-weight: 700; color: #92400e; margin: 0 0 6px; }
.sk-fare-rules .policy-list { margin: 0; padding-left: 16px; columns: 2; column-gap: 24px; }
.sk-fare-rules .policy-list li { font-size: 12px; line-height: 1.45; color: #78350f; margin: 0 0 4px; break-inside: avoid; padding: 0; }
.sk-fare-rules .policy-list li::before { display: none; }
@media (max-width: 991px) {
    .sk-fare-rules .policy-section { grid-template-columns: 1fr; }
    .sk-fare-rules .policy-list { columns: 1; }
}
.sk-fare-rules .policy-table th,
.sk-fare-rules .policy-table td { font-size: 12px !important; line-height: 1.35 !important; }
.sk-fare-rules .policy-table th { font-size: 10px !important; }
.sk-fare-rules .policy-table td:last-child { white-space: nowrap; }
.sk-fare-rules .policy-card ul,
.sk-fare-rules .policy-card ol { display: block !important; columns: 1 !important; padding-left: 14px !important; margin: 4px 0 6px !important; }
.sk-fare-rules .policy-card ul li,
.sk-fare-rules .policy-card ol li { display: list-item !important; width: auto !important; float: none !important; color: var(--skr-muted) !important; font-size: 11px !important; }
.sk-fare-rules .policy-table { display: table !important; table-layout: auto; border: 0 !important; }
.sk-fare-rules .policy-table thead, .sk-fare-rules .policy-table tbody { display: table-row-group !important; }
.sk-fare-rules .policy-table thead { display: table-header-group !important; }

/* Desktop: the filter stays in view while scrolling the results (2026-10-09). It was already sticky, but #full-container
   (layout) has overflow: hidden and body overflow: auto, both of which stop sticky; clip still hides sideways overflow. */
@media (min-width: 992px) {
    body.page-search #full-container { overflow: hidden; overflow: clip; }
    html body.page-search { overflow: visible !important; }   /* html + body both overflow:auto made body a scroll box that never scrolls → no sticky */
    body.page-search .filterbx { position: sticky !important; top: 80px !important; align-self: flex-start;
        max-height: calc(100vh - 96px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
}

/* ================================================================ Result cards v2 (2026-10-20, owner)
   Same look as the "Lowest price" strip's white card (partials/sk-top-fare), compact. Corner tags: partials/sk-card-tags. */
#flight-results .sk-ctags { display: flex; flex-wrap: wrap; align-items: flex-start; }
#flight-results .sk-ctag { display: inline-flex; align-items: center; font-size: 12px; font-weight: 600; line-height: 1.2; color: #0f172a; background: #e8f0fe; padding: 5px 12px; }
#flight-results .sk-ctag:first-child { border-top-left-radius: 12px; }
#flight-results .sk-ctag:last-child { border-bottom-right-radius: 10px; }
#flight-results .sk-ctag.is-cheap { background: #dbeafe; color: #1d4ed8; }
#flight-results .sk-ctag.is-direct { background: #dcfce7; color: #166534; }
#flight-results .sk-ctag.is-deal { background: #fef3c7; color: #92400e; }
/* positioning badges (2026-10-22): save = slash hero, low30 = lowest known fare in 30 days, fee = quiet row */
#flight-results .sk-ctag.is-save { background: #fee2e2; color: #b91c1c; }
#flight-results .sk-ctag.is-low30 { background: #ede9fe; color: #5b21b6; }
#flight-results .sk-ctag.is-fee { background: #ecfdf5; color: #047857; }
#flight-results .sk-same-price { font-size: 11px; font-weight: 600; color: #047857; line-height: 1.2; margin: 2px 0 0; white-space: nowrap; }
#flight-results .sk-same-price::before { content: "✓ "; }
#flight-results a.sk-same-price { display: block; text-decoration: underline dotted; color: #047857; }
/* comparison strip above the first result (owner 2026-10-22): light blue band, shield, WhatsApp click-to-chat */
#flight-results .sk-cmp { display: flex; align-items: flex-start; gap: 12px; background: #EAF2FF; border: 1px solid #C7DBFF; border-radius: 12px; padding: 12px 16px; margin: 0 0 12px; color: #0f172a; }
#flight-results .sk-cmp-ico { flex: none; color: #1d4ed8; margin-top: 1px; }
#flight-results .sk-cmp-text { min-width: 0; }
#flight-results .sk-cmp-h { font-size: 14px; font-weight: 700; line-height: 1.3; }
#flight-results .sk-cmp-l { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; color: #334155; margin-top: 3px; line-height: 1.4; }
#flight-results .sk-cmp-wa { color: #1d4ed8 !important; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
#flight-results .sk-cmp-wa:hover { text-decoration: underline !important; }
#flight-results .sk-cmp-wa-m { display: none; }
@media (max-width: 767px) {
    #flight-results .sk-cmp { padding: 12px 14px; margin: 0 0 10px; }
    #flight-results .sk-cmp-l { flex-direction: column; gap: 2px; }
    #flight-results .sk-cmp-wa-d { display: none; } #flight-results .sk-cmp-wa-m { display: inline; white-space: normal; }
}
/* was price + Save badge beside it, right above the current price (owner feedback 2026-10-22) */
#flight-results .sk-was-row, .sk-topfare .sk-was-row { display: flex !important; justify-content: flex-end; align-items: center; gap: 8px !important; margin: 0 0 6px !important; }
#flight-results .sk-was-row .original-price, #flight-results .sk-was-row .mc-slash-price { color: #64748B !important; font-size: 15px !important; font-weight: 400 !important; text-decoration: line-through; text-decoration-thickness: 1.5px; line-height: 1.2; margin: 0 !important; }
#flight-results .sk-was-row .original-price .currency, #flight-results .sk-was-row .original-price .amount { font-weight: 400 !important; font-size: 15px !important; color: #64748B !important; }
@media (max-width: 420px) { #flight-results .mc-price-book .sk-was-row { flex-wrap: wrap; justify-content: flex-end; row-gap: 4px; max-width: 100%; } #flight-results .mc-price-book { max-width: 58%; } #flight-results .mc-header .mc-airline { min-width: 0; flex: 1 1 40%; } }
#flight-results .sk-save, .sk-topfare .sk-save { display: inline-flex !important; align-items: center; font-size: 14px !important; font-weight: 700 !important; line-height: 1.2; color: #B91C1C !important; background: #FEE2E2 !important; padding: 4px 8px !important; border-radius: 6px !important; white-space: nowrap; text-decoration: none !important; }
@keyframes skSavePulse { 0%, 100% { background-color: #FEE2E2; } 50% { background-color: #FECACA; } }
#flight-results .sk-save.is-pulse, .sk-topfare .sk-save.is-pulse { animation: skSavePulse 1.4s ease-in-out 2; }
@media (prefers-reduced-motion: reduce) { #flight-results .sk-save.is-pulse, .sk-topfare .sk-save.is-pulse { animation: none; } }
/* "total" beside the main price; airline column keeps a gap before the route (owner feedback 2026-10-22) */
#flight-results .sk-total { font-size: 12px; font-weight: 600; color: #64748B; letter-spacing: 0; }
#flight-results .skn-card .skn-air { padding-right: 14px; min-width: 0; }
#flight-results .skn-card .skn-name { overflow-wrap: anywhere; }
/* one factual urgency line above the button (owner feedback 2026-10-22) */
#flight-results .sk-urgency, #flight-results .mc-urgency { font-size: 12px; color: #64748B; line-height: 1.3; }
#flight-results .sk-urgency.is-low, #flight-results .mc-urgency.is-low { color: #B45309; font-weight: 700; }
#flight-results .skn-price .sk-urgency { text-align: right; margin-top: 4px; }
#flight-results .mc-urgency { margin: 6px 0 0; }
#flight-results .mc-action { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 6px 0 10px; }
#flight-results .mc-action-pss { min-width: 0; }
#flight-results .mc-action .mc-book-btn { flex: 0 0 auto; }
#flight-results .skn-price .sk-same-price { text-align: right; }
#flight-results .mc-price-book .sk-same-price { text-align: right; }

@media (min-width: 992px) {
    #flight-results .flight-card-container.skn-card { display: block !important; padding: 0 !important; gap: 0; }
    #flight-results .skn-body { display: grid; grid-template-columns: minmax(196px, 1.15fr) minmax(240px, 2.4fr) auto auto; gap: 12px 16px; align-items: center; padding: 12px 20px 14px; }
    #flight-results .skn-airrow { display: flex; gap: 10px; align-items: center; min-width: 0; }
    #flight-results .skn-logo { width: 40px; height: 40px; flex: none; border-radius: 0; border: 0; background: transparent; display: grid; place-items: center; overflow: hidden; }   /* no frame (owner 2026-10-22) */
    #flight-results .skn-logo img { width: 100%; height: 100%; object-fit: contain; }
    #flight-results .skn-airtext { min-width: 0; }
    #flight-results .skn-name { font-size: 15px; font-weight: 600; color: var(--skr-text); line-height: 1.2; }
    #flight-results .skn-fno, #flight-results .skn-meta { font-size: 12px; color: var(--skr-muted); line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #flight-results .skn-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #flight-results .skn-airfoot { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin-top: 8px; }
    #flight-results .skn-airfoot .view-details-btn { display: inline-flex !important; align-items: center; gap: 4px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important;
        font-size: 13px !important; font-weight: 600 !important; color: var(--skr-blue) !important; cursor: pointer; white-space: nowrap; text-transform: none !important; }
    #flight-results .skn-airfoot .view-details-btn:hover { text-decoration: underline; }
    #flight-results .skn-airfoot .sk-seats-left { margin: 0 !important; }

    #flight-results .skn-legs { display: grid; gap: 10px; min-width: 0; }
    #flight-results .skn-leg { display: grid; grid-template-columns: auto minmax(60px, 1fr) auto; gap: 12px; align-items: center; }
    #flight-results .skn-leg + .skn-leg { border-top: 1px dashed var(--skr-line); padding-top: 10px; }
    #flight-results .skn-lab { grid-column: 1 / -1; margin-bottom: -6px; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--skr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #flight-results .skn-lab-air { font-weight: 600; letter-spacing: .02em; text-transform: none; }
    #flight-results .skn-time { font-size: 22px; font-weight: 600; color: var(--skr-text); line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
    #flight-results .skn-code { font-size: 11px; color: var(--skr-muted); white-space: nowrap; margin-top: 2px; }
    #flight-results .skn-code b { color: var(--skr-text); font-weight: 700; }
    #flight-results .skn-end { text-align: right; }
    #flight-results .skn-mid { text-align: center; min-width: 0; }
    #flight-results .skn-dur { font-size: 12px; color: var(--skr-muted); }
    #flight-results .skn-line { position: relative; height: 1.5px; background: #94a3b8; margin: 6px 0; }
    #flight-results .skn-line i { position: absolute; top: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: #fff; border: 2px solid #f59e0b; }
    #flight-results .skn-stops { font-size: 12px; color: var(--skr-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    #flight-results .skn-stops.is-direct { color: var(--skr-green); font-weight: 600; }

    #flight-results .skn-price { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; text-align: right; }
    #flight-results .skn-price .original-price { font-size: 12px; color: var(--skr-soft); text-decoration: line-through; line-height: 1; }
    #flight-results .skn-price .final-price { font-size: 26px !important; font-weight: 700 !important; color: #0b1220 !important; line-height: 1 !important; letter-spacing: -.5px; white-space: nowrap; }
    #flight-results .skn-price .final-price .currency { font-size: .8em; margin-right: 1px; }
    #flight-results .skn-card .book-now-btn { min-width: 112px; width: auto !important; height: auto !important; margin: 0 !important; padding: 12px 20px !important; border: 0 !important; border-radius: 10px !important;
        background: var(--skr-blue) !important; color: #fff !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.2 !important; text-transform: none !important; letter-spacing: 0 !important;
        box-shadow: 0 6px 14px rgba(37, 99, 235, .22) !important; cursor: pointer; }
    #flight-results .skn-card .book-now-btn:hover { background: #1d4ed8 !important; }
    #flight-results li.flight-card > .baggage-info { padding: 6px 20px !important; }
}

/* phones: same look on the existing phone card (mc-card), compact */
@media (max-width: 991px) {
    #flight-results .mc-card > .sk-ctags { margin: -14px -14px 10px; }
    #flight-results .sk-ctag { font-size: 11px; padding: 4px 10px; }
    #flight-results .mc-card { padding-top: 14px !important; }
    #flight-results .mc-airline-logo { width: 36px !important; height: 36px !important; flex-basis: 36px; border-radius: 0 !important; }
    #flight-results .mc-airline-logo img { width: 34px !important; height: 34px !important; }
    #flight-results .mc-airline-name { font-size: 14px !important; }
    #flight-results .mc-price { font-size: 22px !important; }
    #flight-results .mc-route-time { font-size: 20px !important; }
    #flight-results .mc-stops-label { color: var(--skr-muted) !important; font-weight: 500 !important; }
}

/* Result cards v2: slightly bigger text, easier to read (owner, 2026-10-20) */
#flight-results .sk-ctag { font-size: 12.5px; }
@media (min-width: 992px) {
    #flight-results .skn-body { padding: 14px 20px 16px; }
    #flight-results .skn-logo { width: 44px; height: 44px; }
    #flight-results .skn-name { font-size: 16px; }
    #flight-results .skn-fno, #flight-results .skn-meta { font-size: 13px; }
    #flight-results .skn-airfoot .view-details-btn { font-size: 14px !important; }
    #flight-results .skn-time { font-size: 24px; }
    #flight-results .skn-code { font-size: 13px; margin-top: 3px; }
    #flight-results .skn-code b { font-size: 14px; }
    #flight-results .skn-dur, #flight-results .skn-stops { font-size: 13px; }
    #flight-results .skn-lab { font-size: 11px; }
    #flight-results .skn-price .final-price { font-size: 28px !important; }
    #flight-results .skn-price .original-price { font-size: 13px; }
    #flight-results .skn-card .book-now-btn { font-size: 16px !important; padding: 13px 22px !important; }
    #flight-results li.flight-card > .baggage-info { font-size: 13px !important; }
}
@media (max-width: 991px) {
    #flight-results .mc-airline-name { font-size: 15px !important; }
    #flight-results .mc-airline-code, #flight-results .mc-airline-meta { font-size: 12px !important; }
    #flight-results .mc-price { font-size: 23px !important; }
    #flight-results .mc-book-btn { height: 36px; font-size: 14px !important; }
    #flight-results .mc-route-time { font-size: 21px !important; }
    #flight-results .mc-route-code { font-size: 13.5px !important; }
    #flight-results .mc-route-duration { font-size: 12px !important; }
    #flight-results .mc-stops-label, #flight-results .mc-nonstop { font-size: 11.5px !important; }
    #flight-results .mc-leg-label { font-size: 11px !important; }
    #flight-results .mc-bottom-info { font-size: 12px !important; }
    #flight-results .mc-flight-details { font-size: 13px !important; }
}
/* narrower desktops and return trips: Book Now under the price so the bigger text fits (owner, 2026-10-20) */
@media (min-width: 992px) and (max-width: 1399px) {
    #flight-results .skn-body { grid-template-columns: minmax(170px, 1fr) minmax(220px, 2.6fr) auto; grid-template-areas: "air legs price" "air legs book"; row-gap: 8px; }
    #flight-results .skn-air { grid-area: air; } #flight-results .skn-legs { grid-area: legs; }
    #flight-results .skn-price { grid-area: price; align-self: end; }
    #flight-results .skn-card .book-now-btn { grid-area: book; align-self: start; justify-self: end; padding: 10px 20px !important; font-size: 15px !important; }
}
@media (min-width: 1400px) {
    #flight-results .skn-air { grid-area: auto; }
}
/* small laptops (992–1100 px): the results column could not shrink below its content, so cards ran past the right edge
   beside the filter (found 2026-10-20) */
@media (min-width: 992px) { .list_fliter > .listingbx { min-width: 0; } }
/* 992–1199 px: airline across the top, route + price/Book below, so return trips fit the narrower column */
@media (min-width: 992px) and (max-width: 1199px) {
    #flight-results .skn-body { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "air air" "legs price" "legs book"; }
    #flight-results .skn-air { flex-direction: row; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    #flight-results .skn-airfoot { margin-top: 0; }
}
/* Flight Details (and seats left, to its left) directly under Book Now; no date/class line under the airline (owner, 2026-10-20) */
@media (min-width: 992px) {
    #flight-results .skn-air { grid-area: air; } #flight-results .skn-legs { grid-area: legs; } #flight-results .skn-price { grid-area: price; }
    #flight-results .skn-card .book-now-btn { grid-area: book; }
    #flight-results .skn-airfoot { grid-area: foot; justify-self: end; align-self: start; margin-top: -2px; display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
}
@media (min-width: 1400px) {
    #flight-results .skn-body { grid-template-areas: "air legs price book" "air legs foot foot"; row-gap: 6px; }
    #flight-results .skn-price, #flight-results .skn-card .book-now-btn { align-self: end; }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    #flight-results .skn-body { grid-template-areas: "air legs price" "air legs book" "air legs foot"; row-gap: 6px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #flight-results .skn-body { grid-template-areas: "air air" "legs price" "legs book" "legs foot"; row-gap: 6px; }
    #flight-results .skn-air { display: block; }
}
/* small gap between Book Now and Flight Details (owner, 2026-10-20) */
@media (min-width: 992px) { #flight-results .skn-airfoot { margin-top: 4px; } }

/* ================================================================ Results, simpler (owner review 2026-10-20) */
#flight-results li.flight-card.sk-dup-top { display: none !important; }   /* shown in the "Lowest price" card */
#flight-results .sk-res-flex { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: #fff; border: 1px solid #e2e8f0; font-size: 13.5px; color: #475569; }
#flight-results .sk-res-flex b { color: #10234B; }
#flight-results .sk-res-flex a { color: #2563EB; font-weight: 600; white-space: nowrap; }
/* what the price covers; FlexPay as plain text */
#flight-results .sk-price-note { font-size: 11.5px; color: #64748B; line-height: 1.3; white-space: nowrap; }
#flight-results .sk-flex-text { font-size: 12px; font-weight: 600; color: #0f766e; line-height: 1.3; }
/* one action: orange "Select flight" */
#flight-results .skn-card .book-now-btn, #flight-results .mc-book-btn, #flight-results .sk-topfare button.sk-topfare-book {
    background: #FF9500 !important; color: #10234B !important; box-shadow: 0 4px 12px rgba(255, 149, 0, .28) !important; font-weight: 800 !important; }
#flight-results .skn-card .book-now-btn:hover, #flight-results .mc-book-btn:hover, #flight-results .sk-topfare button.sk-topfare-book:hover { background: #F08700 !important; color: #10234B !important; }
/* arrival airport that isn't the searched one (e.g. SAW on an Istanbul IST search) */
#flight-results .skn-code.is-alt { color: #b45309; }
#flight-results .skn-code.is-alt b { color: #b45309; }
/* sort tabs: second line (duration or price of that flight) */
.modern-sort-tabs .sk-tile-sub { display: block; font-size: 11.5px; font-weight: 500; color: #64748B; line-height: 1.2; margin-top: 1px; }
.modern-sort-tabs .sk-tile-sub:empty { display: none; }
/* one price alert for the search */
.modern-sort-tabs .sk-alert-route { display: inline-flex; margin-left: auto; align-self: center; }
.modern-sort-tabs .sk-route-alert { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid #bfdbfe; background: #fff; color: #2563EB;
    font-weight: 700; font-size: 13px; cursor: pointer; white-space: nowrap; }
.modern-sort-tabs .sk-route-alert:hover { background: #eff6ff; }
@media (max-width: 991px) { .modern-sort-tabs .sk-route-alert span { display: none; } .modern-sort-tabs .sk-route-alert { padding: 8px 10px; } }
/* send to a friend inside Flight details */
.fd-share { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 14px 0 4px; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 12px; }
.fd-share-t { font-size: 13px; font-weight: 700; color: #14213D; }
.fd-share-b { display: flex; gap: 6px; flex-wrap: wrap; }
.fd-share-b button { padding: 6px 10px; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; font-size: 12px; color: #334155; cursor: pointer; }
.fd-share-b button:hover { border-color: #93c5fd; color: #2563EB; }
#flight-results .sk-topfare-stops, #flight-results .skn-stops { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.3; }
#flight-results .sk-topfare button.sk-topfare-book { white-space: nowrap !important; min-width: 0 !important; padding: 12px 18px !important; font-size: 15px !important; }
#flight-results .sk-topfare .sk-flex-text, #flight-results .skn-price .sk-flex-text { white-space: nowrap; }
.modern-sort-tabs .sk-route-alert { text-transform: none !important; letter-spacing: 0 !important; }
#flight-results .sk-topfare button.sk-topfare-details { white-space: nowrap !important; }
#fd-footer-book, .fd-footer-btn#fd-footer-book { background: #FF9500 !important; color: #10234B !important; font-weight: 800 !important; }
#fd-footer-book:hover { background: #F08700 !important; }
.fd-share-b button { text-transform: none !important; letter-spacing: 0 !important; }

/* compact FlexPay line under the fare (owner 2026-10-20): logo 18 px, amount 13 px blue, ⓘ with the explanation */
#flight-results .skc-flex, #flight-results .sk-topfare .skc-flex { display: inline-flex; align-items: center; gap: 6px; background: none !important; padding: 0 !important; margin: 2px 0 0 !important; cursor: default; }
#flight-results .skc-flex-logo, #flight-results .sk-topfare .skc-flex-logo { width: 62px !important; height: 18px !important; }
#flight-results .skc-flex-amt, #flight-results .sk-topfare .skc-flex-amt { font-size: 13px !important; font-weight: 700 !important; color: #2563EB !important; letter-spacing: 0; }
#flight-results .skc-flex-i { position: relative; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #93c5fd; color: #2563EB; font-size: 10px; font-weight: 800;
    font-family: Georgia, serif; font-style: italic; display: inline-grid; place-items: center; cursor: help; outline: none; flex: none; }
#flight-results .skc-flex-i::after { content: attr(data-tip); position: absolute; right: -6px; bottom: calc(100% + 8px); z-index: 30; width: max-content; max-width: 240px; white-space: normal; text-align: left;
    background: #0f172a; color: #fff; font: 500 12px/1.4 system-ui, sans-serif; padding: 8px 10px; border-radius: 8px; box-shadow: 0 6px 18px rgba(15, 23, 42, .25);
    opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .15s, transform .15s; pointer-events: none; }
#flight-results .skc-flex-i:hover::after, #flight-results .skc-flex-i:focus::after { opacity: 1; visibility: visible; transform: none; }
#flight-results .skc-flex-i:focus-visible { box-shadow: 0 0 0 3px rgba(37, 99, 235, .25); }
#flight-results .skn-price, #flight-results .mc-price-book { gap: 2px !important; }
/* one note above the list */
#flight-results .sk-res-note { font-size: 13px; color: #64748B; margin: 0 0 8px; }
/* layover on its own line, kept together */
#flight-results .sk-layover { display: block; white-space: nowrap; color: #64748B; font-weight: 500; }
#flight-results .skn-stops, #flight-results .sk-topfare-stops, #flight-results .mc-stops-label { white-space: nowrap !important; }
/* highlight card on 992–1199 px: airline across the top so the wider FlexPay line fits (2026-10-20) */
@media (min-width: 992px) and (max-width: 1199px) {
    #flight-results .sk-topfare-body { grid-template-columns: minmax(0, 2.4fr) auto auto !important; grid-template-areas: "air air air" "legs price book" "legs price details" !important; }
    #flight-results .sk-topfare-air { flex-direction: row !important; align-items: center !important; gap: 12px; }
}
#flight-results .sk-topfare .skc-flex { flex-wrap: wrap; justify-content: flex-end; }
@media (min-width: 992px) and (max-width: 1199px) {
    #flight-results .sk-topfare-body { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "air air" "legs price" "legs book" "legs details" !important; row-gap: 8px !important; }
    #flight-results .sk-topfare-price { align-self: end; }
    #flight-results .sk-topfare button.sk-topfare-book { justify-self: end; align-self: start; }
    #flight-results .sk-topfare button.sk-topfare-details.is-desk { justify-self: end !important; }
}

/* ================================================================ Cards: three columns (owner 2026-10-20)
   airline | route and times | price column (230 px): fare → Pay Small Small badge → Select flight → Flight details.
   The badge stays inside the price column, so the route keeps the rest of the width. */
@media (min-width: 1200px) {
    #flight-results .skn-body { grid-template-columns: minmax(150px, .9fr) minmax(0, 1fr) 230px !important; grid-template-areas: "air legs price" "air legs book" "air legs foot" !important; column-gap: 18px !important; row-gap: 6px !important; }
    #flight-results .skn-air { grid-area: air; align-self: center; }
    #flight-results .skn-legs { grid-area: legs; align-self: center; }
    #flight-results .skn-price { grid-area: price; width: 230px; max-width: 230px; min-width: 0; align-self: end; }
    #flight-results .skn-card .book-now-btn { grid-area: book; justify-self: end; align-self: start; width: auto !important; min-width: 150px; }
    #flight-results .skn-airfoot { grid-area: foot; justify-self: end; margin-top: 0; }
}
/* narrower desktops: price and booking below the itinerary */
@media (min-width: 992px) and (max-width: 1199px) {
    #flight-results .skn-body { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "air air" "legs legs" "price book" "price foot" !important; row-gap: 8px !important; }
    #flight-results .skn-air { display: flex; flex-direction: row; align-items: center; gap: 12px; }
    #flight-results .skn-price { align-items: flex-start !important; text-align: left !important; align-self: center; }
    #flight-results .skn-card .book-now-btn { justify-self: end; align-self: end; }
    #flight-results .skn-airfoot { justify-self: end; margin-top: 0; }
}
/* badge: 56 px logo, 13 px text, never wider than its column */
#flight-results .skc-flex, #flight-results .sk-topfare .skc-flex { max-width: 100%; flex-wrap: nowrap; }
#flight-results .skc-flex-logo, #flight-results .sk-topfare .skc-flex-logo { width: 56px !important; height: 16px !important; }
#flight-results .skc-flex-amt { white-space: nowrap; }
/* Lowest price card: same three columns */
@media (min-width: 1200px) {
    #flight-results .sk-topfare-body { grid-template-columns: minmax(150px, .9fr) minmax(0, 1fr) 230px !important; grid-template-areas: "air legs price" "air legs book" "air legs details" !important; column-gap: 18px !important; row-gap: 6px !important; }
    #flight-results .sk-topfare-price { width: 230px; max-width: 230px; align-self: end; }
    #flight-results .sk-topfare button.sk-topfare-book { justify-self: end; align-self: start; min-width: 150px !important; }
    #flight-results .sk-topfare button.sk-topfare-details.is-desk { justify-self: end !important; }
    #flight-results .sk-topfare .skc-flex { justify-content: flex-end; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #flight-results .sk-topfare-body { grid-template-columns: minmax(0, 1fr) auto !important; grid-template-areas: "air air" "legs legs" "price book" "price details" !important; }
    #flight-results .sk-topfare-price { align-items: flex-start !important; text-align: left !important; align-self: center; }
    #flight-results .sk-topfare .skc-flex { justify-content: flex-start; }
}

/* banners between cards (partials/sk-results-banner, 2026-10-20): list width, compact on phones */
#flight-results .sk-rb { display: flex; align-items: center; gap: 12px 18px; margin: 4px 0 14px; padding: 14px 18px; border-radius: 14px; border: 1px solid #e2e8f0; background: #fff; }
#flight-results .sk-rb-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#flight-results .sk-rb-txt b { font-size: 15px; font-weight: 800; color: #14213D; line-height: 1.3; }
#flight-results .sk-rb-txt span { font-size: 12.5px; color: #64748B; line-height: 1.35; }
#flight-results .sk-rb-txt strong { color: #10234B; letter-spacing: .08em; }
#flight-results .sk-rb-btn, #flight-results a.sk-rb-btn, #flight-results button.sk-rb-btn { flex: none; padding: 10px 16px !important; border: 0 !important; border-radius: 999px !important; background: #2563EB !important; color: #fff !important;
    font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; white-space: nowrap; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important; }
#flight-results .sk-rb-btn:hover { background: #1d4ed8 !important; }
#flight-results .sk-rb-offer { border-color: #fde3bf; background: #fffaf3; }
#flight-results .sk-rb-offer .sk-rb-btn { background: #FF9500 !important; color: #10234B !important; }
#flight-results .sk-rb-pss { background: #10234B; border-color: #10234B; }
#flight-results .sk-rb-pss .sk-rb-txt b { color: #fff; }
#flight-results .sk-rb-pss .sk-rb-txt span { color: #fde68a; }
#flight-results .sk-rb-logo { width: 86px; height: 25px; flex: none; }
#flight-results .sk-rb-xmas { background: #7f1d1d; border-color: #7f1d1d; }
#flight-results .sk-rb-xmas .sk-rb-txt b { color: #fff; }
#flight-results .sk-rb-xmas .sk-rb-txt span { color: #fecaca; }
#flight-results .sk-rb-xmas .sk-rb-btn { background: #facc15 !important; color: #3b0a0a !important; }
@media (max-width: 575px) {
    #flight-results .sk-rb { flex-wrap: wrap; padding: 12px 14px; gap: 8px 12px; }
    #flight-results .sk-rb-txt { flex-basis: calc(100% - 100px); }
    #flight-results .sk-rb-pss .sk-rb-txt { flex-basis: calc(100% - 100px); }
    #flight-results .sk-rb-logo { width: 72px; height: 21px; }
    #flight-results .sk-rb-txt b { font-size: 14px; }
    #flight-results .sk-rb-btn, #flight-results a.sk-rb-btn, #flight-results button.sk-rb-btn { width: 100%; text-align: center; }
}

/* ================================================================ Cards: airline 190 px, route fills, 24 px before the price (owner 2026-10-20) */
@media (min-width: 1200px) {
    #flight-results .skn-body { grid-template-columns: 190px minmax(0, 1fr) 230px !important; column-gap: 24px !important; }
    #flight-results .skn-name { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.2; }
    #flight-results .skn-airtext { min-width: 0; }
    /* each route: departure | duration and stops (widest) | arrival, the same columns for every leg of a return trip */
    #flight-results .skn-leg { grid-template-columns: minmax(64px, auto) minmax(140px, 1fr) minmax(64px, auto) !important; column-gap: 14px !important; }
    #flight-results .skn-mid { min-width: 0; }
}
#flight-results .skn-code { display: flex; flex-direction: column; line-height: 1.25; }
#flight-results .skn-code b { font-size: 14px; }
#flight-results .skn-code .skn-city { font-size: 12px; color: #64748B; font-weight: 400; }
#flight-results .skn-leg-air { grid-column: 1 / -1; font-size: 12px; color: #64748B; margin: -4px 0 -2px; }
#flight-results .skn-lab-air { display: none; }
/* "+1" above the arrival time so the time doesn't move (owner 2026-10-20) */
#flight-results .skn-time, #flight-results .sk-topfare-time, #flight-results .mc-route-time { position: relative; }
#flight-results .skn-time .sk-plusday, #flight-results .sk-topfare-time .sk-plusday, #flight-results .mc-route-time .sk-plusday {
    position: absolute; top: -9px; right: -2px; margin: 0 !important; font-size: 11px !important; line-height: 1; }
#flight-results .skn-time .sk-plusday .sk-pd-word, #flight-results .sk-topfare-time .sk-plusday .sk-pd-word, #flight-results .mc-route-time .sk-plusday .sk-pd-word { display: none; }
#flight-results .mc-route-point:first-child .mc-route-time .sk-plusday { right: auto; left: 100%; }
/* Lowest price card: same route layout as the cards (owner 2026-10-20): departure | duration and stops | arrival, code + city */
#flight-results .sk-topfare-leg { grid-template-columns: minmax(64px, auto) minmax(140px, 1fr) minmax(64px, auto) !important; column-gap: 14px !important; }
#flight-results .sk-topfare-code { display: flex; flex-direction: column; line-height: 1.25; margin-top: 2px; }
#flight-results .sk-topfare-code b { font-size: 14px; color: #0f172a; }
#flight-results .sk-topfare-code span { font-size: 12px; color: #64748B; font-weight: 400; }
#flight-results .sk-topfare-end .sk-topfare-code { align-items: flex-end; }
#flight-results .sk-topfare-time { font-weight: 700; }
@media (min-width: 1200px) { #flight-results .sk-topfare-body { grid-template-columns: 190px minmax(0, 1fr) 230px !important; column-gap: 24px !important; } }

/* Refundable / Non-refundable card tags (2026-10-22): filled in by the page from /flight/refund-tags; empty wrapper stays hidden */
#flight-results .sk-ctags.is-empty { display: none; }
#flight-results .sk-ctag.is-refund { background: #ecfdf5; color: #047857; }
#flight-results .sk-ctag.is-refund.is-noref { background: #f1f5f9; color: #475569; }
