    /* ============================================================
       Two-column layout: sidebar + results
       ============================================================ */
    .fl-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
    @media(max-width:991.98px){
      .fl-layout{grid-template-columns:1fr;gap:16px}
    }

    /* ---- Sidebar ---- */
    .fl-sidebar{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:thin}
    .fl-sidebar::-webkit-scrollbar{width:4px}
    .fl-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}

    .fl-sidebar__card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}

    .fl-sidebar__title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px;display:flex;align-items:center;gap:8px}
    .fl-sidebar__title svg{width:18px;height:18px;color:#2563eb;flex-shrink:0}

    .fl-sidebar__section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}
    .fl-sidebar__section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}

    .fl-sidebar__label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;display:block}

    .fl-sidebar input[type="text"],
    .fl-sidebar input[type="date"],
    .fl-sidebar input[type="number"],
    .fl-sidebar select{
      width:100%;height:38px;padding:6px 10px;
      font-size:13px;font-weight:500;color:#0f172a;
      background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;
      transition:border-color .15s,box-shadow .15s;
      -webkit-appearance:none;appearance:none;
    }
    .fl-sidebar input:focus,
    .fl-sidebar select:focus{
      outline:none;border-color:#2563eb;
      box-shadow:0 0 0 3px rgba(37,99,235,.1);
      background:#fff;
    }
    .fl-sidebar select{
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-position:right 10px center;
      padding-right:28px;
    }

    .fl-sidebar__row{display:grid;grid-template-columns:1fr 1fr;gap:8px}

    /* trip type pills */
    .fl-trip-pills{display:flex;gap:0;background:#f1f5f9;border-radius:8px;padding:2px;margin-bottom:12px}
    .fl-trip-pill{flex:1;text-align:center;padding:6px 8px;font-size:12px;font-weight:600;color:#64748b;border-radius:6px;cursor:pointer;transition:all .15s;border:none;background:transparent}
    .fl-trip-pill:hover{color:#0f172a}
    .fl-trip-pill--active{background:#fff;color:#0f172a;box-shadow:0 1px 3px rgba(0,0,0,.08)}

    /* checkbox / radio items */
    .fl-check{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:13px;font-weight:500;color:#334155}
    .fl-check input{accent-color:#2563eb;width:15px;height:15px;margin:0;cursor:pointer}
    .fl-check:hover{color:#0f172a}

    /* price range inputs */
    .fl-price-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .fl-price-row input{text-align:center}

    /* sort pills */

    /* search button */
    .fl-search-btn{width:100%;padding:10px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);border:none;border-radius:10px;cursor:pointer;transition:opacity .15s;margin-top:4px}
    .fl-search-btn:hover{opacity:.9}

    /* airline checkboxes scrollable */
    .fl-airlines-list{max-height:160px;overflow-y:auto;scrollbar-width:thin}
    .fl-airlines-list::-webkit-scrollbar{width:3px}
    .fl-airlines-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}

    /* ---- Main content ---- */
    .fl-main__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}
    .fl-main__count{font-size:14px;font-weight:600;color:#0f172a}
    .fl-main__count span{color:#64748b;font-weight:400}

    /* sort dropdown */
    .fl-sort-wrap{display:flex;align-items:center;gap:8px}
    .fl-sort-label{font-size:12px;font-weight:500;color:#94a3b8;white-space:nowrap}
    .fl-sort-select{height:34px;padding:4px 28px 4px 10px;font-size:13px;font-weight:500;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .15s}
    .fl-sort-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}

    .fl-main__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
    .fl-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;color:#475569;background:#f1f5f9;border-radius:6px;text-decoration:none;transition:background .15s}
    .fl-chip__x{width:14px;height:14px;color:#94a3b8;cursor:pointer;transition:color .15s}
    .fl-chip:hover{background:#e2e8f0;text-decoration:none;color:#0f172a}
    .fl-chip:hover .fl-chip__x{color:#ef4444}
    .fl-clear{font-size:12px;font-weight:500;color:#64748b;text-decoration:none}
    .fl-clear:hover{color:#ef4444;text-decoration:none}

    /* mobile sidebar toggle */
    .fl-mobile-toggle{display:none;width:100%;padding:10px 16px;font-size:13px;font-weight:600;color:#fff;background:var(--button-gradient, linear-gradient(145deg, #2E74B8, #F1C9AE));border:none;border-radius:10px;cursor:pointer;margin-bottom:12px;text-align:center;justify-content:center}
    .fl-mobile-toggle svg{width:16px;height:16px;margin-right:6px;vertical-align:-3px}
    @media(max-width:991.98px){
      .fl-mobile-toggle{display:flex;align-items:center;justify-content:center}
      .fl-sidebar{display:none;position:static;max-height:none}
      .fl-sidebar.is-open{display:block}
    }

    /* Flight card overrides — inline to bypass browser cache */
    .ag-card.ag-card--flight{background:#fff !important;border:1px solid #e2e8f0 !important;border-radius:12px;padding:0;overflow:visible;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04) !important;position:relative}
    .ag-card.ag-card--flight:hover{box-shadow:0 4px 20px rgba(0,0,0,.08) !important}
    .ag-card.ag-card--flight>.card-body{display:grid;grid-template-columns:60px 1fr auto;gap:16px;padding:20px 24px;align-items:stretch}
    .fc-airline{display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:center}
    .fc-airline__logo{width:44px;height:44px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
    .fc-airline__logo img{width:36px;height:36px;object-fit:contain}
    .fc-airline__logo-initials{font-size:14px;font-weight:700;color:#475569;letter-spacing:.5px;line-height:1}
    .fc-airline__code{font-size:11px;font-weight:600;color:#64748b;text-align:center;line-height:1.1;letter-spacing:.3px}
    .fc-itinerary{display:flex;flex-direction:column;gap:12px;min-width:0;justify-content:center}
    .fc-leg+.fc-leg{padding-top:12px;border-top:1px dashed #e2e8f0}
    .fc-leg__label{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px}
    .fc-route{display:flex;align-items:center;gap:12px}
    .fc-time{font-size:20px;font-weight:700;color:#0f172a;line-height:1;white-space:nowrap;letter-spacing:-.02em}
    .fc-iata{font-size:12px;font-weight:600;color:#64748b;letter-spacing:.5px}
    .fc-endpoint{display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0}
    .fc-connector{flex:1;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;justify-items:center;gap:4px;min-width:80px}
    .fc-connector__duration{grid-row:1;align-self:end;font-size:12px;font-weight:600;color:#475569}
    .fc-connector__track{grid-row:2;width:100%;height:2px;background:#cbd5e1;border-radius:1px;position:relative}
    .fc-connector__track::before{content:"";position:absolute;top:50%;left:0;width:6px;height:6px;border-radius:50%;background:#2563eb;transform:translateY(-50%)}
    .fc-connector__track::after{content:"";position:absolute;top:50%;right:0;width:6px;height:6px;border-radius:50%;background:#4f46e5;transform:translateY(-50%)}
    .fc-connector__plane{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:#fff;display:flex;align-items:center;justify-content:center;z-index:1}
    .fc-connector__plane svg{width:14px;height:14px;fill:#2563eb;transform:rotate(90deg)}
    .fc-connector__stops{grid-row:3;align-self:start;font-size:11px;font-weight:500;color:#ef4444}
    .fc-connector__stops--direct{color:#16a34a}
    .fc-meta{font-size:12px;color:#94a3b8;margin-top:4px}
    .fc-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
    .fc-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;white-space:nowrap;line-height:1.4}
    .fc-badge--cabin,.fc-badge--bags{background:#f1f5f9;color:#475569}
    .fc-badge--refund{background:#dcfce7;color:#15803d}
    .fc-badge--direct{background:#eff6ff;color:#2563eb}
    .fc-badge--stops{background:#fef2f2;color:#dc2626}
    .fc-badge--urgency{background:#fef2f2;color:#dc2626}
    .fc-badge--source{background:#f1f5f9;color:#64748b}
    .fc-price{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;flex-shrink:0;min-width:120px;justify-content:center}
    .fc-price__label{font-size:11px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}
    .fc-price__amount{font-size:26px;font-weight:800;color:#0f172a;line-height:1;letter-spacing:-.03em}
    .fc-price__pax{font-size:11px;color:#94a3b8;font-weight:500}
    .fc-price__note{font-size:10px;color:#94a3b8;max-width:150px;line-height:1.3;display:none}
    .ag-card--flight:hover .fc-price__note{display:block}
    .fc-price__cta{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);border-radius:8px;text-decoration:none;transition:opacity .15s;white-space:nowrap}
    .fc-price__cta:hover{opacity:.9;color:#fff;text-decoration:none}

    /* dark mode — sidebar */
    /* dark mode — flight cards */
    /* mobile — flight cards */
    @media(max-width:767.98px){
      .ag-card.ag-card--flight>.card-body{grid-template-columns:1fr;gap:12px;padding:16px}
      .fc-airline{flex-direction:row;gap:10px}
      .fc-time{font-size:18px}
      .fc-connector{min-width:60px}
      .fc-price{flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #e2e8f0;padding-top:12px}
      .fc-price__amount{font-size:22px}
    }

    .select2-container{width:100% !important}
    .select2-container--default .select2-selection--single{
      height:38px;
      border:1px solid #e2e8f0;
      border-radius:8px;
      display:flex;
      align-items:center;
      background:#f8fafc;
    }
    .select2-container--default .select2-selection--single .select2-selection__rendered{
      line-height:36px;padding-left:10px;color:#0f172a;font-weight:500;font-size:13px;
    }
    .select2-container--default .select2-selection--single .select2-selection__arrow{height:36px}
    .select2-dropdown{
      border:1px solid #e2e8f0;border-radius:10px;
      box-shadow:0 12px 32px rgba(0,0,0,.12);
      background:#fff;
    }
    .select2-container--open .select2-dropdown{z-index:1062}
    .select2-container--default .select2-search--dropdown .select2-search__field{
      height:34px;border-radius:8px;border:1px solid #e2e8f0;padding:6px 10px;font-size:13px;
    }
    .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
      background:#eff6ff;color:#0f172a;
    }
