/**
 * 항공 검색 결과(air_list) 전용 스타일
 * air_one_search.css와 함께 로드. 헤더는 air_one과 동일(녹색).
 */
/* 접근성: 스크린리더용만 노출, 시각적으로 숨김 */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.air-list-page { --air-list-max: 1280px; --air-accent: #63c069; --air-accent-dark: #52a858; }
/* 다구간 검색 패널 (booking/air_search_form) */
#air-list-panel-multicity.air-list-panel--multicity { max-width: 1280px; }
#air-list-panel-multicity .air-list-multicity-title { margin: 0 0 12px; font-size: 14px; color: #555; font-weight: 500; }
#air-list-panel-multicity .air-list-multi-legs { display: flex !important; flex-direction: column; gap: 16px; }
#air-list-panel-multicity .air-list-leg { display: flex !important; flex-wrap: nowrap; align-items: flex-start; gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; box-sizing: border-box; }
#air-list-panel-multicity .air-list-leg-label { flex: 0 0 56px; font-size: 13px; font-weight: 600; color: #333; padding-top: 12px; box-sizing: border-box; }
#air-list-panel-multicity .air-list-leg-fields { flex: 1; display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px; min-width: 0; }
#air-list-panel-multicity .air-list-city-wrap { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
#air-list-panel-multicity .air-list-leg-dep,
#air-list-panel-multicity .air-list-leg-arr { width: 160px; min-width: 160px; padding: 10px 14px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 8px; background: #fff; font-size: 14px; }
#air-list-panel-multicity .air-list-leg-date { width: 200px; min-width: 200px; padding: 10px 14px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 8px; background: #fff; font-size: 14px; }
#air-list-panel-multicity .air-list-member-wrap.air-list-multicity-member-once { flex-shrink: 0; margin-left: 20px; }
#air-list-panel-multicity .air-list-member-wrap .air-list-field.air-one-member-field { width: 350px; min-width: 350px; padding: 0 14px 0 30px; border: none; border-radius: 0; background: #f5f5f5; box-shadow: none; cursor: pointer; display: flex; align-items: center; min-height: 40px; }
#air-list-panel-multicity .air-list-member-wrap .air-list-field.air-one-member-field:focus-within { background: #f5f5f5; }
#air-list-panel-multicity .air-list-member-wrap .air-one-member-label { min-width: 65px; flex-shrink: 0; box-sizing: border-box; font-size: 13px; font-weight: 500; color: #495057; }
#air-list-panel-multicity .air-list-member-wrap .air-list-member-display { font-size: 14px; color: #141719; }
#air-list-panel-multicity .air-list-multicity-footer { margin-top: 16px; }
#air-list-panel-multicity .air-list-multicity-footer .air-list-options-row { margin-top: 0; max-width: none; }
/* 리스트 페이지: 왕복/편도 달력 드롭다운 기본 숨김, 열림 시 표시 */
.air-list-page .air-list-date-wrap .air-one-date-wrap { position: relative; overflow: visible !important; }
.air-list-page .air-list-date-wrap .air-one-date-field { position: relative; overflow: visible !important; }
.air-list-page #air-one-date-dropdown {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 10050 !important;
    margin-top: 4px;
    padding: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    width: 340px;
    min-width: 340px;
    overflow: hidden;
    visibility: hidden;
}
/* 왕복/편도 달력 열림 시: JS가 position:fixed로 띄우므로, is-open만 있어도 확실히 표시 */
.air-list-page #air-one-date-dropdown.is-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 280px !important;
}
/* air_list 달력: 월 선택 바·좌우 네비는 PHP에서 미출력(hide_calendar_month_nav), 스크롤만 사용 */
.air-list-page .air-one-calendar-month { padding: 0 0 12px; }
.air-list-page .air-one-calendar-month .air-one-calendar-month-caption { font-weight: 700; font-size: 14px; color: #212529; margin-bottom: 8px; }
.air-list-page .air-list-search-inner .air-one-date-section { cursor: pointer; }
.air-list-page .air-list-date-wrap .air-one-date-field { overflow: visible; }
.air-list-page .air-list-search-area,
.air-list-page .air-list-search-area-inner,
.air-list-page .air-list-search-inner,
.air-list-page .air-list-panel--round-oneway,
.air-list-page .air-list-date-wrap .air-one-date-wrap { overflow: visible !important; }

/* 다구간 전용 캘린더 — .air-one-multicity-date-box 안에서만 적용, 왕복/편도 달력에는 미적용 */
.air-one-multicity-date-box { width: 700px; height: 400px; box-sizing: border-box; display: flex; flex-direction: column; }
.air-one-multicity-date-box .air-one-multicity-date-title { flex-shrink: 0; }
.air-one-multicity-date-box .cal_tab_content { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.air-one-multicity-date-box .ly_area { margin: 0; padding: 0; flex: 1; min-height: 0; display: flex; flex-direction: column; }
.air-one-multicity-date-box .cal_wrap.is-datepick { display: flex; flex-wrap: nowrap; gap: 0; width: 100%; flex: 1; min-height: 0; }
.air-one-multicity-date-box .air-one-multicity-cal-month { box-sizing: border-box; padding: 0 12px 8px; min-width: 0; width: 50%; display: flex; flex-direction: column; }
.air-one-multicity-date-box .air-one-multicity-cal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-weight: 700; font-size: 14px; color: #212529; flex-shrink: 0; }
.air-one-multicity-date-box .air-one-multicity-cal-header .btn_prev,
.air-one-multicity-date-box .air-one-multicity-cal-header .btn_next { color: #adb5bd; text-decoration: none; font-size: 16px; line-height: 1; }
.air-one-multicity-date-box .air-one-multicity-cal-header .btn_prev:hover,
.air-one-multicity-date-box .air-one-multicity-cal-header .btn_next:hover { color: #00AD55; }
.air-one-multicity-date-box .air-one-multicity-cal-board { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; flex: 1; }
.air-one-multicity-date-box .air-one-multicity-cal-board thead th { padding: 4px 0; text-align: center; font-weight: 600; color: #6c757d; font-size: 13px; }
.air-one-multicity-date-box .air-one-multicity-cal-board thead th .datepick-dow-0 { color: #dc3545; }
.air-one-multicity-date-box .air-one-multicity-cal-board thead th .datepick-dow-6 { color: #0d6efd; }
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td { padding: 0; vertical-align: middle; text-align: center; height: 32px; }
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td span,
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td a { display: block; line-height: 32px; text-decoration: none; color: inherit; }
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td a:hover:not(.disable) { background: #e9ecef; border-radius: 4px; }
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td a.air-one-multicity-cal-selected { background: var(--air-accent, #63c069); color: #fff; border-radius: 4px; }
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td a.air-one-multicity-cal-selected.holiday,
.air-one-multicity-date-box .air-one-multicity-cal-board tbody td a.air-one-multicity-cal-selected.sat { color: #fff; }
.air-one-multicity-date-box .air-one-multicity-cal-board .disable { color: #adb5bd; cursor: default; }
.air-one-multicity-date-box .air-one-multicity-cal-board .holiday { color: #dc3545; }
.air-one-multicity-date-box .air-one-multicity-cal-board .sat { color: #0d6efd; }
.air-one-multicity-date-box .air-one-multicity-date-footer { flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end; margin-top: 12px; padding: 12px 0 0; border-top: 1px solid #eee; }
.air-one-multicity-date-box .air-one-multicity-date-apply { padding: 10px 24px; font-size: 14px; font-weight: 600; border-radius: 8px; border: none; cursor: pointer; background: var(--air-accent, #63c069); color: #fff; }
.air-one-multicity-date-box .air-one-multicity-date-apply:hover { background: var(--air-accent-dark, #52a858); }
.air-list-page .air-list-member-wrap .air-list-field.air-one-member-field { cursor: pointer; }
.air-list-page .air-list-fixed-top .map-header { background: var(--air-accent) !important; }
.air-list-page .air-list-fixed-top .gc-list-top-bar { min-height: 40px; padding: 0 24px; background: #f8f9fa; border-bottom: 1px solid #e9ecef; }

/* 메인 영역: 배경 흰색, padding-top 0 (일반·팝업 공통) */
.air-list-main-wrap,
.gh-list-main-wrap,
.air-list-main-wrap.gh-list-main-wrap { padding-top: 0 !important; min-height: 60vh; background: #fff !important; }
body.air-list-page .air-list-main-wrap,
body.air-list-page .gh-list-main-wrap,
body.air-list-page .air-list-main-wrap.gh-list-main-wrap { padding-top: 0 !important; background: #fff !important; }
.air-list-body-wrap { display: flex; max-width: var(--air-list-max); margin: 0 auto; gap: 0; }
.aio_filter_sidebar { width: 240px; flex-shrink: 0; background: #fff; border-right: 1px solid #e9ecef; padding: 20px 16px 32px; overflow-y: auto; max-height: calc(100vh - 110px); }
.air-list-content-right { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.air-list-search-wrap { padding: 20px 24px 0; }
.air-list-search-wrap .air-one-search-inner { border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }

.air-list-result-wrap { margin: 24px 0 48px; padding: 0 24px 48px; }
.air-list-result-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #e9ecef; }
.air-list-result-title { font-size: 18px; font-weight: 700; color: #212529; margin: 0; }
.air-list-result-count { font-size: 14px; color: #6c757d; font-weight: 500; }

/* 카드 리스트: 2행×7열 테이블 (가는편/오는편 동일 구조), 로고 30×30. 기본은 유지, 호버 시만 파란 계열로 구분 */
.air-list-cards { display: flex; flex-direction: column; gap: 12px; }
.air-list-card { padding: 20px 24px; background: #fff; border: 1px solid #e9ecef; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); transition: box-shadow 0.2s, border-color 0.2s, background-color 0.2s; outline: none; }
.air-list-card:hover { background: #eef5fd; border: 1px solid #93c5fd; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.air-list-card-body { display: flex; flex-direction: column; gap: 0; }
.air-list-leg-table { width: 100% !important; border-collapse: collapse !important; table-layout: fixed !important; font-size: 14px !important; }
.air-list-leg-table + .air-list-leg-table { border-top: 1px solid #eee; margin-top: 12px; padding-top: 12px; }
/* 열 너비 강제 (colgroup + td !important) */
.air-list-leg-table td:nth-child(1) { width: 180px !important; min-width: 180px !important; max-width: 180px !important; }
.air-list-leg-table td:nth-child(2) { width: 56px !important; min-width: 56px !important; max-width: 56px !important; }
.air-list-leg-table td:nth-child(3) { width: 160px !important; min-width: 160px !important; max-width: 160px !important; }
.air-list-leg-table td:nth-child(4) { width: 120px !important; min-width: 120px !important; max-width: 120px !important; }
.air-list-leg-table td:nth-child(5) { width: 150px !important; min-width: 150px !important; max-width: 150px !important; }
.air-list-leg-table td:nth-child(6) { width: 150px !important; min-width: 150px !important; max-width: 150px !important; }
.air-list-leg-table td:nth-child(7) { width: 102px !important; min-width: 102px !important; max-width: 102px !important; }
.air-list-leg-table td { padding: 6px 10px !important; vertical-align: middle !important; }
.air-list-td-airline { width: 180px !important; min-width: 180px !important; max-width: 180px !important; text-align: left !important; padding-right: 4px !important; }
.air-list-leg-table td:nth-child(2) { padding-left: 4px !important; }
.air-list-td-airline-inner { display: flex !important; align-items: center !important; gap: 8px !important; width: 180px !important; min-width: 180px !important; max-width: 180px !important; box-sizing: border-box !important; }
.air-list-airline-logo { width: 30px !important; height: 30px !important; min-width: 30px !important; object-fit: contain !important; flex-shrink: 0 !important; }
.air-list-airline-name.AIRLINE_NM_KR { font-size: 14px !important; font-weight: normal !important; line-height: 16px !important; height: 16px !important; color: #212529 !important; flex: 0 0 142px !important; width: 142px !important; min-width: 142px !important; max-width: 142px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.air-list-td-time { font-size: 16px !important; font-weight: 600 !important; color: #212529 !important; width: 56px !important; min-width: 56px !important; max-width: 56px !important; text-align: center !important; line-height: 1.2 !important; padding-top: 4px !important; padding-bottom: 2px !important; }
.air-list-td-code { font-size: 12px !important; color: #6c757d !important; text-align: center !important; line-height: 1.2 !important; padding-top: 0 !important; padding-bottom: 4px !important; }
.air-list-td-arrow { width: 160px !important; min-width: 160px !important; max-width: 160px !important; text-align: center !important; color: #888 !important; font-size: 14px !important; }
.air-list-td-arrow .bi-arrow-right { color: inherit; }
.air-list-td-duration { font-size: 12px !important; color: #6c757d !important; text-align: center !important; width: 160px !important; min-width: 160px !important; max-width: 160px !important; }
.air-list-td-via { width: 150px !important; min-width: 150px !important; max-width: 150px !important; text-align: center !important; font-size: 13px !important; color: #495057 !important; }
.air-list-via-detail { font-size: 11px !important; color: #868e96 !important; display: block !important; margin-top: 2px !important; }
.air-list-td-price { width: 150px !important; min-width: 150px !important; max-width: 150px !important; text-align: right !important; white-space: normal !important; word-break: keep-all !important; line-height: 1.4 !important; padding: 6px 10px !important; vertical-align: middle !important; }
.air-list-price-link { cursor: pointer; }
.air-list-price-link:hover .air-list-price-num { text-decoration: underline; }
.air-list-price-wrap { display: block !important; background: none !important; border: none !important; height: auto !important; min-height: 1.5em !important; }
.air-list-price-login-hint { display: block !important; font-size: 10px !important; color: #868e96 !important; margin-bottom: 4px !important; line-height: 1.3 !important; }
.air-list-price-num { font-size: 18px !important; font-weight: 700 !important; color: var(--air-accent) !important; display: block !important; white-space: normal !important; word-break: keep-all !important; background: none !important; border: none !important; }
.air-list-tasf { font-size: 10px !important; color: #868e96 !important; display: block !important; margin-top: 2px !important; white-space: normal !important; word-break: keep-all !important; line-height: 1.3 !important; }
.air-list-price-debug { display: block !important; font-size: 10px !important; color: #adb5bd !important; margin-top: 4px !important; word-break: break-all !important; }
.air-list-td-empty { width: 150px !important; min-width: 150px !important; max-width: 150px !important; }
.air-list-td-seats { width: 102px !important; min-width: 102px !important; max-width: 102px !important; text-align: center !important; font-size: 13px !important; color: #6c757d !important; }
/* td는 반드시 table-cell 유지 (flex 주면 브라우저가 무시함). 정렬은 내부 .air-list-td-detail-inner 로 */
.air-list-td-detail { width: 102px !important; min-width: 102px !important; max-width: 102px !important; text-align: center !important; vertical-align: middle !important; }
.air-list-td-detail-inner { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 6px !important; }
.air-list-td-detail .air-list-btn-fare,
.air-list-td-detail .air-list-btn-detail { display: block !important; width: 100% !important; max-width: 90px !important; box-sizing: border-box !important; text-align: center !important; }
.air-list-btn-detail { font-size: 12px !important; padding: 6px 12px !important; border: 1px solid #dee2e6 !important; background: #f1f3f5 !important; color: #868e96 !important; border-radius: 6px !important; cursor: pointer !important; text-decoration: none !important; }
.air-list-btn-detail:hover { border-color: var(--air-accent) !important; color: var(--air-accent) !important; background: #fff !important; }
.air-list-btn-detail.active { border-color: var(--air-accent) !important; color: var(--air-accent) !important; background: #fff !important; }
.air-list-btn-fare { font-size: 12px !important; padding: 6px 12px !important; border: 1px solid #dee2e6 !important; background: #fff !important; color: #495057 !important; border-radius: 6px !important; cursor: pointer !important; text-decoration: none !important; }
.air-list-btn-fare:hover { border-color: var(--air-accent) !important; color: var(--air-accent) !important; }

/* 강제 적용: 카드 내 테이블 (다른 스타일 덮어쓰기 방지) */
.air-list-card .air-list-leg-table,
.air-list-card-body .air-list-leg-table { width: 100% !important; table-layout: fixed !important; }
.air-list-card .air-list-leg-table td,
.air-list-card-body .air-list-leg-table td { padding: 6px 10px !important; vertical-align: middle !important; box-sizing: border-box !important; }
.air-list-card .air-list-td-detail,
.air-list-card-body .air-list-td-detail { text-align: center !important; vertical-align: middle !important; }
.air-list-card .air-list-td-detail-inner,
.air-list-card-body .air-list-td-detail-inner { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 6px !important; }
.air-list-card .air-list-td-detail .air-list-btn-fare,
.air-list-card .air-list-td-detail .air-list-btn-detail,
.air-list-card-body .air-list-td-detail .air-list-btn-fare,
.air-list-card-body .air-list-td-detail .air-list-btn-detail { display: block !important; text-align: center !important; }

/* 빈 결과 / 오류 */
.air-list-empty { padding: 64px 10px; text-align: center; background: #fff; border-radius: 12px; border: 1px dashed #dee2e6; color: #6c757d; font-size: 16px; line-height: 1.6; }
.air-list-empty .air-list-empty-icon { font-size: 48px; color: #ced4da; margin-bottom: 16px; display: block; }
.air-list-fault { padding: 20px 24px; background: #fff8e6; color: #856404; border: 1px solid #ffecb5; border-radius: 12px; margin-bottom: 24px; font-size: 14px; line-height: 1.5; }

/* ===== 좌측 필터 영역 (aio_filter_sidebar) ===== */
.aio_filter_gap_sm { margin-top: 12px; }
.aio_filter_gap { margin-top: 16px; }
.aio_filter_pt { padding-top: 16px; }
.aio_filter_list_border { border-top: 1px solid #dee2e6; }
.aio_filter_title { font-size: 14px; font-weight: 700; color: #212529; margin: 0 0 12px; }
.aio_filter_title a { color: inherit; text-decoration: none; display: flex; align-items: center; width: 100%; }
.aio_filter_title a::after { content: ''; display: inline-block; width: 0; height: 0; margin-left: auto; border: 5px solid transparent; border-top-color: #868e96; border-bottom: none; transition: transform 0.2s; flex-shrink: 0; }
.aio_filter_title a.active::after { transform: rotate(180deg); }
.aio_filter_subtitle { font-size: 12px; font-weight: 600; color: #495057; margin: 0 0 8px; }
.aio_filter_subtitle.aio_filter_gap { padding-top: 5px; }
/* 오는날: 위 목록(가는날)과 행간 띄움 */
.aio_filter_list ul + .aio_filter_subtitle { margin-top: 14px; margin-bottom: 10px; }
.aio_filter_transit { margin-bottom: 20px; }
.aio_filter_transit ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.aio_filter_btn_wrap { display: inline-flex; align-items: center; }
.aio_filter_btn_wrap input { margin: 0; margin-right: 6px; }
.aio_filter_btn_wrap label { font-size: 13px; color: #495057; cursor: pointer; margin: 0; }
.aio_filter_condi { border-top: 1px solid #e9ecef; padding-top: 16px; }

/* 할인카드 영역 제거: 예전 배포/캐시에 남아 있어도 비표시 */
.aio_filter_sidebar .aio_filter_section:has(a[data-toggle="divDiscountCard"]),
.aio_filter_sidebar .aio_filter_section:has(#divDiscountCard) { display: none !important; }

.aio_filter_section { margin-bottom: 20px; }
.aio_filter_section:last-child { margin-bottom: 0; }
.aio_filter_list { font-size: 13px; }
.aio_filter_list ul { list-style: none; margin: 0; padding: 0; }
.aio_filter_list ul li { margin-bottom: 8px; }
.aio_filter_list ul li:last-child { margin-bottom: 0; }
.aio_filter_check_wrap { display: flex; align-items: center; }
.aio_filter_check_wrap input { margin: 0; margin-right: 8px; flex-shrink: 0; }
.aio_filter_check_wrap label { cursor: pointer; margin: 0; font-size: 13px; color: #495057; display: flex; align-items: center; }
.aio_ico_checkbox { display: inline-block; width: 16px; height: 16px; margin-right: 6px; border: 2px solid #dee2e6; border-radius: 4px; flex-shrink: 0; transition: border-color 0.2s, background 0.2s; position: relative; }
.aio_filter_check_wrap input:checked + label .aio_ico_checkbox { background: var(--air-accent); border-color: var(--air-accent); }
.aio_filter_check_wrap input:checked + label .aio_ico_checkbox::after { content: ''; position: absolute; left: 3px; top: 1px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.aio_filter_check_wrap input:focus-visible + label .aio_ico_checkbox { outline: 2px solid var(--air-accent); outline-offset: 2px; }
.aio_filter_input_btn { width: 14px; height: 14px; accent-color: var(--air-accent); }
.aio_filter_check { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.aio_filter_check_wrap:has(.aio_filter_check) label { padding-left: 0; }
.aio_filter_check_wrap:has(.aio_filter_check) .aio_ico_checkbox { margin-right: 8px; }
.aio_filter_actions { list-style: none; margin: 0 0 16px; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.aio_filter_actions button { font-size: 12px; padding: 4px 10px; border: 1px solid #dee2e6; background: #fff; color: #495057; border-radius: 6px; cursor: pointer; }
.aio_filter_actions button:hover { border-color: var(--air-accent); color: var(--air-accent); }
.aio_filter_actions button.active { border-color: var(--air-accent); background: var(--air-accent); color: #fff; }
/* 모두 선택/해제 라인 아래 ~ 항공사 목록(이스타항공 등) 행간 */
.aio_filter_actions + ul.aio_filter_list_border { margin-top: 18px; padding-top: 20px; }
.aio_btn_more { font-size: 13px; color: var(--air-accent); text-decoration: none; display: inline-block; margin-top: 8px; }
.aio_btn_more:hover { text-decoration: underline; }
.aio_filter_slide { padding: 8px 0; }
.aio_filter_slide .bar { display: block; height: 6px; background: #e9ecef; border-radius: 3px; position: relative; }
.aio_filter_slide .dot { position: absolute; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; background: var(--air-accent); border-radius: 50%; }
.aio_filter_slide .aio_filter_range { width: 100%; height: 6px; margin: 0; accent-color: var(--air-accent); cursor: pointer; }
.aio_filter_price_label { font-size: 13px; color: #495057; margin-bottom: 8px; }

/* golfprice list.php 호환: 로딩 영역 .loding_wrap — 이미지 위, 문구(인천/방콕 등) 아래 (현재 미표시) */
.air-list-content .loding_wrap,
#air-list-loading { display: none !important; padding: 0 24px 40px; background: #fff; border-radius: 12px; border: 1px solid #e9ecef; margin-bottom: 24px; text-align: center; }
.air-list-content .loding_img { margin: 0 -24px 24px; line-height: 0; }
.air-list-content .loding_img .loding_bg { display: block; width: 100%; max-width: 100%; height: auto; vertical-align: top; border-radius: 12px 12px 0 0; }
.air-list-content .loding_inner { text-align: center; max-width: 400px; margin: 0 auto; }
.air-list-content .loding_tit { font-size: 18px; font-weight: 600; color: #212529; line-height: 1.6; margin-bottom: 24px; }
.air-list-content .loding_bar { margin-bottom: 20px; }
.air-list-content .loding_bar_inner { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }
.air-list-content .loding_bar .sel_txt { font-size: 14px; }
.air-list-content .loding_bar .txt_ko { font-weight: 600; color: #212529; margin: 0 0 2px; }
.air-list-content .loding_bar .txt_en { font-size: 12px; color: #6c757d; margin: 0; }
.air-list-content .loding_wrap .loding_bar .icon_air { height: 4px; background: var(--air-accent); border-radius: 2px; width: 0%; max-width: 120px; margin: 0 auto; transition: width 0.3s; }
.air-list-content .loding_txt { font-size: 13px; color: #6c757d; line-height: 1.6; }

/* 새 창 전용(air-list-popup-page): padding-top 0, 폭 1280px, 배경 흰색 */
body.air-list-popup-page .air-list-main-wrap,
body.air-list-popup-page .gh-list-main-wrap,
body.air-list-popup-page .air-list-main-wrap.gh-list-main-wrap {
    padding-top: 0 !important;
    max-width: 1280px;
    width: 1280px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    background: #fff !important;
}
body.air-list-popup-page .air-list-body-wrap { background: #fff; }
body.air-list-popup-page .air-list-content { background: #fff; }

/* ===== 비행상세 드롭다운 (카드 아래 펼침) ===== */
.air-detail-dropdown-wrap { border-top: 1px solid #e9ecef; margin: 0 -24px -20px -24px; padding: 16px 24px 20px; background: #f8f9fa; border-radius: 0 0 12px 12px; }
.air-detail-dropdown-inner { max-width: 100%; }
.air-detail-fare.fare_detail { display: block; }
.air-detail-leg.fare_detail_del { margin-bottom: 16px; }
.air-detail-leg:last-of-type { margin-bottom: 0; }
.air-detail-leg-head.mrt_srch_result_bar { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px 12px; padding: 10px 12px; background: #fff; border: 1px solid #e9ecef; border-radius: 8px; margin-bottom: 8px; }
.air-detail-leg-head .label_blue.label_box { display: inline-block; padding: 2px 8px; font-size: 12px; font-weight: 600; color: #fff; background: var(--air-accent, #63c069); border-radius: 4px; }
.air-detail-leg-head .mrt_select_way { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.air-detail-leg-head .city_from, .air-detail-leg-head .city_to { font-weight: 600; color: #212529; }
.air-detail-leg-head .ico_itinerary { font-size: 12px; color: #6c757d; }
.air-detail-leg-head .air-detail-leg-head-second-line { flex-basis: 100%; width: 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 6px; padding-left: 0; text-align: left; justify-content: flex-start; }
.air-detail-leg-head .air-detail-leg-head-second-line .mrt_date { font-size: 13px; color: #6c757d; margin-left: 0; }
.air-detail-leg-head .mrt_date { font-size: 13px; color: #6c757d; margin-left: auto; }
.air-detail-leg-head .air-detail-via { font-size: 13px; color: #495057; margin-left: 0; }
.air-detail-leg-head .air-detail-via ul.air-detail-via-stops { margin: 6px 0 0 0; padding-left: 20px; list-style: none; }
.air-detail-leg-head .air-detail-via .air-detail-via-stop { margin-bottom: 4px; }
.air-detail-segments.detail_list { background: #fff; border: 1px solid #e9ecef; border-radius: 8px; padding: 12px 12px 12px 24px; margin-left: 12px; }
.air-detail-segments .airline.k1_clearfix { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; }
.air-detail-segments .list_01 .name { font-weight: 600; color: #212529; }
.air-detail-segments .list_02 .mrt_date { color: #495057; }
.air-detail-segments .list_04.mrt_time { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; flex: 1; min-width: 200px; }
.air-detail-segments .dep_time.time, .air-detail-segments .arr_time.time { font-weight: 600; color: #212529; }
.air-detail-segments .dep_time em, .air-detail-segments .arr_time em { font-weight: normal; font-size: 12px; color: #6c757d; margin-left: 4px; }
.air-detail-segments .from_to .time { color: #495057; }
.air-detail-segments .from_to .bag_info_mrt { font-size: 12px; color: #6c757d; margin-top: 2px; }
.air-detail-segments .from_to .bag_info_mrt .bag_allowance_green,
.bag_info_mrt .bag_allowance_green { color: #198754 !important; font-weight: 500; }
.air-detail-segments .from_to .bi-arrow-right { color: #888; margin-left: 6px; font-size: 14px; vertical-align: middle; }
.air-detail-segments .air-list-arr-day-suffix { font-size: 0.85em; opacity: 0.9; margin-left: 2px; }
.mrt_total_scdul.air-detail-fare-table { margin-top: 16px; padding: 16px; background: #fff; border: 1px solid #e9ecef; border-radius: 8px; }
.mrt_total_scdul .k1_h_tit1 { font-size: 15px; font-weight: 700; margin: 0 0 12px; color: #212529; text-align: center; }
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl { width: 100%; border-collapse: collapse; font-size: 14px; table-layout: fixed; }
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl colgroup col { width: 14.285%; }
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl th,
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl td { padding: 10px 12px; border: 1px solid #e9ecef; text-align: center; }
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl th { background: #f8f9fa; font-weight: 600; color: #495057; }
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl .air-detail-amt { text-align: right; }
.mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl th.air-detail-amt { text-align: center; }
.mrt_total_scdul .mrt_basic_view tfoot .mrt_total { font-weight: 700; color: #212529; text-align: left; }
.mrt_total_scdul .mrt_basic_view tfoot .fare_total { font-weight: 700; font-size: 16px; color: var(--air-accent, #63c069); }

/* 재검색 안내: 전체 화면 흐림 + 중앙 팝업 (600초 후 표시), body 직후 배치로 항상 뷰포트 기준 */
#airListAlarmOverlay.air-list-alarm-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 99999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.45) !important;
}
#airListAlarmOverlay.air-list-alarm-overlay.air-list-alarm-visible {
    display: flex !important;
}
.air-list-alarm-overlay #airListAlarmPopup {
    width: 360px;
    max-width: 90vw;
    padding: 28px 24px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    text-align: center;
}
.air-list-alarm-overlay .air-alarm-img { display: block; margin: 0 auto 16px; width: 40px; height: 40px; object-fit: contain; }
.air-list-alarm-overlay .air-alarm-title { margin: 0 0 12px; font-size: 18px; font-weight: 700; color: #212529; }
.air-list-alarm-overlay .air-alarm-text { margin: 0 0 20px; font-size: 14px; line-height: 1.6; color: #495057; }
.air-list-alarm-overlay .air-alarm-btn {
    display: inline-block;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: var(--air-accent, #63c069);
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.air-list-alarm-overlay .air-alarm-btn:hover { background: var(--air-accent-dark, #52a858); }

/* ----- 태블릿 (1024px 이하) ----- */
@media (max-width: 1024px) {
    .air-list-body-wrap { padding: 0; }
    .air-list-result-wrap { padding: 0 20px 40px; margin: 20px 0 40px; }
    .air-list-card { padding: 16px 20px; }
    .air-list-leg-table { font-size: 13px; }
    .air-list-leg-table td:nth-child(1),
    .air-list-td-airline,
    .air-list-td-airline-inner { width: 140px !important; min-width: 140px !important; max-width: 140px !important; }
    .air-list-airline-name.AIRLINE_NM_KR { flex: 0 0 102px !important; width: 102px !important; min-width: 102px !important; max-width: 102px !important; font-size: 13px !important; }
    .air-list-td-arrow { width: 120px !important; min-width: 120px !important; max-width: 120px !important; }
    .air-list-td-duration { width: 120px !important; min-width: 120px !important; max-width: 120px !important; }
    .air-list-td-via { width: 110px !important; min-width: 110px !important; max-width: 110px !important; font-size: 12px !important; }
    .air-list-td-price { width: 120px !important; min-width: 120px !important; max-width: 120px !important; }
    .air-list-price-num { font-size: 16px !important; }
    .air-list-td-detail { width: 88px !important; min-width: 88px !important; max-width: 88px !important; }
    .air-list-td-detail .air-list-btn-fare,
    .air-list-td-detail .air-list-btn-detail { max-width: 76px !important; font-size: 11px !important; padding: 5px 8px !important; }
    .air-detail-dropdown-wrap { margin: 0 -20px -16px -20px; padding: 12px 20px 16px; }
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl { font-size: 12px; }
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl th,
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl td { padding: 8px 6px; }
}
@media (max-width: 1024px) {
    body.air-list-popup-page .air-list-main-wrap,
    body.air-list-popup-page .gh-list-main-wrap { width: 100%; max-width: 100%; }
}

/* ----- 모바일 (768px 이하) ----- */
@media (max-width: 768px) {
    body.air-list-page .air-list-main-wrap,
    body.air-list-page .gh-list-main-wrap { padding-top: 0 !important; }
    body.air-list-popup-page .air-list-main-wrap,
    body.air-list-popup-page .gh-list-main-wrap { padding-top: 0 !important; }
    .aio_filter_sidebar { display: none; }
    .air-list-search-wrap { padding: 12px 16px 0; }
    .air-list-result-wrap { margin: 16px 0 32px; padding: 0 16px 32px; }
    .air-list-result-head { margin-bottom: 14px; padding-bottom: 10px; gap: 8px; }
    .air-list-result-title { font-size: 16px; }
    .air-list-result-count { font-size: 13px; }
    .air-list-cards { gap: 10px; }
    .air-list-card { padding: 12px 16px; border-radius: 10px; }
    .air-list-card-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .air-list-leg-table { font-size: 12px !important; table-layout: auto !important; min-width: 640px; }
    .air-list-leg-table td { padding: 4px 6px !important; }
    .air-list-leg-table td:nth-child(1),
    .air-list-td-airline,
    .air-list-td-airline-inner { width: 120px !important; min-width: 120px !important; max-width: 120px !important; }
    .air-list-airline-logo { width: 24px !important; height: 24px !important; min-width: 24px !important; }
    .air-list-airline-name.AIRLINE_NM_KR { flex: 0 0 88px !important; width: 88px !important; min-width: 88px !important; max-width: 88px !important; font-size: 12px !important; }
    .air-list-td-time { font-size: 14px !important; width: 44px !important; min-width: 44px !important; max-width: 44px !important; }
    .air-list-td-arrow { width: 80px !important; min-width: 80px !important; max-width: 80px !important; font-size: 12px !important; }
    .air-list-td-duration { width: 90px !important; min-width: 90px !important; max-width: 90px !important; font-size: 11px !important; }
    .air-list-td-via { width: 90px !important; min-width: 90px !important; max-width: 90px !important; font-size: 11px !important; }
    .air-list-via-detail { font-size: 10px !important; }
    .air-list-td-price { width: 100px !important; min-width: 100px !important; max-width: 100px !important; padding: 4px 6px !important; }
    .air-list-price-num { font-size: 15px !important; }
    .air-list-tasf { font-size: 9px !important; }
    .air-list-td-detail { width: 72px !important; min-width: 72px !important; max-width: 72px !important; }
    .air-list-td-detail .air-list-btn-fare,
    .air-list-td-detail .air-list-btn-detail { max-width: 64px !important; font-size: 11px !important; padding: 4px 6px !important; }
    .air-list-empty { padding: 40px 16px; font-size: 15px; }
    .air-list-fault { padding: 14px 16px; font-size: 13px; margin-bottom: 16px; }
    .air-detail-dropdown-wrap { margin: 0 -16px -12px -16px; padding: 10px 16px 14px; }
    .air-detail-leg-head.mrt_srch_result_bar { padding: 8px 10px; gap: 6px 10px; }
    .air-detail-leg-head .mrt_select_way { font-size: 13px; }
    .air-detail-segments.detail_list { padding: 10px 10px 10px 16px; margin-left: 8px; }
    .air-detail-segments .airline.k1_clearfix { font-size: 13px; gap: 6px 12px; }
    .mrt_total_scdul { margin-top: 12px; padding: 12px; }
    .mrt_total_scdul .k1_h_tit1 { font-size: 14px; margin-bottom: 10px; }
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl { font-size: 11px; }
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl th,
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl td { padding: 6px 4px; }
    .mrt_total_scdul .mrt_basic_view tfoot .fare_total { font-size: 14px; }
    #airListAlarmOverlay.air-list-alarm-overlay #airListAlarmPopup { width: 92vw; padding: 20px 16px; }
    .air-list-alarm-overlay .air-alarm-title { font-size: 16px; }
    .air-list-alarm-overlay .air-alarm-text { font-size: 13px; }
}

/* ----- 소형 모바일 (480px 이하) ----- */
@media (max-width: 480px) {
    .air-list-result-wrap { margin: 12px 0 24px; padding: 0 12px 24px; }
    .air-list-result-title { font-size: 15px; }
    .air-list-result-count { font-size: 12px; }
    .air-list-card { padding: 10px 12px; border-radius: 8px; }
    .air-list-leg-table { font-size: 11px !important; min-width: 560px; }
    .air-list-leg-table td { padding: 3px 4px !important; }
    .air-list-td-airline,
    .air-list-td-airline-inner { width: 100px !important; min-width: 100px !important; max-width: 100px !important; }
    .air-list-airline-logo { width: 22px !important; height: 22px !important; min-width: 22px !important; }
    .air-list-airline-name.AIRLINE_NM_KR { flex: 0 0 72px !important; width: 72px !important; min-width: 72px !important; max-width: 72px !important; font-size: 11px !important; }
    .air-list-td-time { font-size: 13px !important; width: 40px !important; min-width: 40px !important; max-width: 40px !important; }
    .air-list-price-num { font-size: 14px !important; }
    .air-list-td-detail .air-list-btn-fare,
    .air-list-td-detail .air-list-btn-detail { max-width: 56px !important; font-size: 10px !important; padding: 3px 4px !important; }
    .air-detail-dropdown-wrap { margin: 0 -12px -10px -12px; padding: 8px 12px 12px; }
    .air-detail-leg-head .label_blue.label_box { font-size: 11px; padding: 2px 6px; }
    .air-detail-leg-head .mrt_select_way { font-size: 12px; }
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl { font-size: 10px; }
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl th,
    .mrt_total_scdul .mrt_basic_view table.air-detail-fare-tbl td { padding: 4px 2px; }
}

/* ----- 국내선 검색결과: 가는편/오는편 편도선택 테이블 ----- */
.air-list-domestic-wrap { margin: 16px 0 24px; }
.air-list-domestic-section { margin-bottom: 28px; }
.air-list-domestic-section:last-child { margin-bottom: 0; }
.air-list-domestic-section-title { font-size: 16px; font-weight: 600; color: #212529; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--air-accent, #63c069); }
.air-list-domestic-table-wrap { overflow-x: auto; }
.air-list-domestic-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 720px; }
.air-list-domestic-table thead th { background: #f8f9fa; padding: 10px 12px; text-align: left; font-weight: 600; color: #495057; border: 1px solid #dee2e6; }
.air-list-domestic-table tbody td { padding: 12px; border: 1px solid #e9ecef; vertical-align: middle; }
.air-list-domestic-table tbody tr:hover { background: #f8f9fa; }
.air-list-domestic-td-airline { display: flex; align-items: center; gap: 8px; }
.air-list-domestic-td-airline .air-list-airline-logo { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
.air-list-domestic-airline-name { font-weight: 500; color: #212529; }
.air-list-domestic-td-time { white-space: nowrap; }
.air-list-domestic-airport { font-size: 12px; color: #6c757d; display: block; margin-top: 2px; }
.air-list-domestic-td-sale,
.air-list-domestic-td-seats { color: #6c757d; }
.air-list-domestic-td-price { font-weight: 600; color: #212529; white-space: nowrap; }
.air-list-domestic-btn-select { padding: 8px 16px; font-size: 14px; font-weight: 500; background: var(--air-accent, #63c069); color: #fff; border: none; border-radius: 8px; cursor: pointer; }
.air-list-domestic-btn-select:hover { background: var(--air-accent-dark, #52a858); }
