/**
 * FlightConnect Base CSS
 * Base styles for FlightConnect search form, autocomplete, passenger picker, etc.
 * Theme CSS (e.g. MustGo main.css) may override these styles.
 */

/* ============================================================
 * FlightConnect theme-aware variables
 * Theme active cần khai báo `--primary-color` trong :root của main.css.
 * Xem: pro/FlightConnect/docs/theme-integration.md
 * ============================================================ */
:root {
    /* Màu thương hiệu — lấy từ theme, có fallback hardcode */
    --fc-primary:          var(--primary-color, #126BC4);
    /* `--fc-primary-dark`: dùng cho điểm dừng cuối của gradient.
     * Ưu tiên: `--primary-color-2` của theme → fallback về `--primary-color` (gradient thành solid cùng tone)
     * → fallback cuối `#0d4f94` chỉ dùng khi theme chưa khai báo gì.
     * Tránh case: theme vàng chỉ khai `--primary-color` → gradient bị trộn với xanh hardcode. */
    --fc-primary-dark:     var(--primary-color-2, var(--primary-color, #0d4f94));
    --fc-accent:           var(--primary-color, #0ea5e9);
    --fc-primary-soft:     #eef4fb;
    --fc-primary-gradient: var(--primary-gradient, linear-gradient(135deg, var(--fc-primary) 0%, var(--fc-primary-dark) 100%));

    /* CTA "Giữ chỗ / Book now" — tone cam cố ý tương phản primary (theme có thể override) */
    --fc-cta:              #f97316;
    --fc-cta-dark:         #ea580c;
    --fc-cta-gradient:     linear-gradient(135deg, var(--fc-cta) 0%, var(--fc-cta-dark) 100%);
}

/* Hero Banner Container (FlightConnect)
 * Class `.fc-hero` prefix để tránh conflict với `.flight-search` của Flight module gốc.
 * Full-bleed: phá vỡ container cha (nếu layout theme wrap content trong `.container`)
 * để ảnh banner chạy sát 2 mép viewport. `calc(50% - 50vw)` ra số âm, đẩy tới mép.
 */
.fc-hero {
    position: relative !important;
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: 0 !important;
    height: 500px !important;
    left: auto;
    right: auto;
}
.fc-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; margin: 0; padding: 0; }
.fc-hero-inner { position: absolute; left: 0; width: 100%; bottom: 80px; z-index: 99; }
.fc-hero .fc-hero-inner h1 { margin: 0 0 10px 0; font-size: 36px; line-height: 48px; color: #fff; }
.fc-hero .fc-hero-inner p { font-weight: 400; font-size: 16px; line-height: 24px; color: #fff; }

/* Mobile: ảnh làm NỀN full banner, form + title overlay trên ảnh (giống desktop).
 * Banner height auto co theo form; img position absolute để làm background layer.
 * padding-bottom lớn để form/nút Tìm không bị che bởi bottom-nav của theme. */
@media (max-width: 768px) {
    .fc-hero {
        height: auto !important;
        min-height: 400px;
        overflow: visible !important;
        padding: 24px 0 80px !important;
    }
    .fc-hero img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-position: center 35% !important;
        z-index: 0;
    }
    .fc-hero-inner {
        position: relative !important;
        bottom: auto !important;
        z-index: 1;
        padding: 0 8px !important;
    }
    .fc-hero .fc-hero-inner h1 {
        font-size: 22px; line-height: 30px; margin-bottom: 4px;
        text-shadow: 0 2px 8px rgba(0,0,0,0.4);
    }
    .fc-hero .fc-hero-inner p {
        font-size: 13px; line-height: 18px; margin-bottom: 10px;
        text-shadow: 0 1px 4px rgba(0,0,0,0.35);
    }
    /* Ngày đi / Ngày về luôn cùng 1 dòng (2 cột) trên mobile khi RT */
    .fc-flex.fc-grid.is-round-trip { grid-template-columns: 1fr 1fr !important; }
    /* Form search box padding chặt hơn trên mobile */
    .fc-search-box { padding: 12px !important; }
    /* Type toggle (Một chiều / Khứ hồi) — nền trắng mờ trên ảnh */
    .fc-type-toggle { background: rgba(255,255,255,0.92) !important; margin-bottom: 12px !important; }
}

/* Autocomplete loading/empty states */
.fc-ac-loading, .fc-ac-empty { padding: 12px 16px; color: #757575; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.fc-ac-loading i { color: #1a73e8; }
.fc-ac-empty i { color: #e8711a; }

/* Search Box */
.fc-search-box { background: #fff; padding: 20px; border-radius: 20px; }

/* Trip Type Toggle */
.fc-type-toggle { display: inline-flex; gap: 20px; margin-bottom: 20px; background: #fff; border-radius: 99px; width: auto; padding: 8px 15px; font-size: 14px; align-items: center; }

/* Field Base */
.fc-field { position: relative; }
.fc-field label { font-weight: 700; font-size: 16px; line-height: 24px; color: rgba(73, 73, 73, 1); margin-bottom: 4px; display: block; }
.fc-field input:focus, .fc-field select:focus { box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25) !important; }

/* Autocomplete List */
.fc-autocomplete-list { position: absolute; top: 100%; left: 0; right: 0; z-index: 100; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; max-height: 280px; overflow-y: auto; display: none; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }
.fc-autocomplete-list .fc-ac-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid #f1f5f9; }
.fc-autocomplete-list .fc-ac-item:hover { background: #f0f9ff; }
.fc-ac-item .fc-ac-iata { font-weight: 700; font-size: 15px; color: var(--fc-accent); }
.fc-ac-item .fc-ac-name { font-size: 13px; color: #475569; }
.fc-ac-no-result { padding: 10px 14px; color: #94a3b8; font-size: 13px; text-align: center; }
.fc-field-error input { border-color: #ef4444 !important; box-shadow: 0 0 0 3px rgba(239,68,68,0.15) !important; }
.fc-field .fc-error-msg { color: #ef4444; font-size: 12px; margin-top: 4px; display: none; }

/* Passenger Picker */
.fc-pax-field { display: flex; align-items: center; gap: 8px; }
.fc-pax-field .btn-pax { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #cbd5e1; background: #fff; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.fc-pax-field .btn-pax:hover { background: var(--fc-primary-soft); border-color: var(--fc-accent); }
.fc-pax-field .pax-count { font-size: 16px; font-weight: 600; min-width: 24px; text-align: center; }

/* Search Button */
.fc-btn-search { width: 100%; border-radius: 10px; background: var(--fc-primary-gradient); border: none; font-weight: 500; cursor: pointer; padding: 0px 12px; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25); height: 50px; color: #fff; }
.fc-btn-search:hover { opacity: 0.9; }
.fc-btn-search:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }
.fc-btn-search i { margin-right: 6px; }

/* Cheapest Fares */
.fc-cheapest-section { padding: 40px 0; }
.fc-cheapest-section h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 20px; }
.fc-cheap-card { background: #fff; border-radius: 10px; padding: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); border: 1px solid #f1f5f9; text-align: center; transition: transform 0.2s; }
.fc-cheap-card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); }
.fc-cheap-card .fc-cheap-route { font-size: 18px; font-weight: 700; color: #1e293b; }
.fc-cheap-card .fc-cheap-price { font-size: 20px; font-weight: 700; color: #ea580c; margin-top: 8px; }
.fc-cheap-card .fc-cheap-date { font-size: 13px; color: #94a3b8; margin-top: 4px; }
.fc-cheap-card .fc-cheap-airline { font-weight: 600; color: #64748b; }
a.fc-cheap-card { color: inherit; }
a.fc-cheap-card:hover { text-decoration: none; color: inherit; }

/* Flex Layout */
.fc-flex { display: flex; flex-flow: wrap; position: relative; }
.fc-flex .fc-field { width: 50%; }
.fc-flex .fc-field:first-child input { border: 0; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25); border-radius: 10px 0 0 10px; height: 50px; padding: 9px 12px; width: 100% !important; font-size: 14px; }
.fc-flex .fc-field:last-child input { width: 100%; border: 0; font-size: 14px; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25); border-radius: 0 10px 10px 0; height: 50px; padding: 9px 12px 9px 30px; }

/* Swap Button */
button#swap-btn { position: absolute; z-index: 5; width: 29px; height: 29px; border-radius: 50%; background: #fff; border: 1px solid rgba(207, 206, 206, 1); cursor: pointer; display: flex; align-items: center; justify-content: center; margin: 0 auto; transition: background 0.18s, box-shadow 0.18s, transform 0.22s; flex-shrink: 0; top: 38px; left: 50%; transform: translateX(-50%); }
button#swap-btn:hover { background: #E4F2FF !important; box-shadow: 0 4px 16px rgba(0, 80, 200, 0.18) !important; border-color: #8AC8FF !important; }

/* Date Input */
.fc-field .inputDate { width: 100%; border: 0 !important; font-size: 14px; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25); border-radius: 10px !important; height: 50px; padding: 9px 12px 9px 35px !important; }
.fc-field .fc-icon { position: absolute; left: 10px; top: 38px; }
.fc-field select { width: 100%; border: 0 !important; font-size: 14px; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25); border-radius: 10px !important; height: 50px; padding: 9px 12px !important; }

/* Date Grid */
.fc-flex.fc-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.fc-grid.is-round-trip { grid-template-columns: 1fr 1fr; }
.fc-flex.fc-grid .fc-field { width: 100%; }

/* Guest Selector */
.form-select-guests label { font-weight: 700; font-size: 16px; line-height: 24px; color: rgba(73, 73, 73, 1); margin-bottom: 4px; display: block; }
.form-select-guests .render { width: 100%; border: 0 !important; font-size: 14px; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.25); border-radius: 10px !important; height: 50px; padding: 9px 12px !important; line-height: 35px; font-weight: normal; color: #767575; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; background: #fff; }
.form-select-guests .dropdown-toggle:after { display: none !important; }

.form-select-guests .form-group { position: relative; }
.dropdown-menu.select-guests-dropdown { display: none; position: absolute; top: 100%; right: 0; left: auto; margin-top: 4px; min-width: 280px; padding: 12px 16px; border-radius: 10px; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,0.12); border: 1px solid #e2e8f0; z-index: 1050; }
.dropdown-menu.select-guests-dropdown.show { display: block; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f1f5f9; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row:last-child { border-bottom: none; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .val { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .count-display { min-width: 30px; text-align: center; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .count-display input { width: 40px; text-align: center; border: none; background: transparent; font-size: 16px; font-weight: 600; -moz-appearance: textfield; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .count-display input::-webkit-outer-spin-button,
.dropdown-menu.select-guests-dropdown .dropdown-item-row .count-display input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.dropdown-menu.select-guests-dropdown .btn-counter--minus,
.dropdown-menu.select-guests-dropdown .btn-counter--add { width: 30px; height: 30px; border-radius: 8px; border: 1.5px solid #ddd; background: transparent; font-size: 20px; cursor: pointer; color: #999; display: flex; align-items: center; justify-content: center; transition: all .15s; font-weight: 300; line-height: 1; }
.dropdown-menu.select-guests-dropdown .btn-counter--minus:hover,
.dropdown-menu.select-guests-dropdown .btn-counter--add:hover { border-color: var(--fc-accent); color: var(--fc-accent); }
.dropdown-menu.select-guests-dropdown .btn-counter--minus i,
.dropdown-menu.select-guests-dropdown .btn-counter--add i { font-size: 18px; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .val-text .sub-label { color: #767575; font-size: 12px; font-weight: 400; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .val-text .label { font-size: 14px; font-weight: 700; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .val-text { width: 45%; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row .val { width: 55%; }
.dropdown-menu.select-guests-dropdown .dropdown-item-row select.form-select { border-radius: 8px; border: 1.5px solid #ddd; font-size: 14px; width: 100%; }

/* Airport Picker Modal */
.fc-airport-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.fc-airport-modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); }
.fc-airport-modal-content { position: relative; background: #fff; border-radius: 12px; width: 90%; max-width: 820px; max-height: 70vh; display: flex; flex-direction: column; box-shadow: 0 8px 32px rgba(0,0,0,0.18); }
.fc-airport-modal-header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #eee; flex-wrap: wrap; }
.fc-airport-modal-header h4 { margin: 0; font-size: 16px; font-weight: 600; white-space: nowrap; color: #333; }
.fc-airport-modal-search { flex: 1; min-width: 200px; }
.fc-airport-modal-search input { width: 100%; padding: 8px 14px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; outline: none; }
.fc-airport-modal-search input:focus { border-color: var(--fc-primary); }
.fc-airport-modal-close { background: none; border: none; font-size: 28px; cursor: pointer; color: #999; line-height: 1; padding: 0 4px; }
.fc-airport-modal-close:hover { color: #333; }
.fc-airport-modal-body { display: flex; overflow: hidden; flex: 1; }
.fc-airport-regions { width: 140px; border-right: 1px solid #eee; padding: 12px 0; overflow-y: auto; flex-shrink: 0; }
.fc-airport-regions .region-tab { display: block; width: 100%; text-align: left; padding: 10px 16px; border: none; background: none; cursor: pointer; font-size: 14px; font-weight: 500; color: #666; transition: all .2s; }
.fc-airport-regions .region-tab:hover { color: var(--fc-primary); background: var(--fc-primary-soft); }
.fc-airport-regions .region-tab.active { color: var(--fc-primary); font-weight: 600; border-left: 3px solid var(--fc-primary); background: var(--fc-primary-soft); }
.fc-airport-grid { flex: 1; padding: 16px; overflow-y: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; align-content: start; }
.fc-airport-grid .airport-item { padding: 10px 12px; border-radius: 6px; cursor: pointer; font-size: 13px; color: #333; transition: background .15s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-airport-grid .airport-item:hover { background: var(--fc-primary-soft); color: var(--fc-primary); }
.fc-airport-grid .airport-item .iata { font-weight: 600; color: #999; font-size: 12px; }
.fc-airport-grid .no-result { grid-column: 1 / -1; text-align: center; color: #999; padding: 20px; }

/* ============================================================
 * jQuery UI Datepicker skin — module-portable
 * Dùng `--fc-primary` / `--fc-accent` để tự đổi màu theo theme active.
 * Theme nào cũng dùng được mà không cần copy CSS sang main.css của theme.
 * ============================================================ */
#ui-datepicker-div .ui-datepicker-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
}
#ui-datepicker-div .ui-datepicker-prev  { order: 1 !important; }
#ui-datepicker-div .ui-datepicker-title { order: 2 !important; flex: 1 1 auto !important; }
#ui-datepicker-div .ui-datepicker-next  { order: 3 !important; }

/* Ẩn mặc định — jQuery UI sẽ set inline `style="display:block"` khi mở datepicker
 * (inline override stylesheet). Không có rule này thì khi load page, dpDiv hiện
 * lù lù ở giữa màn hình mobile do `position: fixed; top:50%; left:50%`. */
#ui-datepicker-div { display: none; }

.ui-datepicker {
    background: #fff !important;
    border: 1px solid #e4e7ed !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 56px rgba(0, 0, 0, .22) !important;
    padding: 0 0 12px !important;
    width: auto !important;
    z-index: 99 !important;
    font-family: inherit !important;
}

.ui-datepicker:not(.ui-datepicker-multi) .ui-datepicker-header {
    display: flex !important;
    align-items: center !important;
    padding: 14px 16px 10px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #f0f2f5 !important;
    border-radius: 0 !important;
}

.ui-datepicker-multi .ui-datepicker-header {
    display: flex !important;
    align-items: center !important;
    padding: 12px 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

.ui-datepicker-title {
    flex: 1 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    line-height: 32px !important;
    margin: 0 !important;
}

.ui-datepicker-prev, .ui-datepicker-next {
    position: static !important;
    float: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    top: auto !important;
}

.ui-datepicker-prev:hover, .ui-datepicker-next:hover {
    background: var(--fc-primary) !important;
    border-color: var(--fc-primary) !important;
}

.ui-datepicker-prev span, .ui-datepicker-next span {
    position: static !important;
    background-image: none !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    font-size: 0 !important;
    color: #666 !important;
    line-height: 1 !important;
}

.ui-datepicker-prev span::after,
.ui-datepicker-next span::after {
    font-size: 20px !important;
    line-height: 1 !important;
    color: inherit !important;
}
.ui-datepicker-prev span::after { content: '‹'; }
.ui-datepicker-next span::after { content: '›'; }
.ui-datepicker-prev:hover span, .ui-datepicker-next:hover span { color: #fff !important; }

.ui-datepicker-multi-2 .ui-datepicker-group { width: 50% !important; float: left !important; padding: 0 12px; }
.ui-datepicker-multi-2 .ui-datepicker-group-first { border-right: 1px solid #f0f2f5; }
.ui-datepicker-multi-2 .ui-datepicker-group-first .ui-datepicker-next { visibility: hidden !important; }
.ui-datepicker-multi-2 .ui-datepicker-group-last .ui-datepicker-prev { visibility: hidden !important; }
.ui-datepicker-multi::after { content: ''; display: table; clear: both; }
.ui-datepicker-row-break { display: none !important; }

.ui-datepicker .ui-datepicker-week-col {
    font-size: 10px !important;
    color: #ccc !important;
    width: 26px !important;
    text-align: center !important;
    padding: 0 !important;
}
.ui-datepicker thead .ui-datepicker-week-col { color: transparent !important; }

.ui-datepicker table {
    width: 100% !important;
    border-collapse: collapse !important;
    padding: 8px 12px 4px !important;
    display: table !important;
}

.ui-datepicker th {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    text-align: center !important;
    padding: 4px 0 6px !important;
    border: none !important;
    background: transparent !important;
}

.ui-datepicker td { padding: 2px 1px !important; border: none !important; }

.ui-datepicker td a, .ui-datepicker td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #1a1a2e !important;
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    transition: background .12s, color .12s !important;
    margin: 0 auto !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.ui-datepicker td a:hover {
    background: var(--fc-primary) !important;
    color: #fff !important;
}

.ui-state-default,
.ui-widget-content .ui-state-default {
    background: transparent !important;
    border: none !important;
    color: #1a1a2e !important;
}

.ui-datepicker-today a,
.ui-state-highlight,
.ui-widget-content .ui-state-highlight {
    background: rgba(232, 57, 42, .1) !important;
    color: #e8392a !important;
    font-weight: 800 !important;
    border: none !important;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
    background: var(--fc-primary) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 8px !important;
}

.ui-datepicker-other-month .ui-state-default { color: #ddd !important; }
.ui-datepicker td.ui-state-disabled span { color: #e5e5e5 !important; cursor: not-allowed !important; }
.ui-datepicker-buttonpane { display: none !important; }
.ui-datepicker-header.ui-widget-header.ui-corner-right { flex-flow: row-reverse; }

@media (max-width: 768px) {
    #ui-datepicker-div.ui-datepicker {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 92vw !important;
        max-width: 360px !important;
        z-index: 99999 !important;
    }
    #ui-datepicker-div.ui-datepicker-multi-2 .ui-datepicker-group { width: 100% !important; float: none !important; }
    #ui-datepicker-div.ui-datepicker-multi-2 .ui-datepicker-group-last { display: none !important; }
    #ui-datepicker-div.ui-datepicker-multi-2 .ui-datepicker-group-first { border-right: none !important; }
    #ui-datepicker-div.ui-datepicker-multi-2 .ui-datepicker-group-first .ui-datepicker-next { visibility: visible !important; }
    #ui-datepicker-div.ui-datepicker table { width: 100% !important; }
    #ui-datepicker-div.ui-datepicker td a,
    #ui-datepicker-div.ui-datepicker td span {
        width: 36px !important;
        height: 36px !important;
        font-size: 14px !important;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .fc-airport-modal { padding-top: 0; align-items: stretch; }
    .fc-airport-modal-content { width: 100%; max-width: 100%; max-height: 100vh; border-radius: 0; }
    .fc-airport-modal-body { flex-direction: column; }
    .fc-airport-regions { width: 100%; border-right: none; border-bottom: 1px solid #eee; display: flex; overflow-x: auto; padding: 8px; gap: 4px; }
    .fc-airport-regions .region-tab { white-space: nowrap; padding: 6px 12px; border-radius: 20px; border-left: none !important; }
    .fc-airport-regions .region-tab.active { background: var(--fc-primary); color: #fff; }
    .fc-airport-grid { grid-template-columns: repeat(2, 1fr); }
}

