.flight-search-box {
    max-width: 520px; margin: auto; background: #fff;
    border-radius: 16px; box-shadow: 0 6px 20px rgba(0,0,0,.08);
    padding: 18px; font-family: Arial; line-height: normal;
    flex-shrink: 0; width: 100%; box-sizing: border-box;
}
.fs-header {
    background: #3f73c6; color: #fff; text-align: center;
    padding: 12px; border-radius: 8px; font-size: 18px; margin-bottom: 14px;
}
.fs-plane {
    display: inline-block; width: 18px; height: 18px; margin-right: 6px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M2 16l20-4-20-4v3l15 1-15 1z'/></svg>") no-repeat center;
    background-size: contain;
}

/* =========================================
   LOẠI CHUYẾN BAY (3 CHỮ TRÁI - GIỮA - PHẢI)
========================================= */
.flight-search-box .fs-type {
    display: flex !important;
    justify-content: space-between !important; 
    align-items: center !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    background: transparent !important; 
    padding: 4px 0 !important; 
}
.flight-search-box .fs-type label {
    flex: 1 !important; 
    display: flex !important;
    align-items: center !important;
    gap: 6px !important; 
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #475569 !important; 
}
.flight-search-box .fs-type label:nth-child(1) { justify-content: flex-start !important; }
.flight-search-box .fs-type label:nth-child(2) { justify-content: center !important; }
.flight-search-box .fs-type label:nth-child(3) { justify-content: flex-end !important; }
.fs-type input { margin-right: 5px; accent-color: #3f73c6; }

/* =========================================
   KHUNG SÂN BAY ĐỒNG ĐỀU 50/50 GIỐNG LỊCH
========================================= */
.route-box {
    display: flex; gap: 10px; position: relative; margin-bottom: 12px;
}
.route-box .fs-field {
    flex: 1; width: 50%; margin-bottom: 0;
}

/* =========================================
   NÚT SWAP (XOAY MƯỢT & NHÁY MÀU)
========================================= */
.swap-btn {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); 
    width: 32px; height: 32px; border-radius: 50%; background: #3f73c6;
    border: 2px solid #fff; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.15); 
    transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1), background-color 0.3s ease; 
    z-index: 10; font-size: 0; color: transparent;
}
.swap-btn::after {
    content: "\21C4"; font-size: 18px; color: #fff; display: block; line-height: 1; font-weight: bold;
}
.swap-btn:hover { background: #2d5fb8; }
.swap-btn:active { background: #1e3a8a; }

/* =========================================
   KHUNG NHẬP LIỆU (FS-FIELD)
========================================= */
.fs-field { 
    display: flex; align-items: center; padding: 10px 12px; border: 1px solid #cbd5e1; 
    border-radius: 8px; background: #fff; margin-bottom: 12px; position: relative !important; 
}
.fs-icon { width: 24px; text-align: center; font-size: 16px; }
.fs-divider { width: 1px; height: 20px; background: #cbd5e1; margin: 0 10px; }
.fs-field input { border: none; background: transparent; outline: none; font-size: 15px; color: #334155; width: 100%; font-family: inherit; }
.fs-field input::placeholder { color: #94a3b8; }

.fs-row { display: flex; gap: 10px; }
.fs-row .fs-field { flex: 1; }

/* =========================================
   NÚT XÓA NHANH (CLEAR INPUT)
========================================= */
.clear-btn {
    position: absolute !important; right: 12px !important; top: 50% !important; 
    transform: translateY(-50%) !important;
    color: #94a3b8 !important; background: #f1f5f9 !important; font-size: 10px !important; 
    font-weight: bold !important; display: none; width: 20px !important; height: 20px !important; 
    border-radius: 50% !important; justify-content: center !important; align-items: center !important; 
    z-index: 20 !important; transition: background-color 0.2s, color 0.2s !important;
}
.clear-btn:hover { background: #e2e8f0 !important; color: #475569 !important; }

/* =========================================
   HÃNG BAY, TÙY CHỌN & NÚT TÌM KIẾM
========================================= */
.fs-airlines { 
    display: flex; align-items: center; /* ĐÃ TRẢ LẠI LỆNH DÀN HÀNG */
    gap: 8px; margin-top: 10px; flex-wrap: wrap; margin-bottom: 15px; 
}
.fs-airlines label { border: 1px solid #2d6cdf; border-radius: 6px; padding: 6px 8px; background: #fff; }
.fs-airlines img { height: 22px; }

/* DIỆT CỎ DẤU NGOẶC VUÔNG KHI NHÚNG IFRAME */
.fs-airlines label::before,
.fs-airlines label::after { display: none !important; content: none !important; }
.fs-airlines label { display: inline-flex !important; align-items: center !important; gap: 5px !important; }

.fs-options { 
    display: flex; align-items: center; /* ĐÃ TRẢ LẠI LỆNH DÀN HÀNG */
    justify-content: space-between; margin-top: 15px; width: 100%; 
}
.option-left { display: flex; align-items: center; gap: 6px; color: #475569; font-weight: bold; font-size: 14px; }
.option-right { display: flex; align-items: center; gap: 6px; font-size: 14px; color: #475569; }
.option-right input[type="checkbox"] { accent-color: #3f73c6; width: 16px; height: 16px; margin: 0; }

.search-btn { 
    width: 100%; background: #3f73c6; color: #fff; border: none; padding: 14px; border-radius: 8px; 
    font-size: 18px; font-weight: bold; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 15px; 
}
.search-btn:hover { background: #2d5fb8; }

/* =========================================
   GIAO DIỆN THANH TIÊU ĐỀ ĐA CHẶNG
========================================= */
.leg-header {
    display: flex !important; flex-direction: row !important; justify-content: space-between !important; 
    align-items: center !important; width: 100% !important; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px dashed #cbd5e1;
}
.leg-title { font-size: 15px; font-weight: 800; color: #1e293b; margin: 0; }

.remove-leg-btn {
    color: #ef4444; background: #fee2e2; border: 1px solid #fca5a5; margin: 0;
    padding: 4px 12px; border-radius: 6px; font-size: 13px; font-weight: 600; transition: 0.2s; outline: none;
}
.remove-leg-btn:hover { background: #fca5a5; color: #b91c1c; }

/* =========================================
   BỌC THÉP CHẶNG QUÉT KHỐI & CLICK XUYÊN THẤU
========================================= */
.flight-search-box .fs-header,
.flight-search-box .fs-type label,
.flight-search-box .fs-airlines,
.flight-search-box .fs-airlines label,
.flight-search-box .fs-options,
.flight-search-box .fs-options label,
.flight-search-box .option-left,
.flight-search-box .option-right,
.flight-search-box .opt-text,
.pax-cabin-row,
#passenger-field,
#passenger-text,
.cabin-select,
#cabin-text,
.flatpickr-weekday,
.lunar,
.leg-title,
.fs-icon, 
.fs-divider {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

/* Đặt con trỏ pointer (Bàn tay) cho các thành phần bấm được */
.flight-search-box .fs-type label,
.flight-search-box .fs-airlines label,
.flight-search-box .option-left,
.flight-search-box .option-right,
.pax-cabin-row .fs-field,
.search-btn,
.swap-btn,
.clear-btn,
.remove-leg-btn,
.fs-field {
    cursor: pointer !important;
}

/* Đặt con trỏ default (Mũi tên thường) cho các thành phần chỉ xem */
.flight-search-box .fs-header,
.leg-title,
.flatpickr-weekday,
.lunar {
    cursor: default !important;
}

/* Cho phép click xuyên qua icon và vạch ngăn để bấm trúng khung field */
.fs-icon, 
.fs-divider {
    pointer-events: none !important; 
}