/* Flights.aspx — أنماط الصفحة (مستخرجة من الـ head المضمّن لتحسين التخزين المؤقت وتقليل حجب العرض) */
body { background: var(--bg-alt); }
.fl-hero { background: linear-gradient(120deg, var(--primary) 0%, #16407a 100%); color:#fff; padding:38px 0 90px; }
.fl-hero h1 { font-weight:900; font-size:1.9rem; margin:0; }
.fl-hero p { color:#cfe0f5; margin:.35rem 0 0; }
.fl-search { background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:18px; margin-top:-64px; position:relative; z-index:2; }
.trip-tabs { display:inline-flex; background:var(--bg-alt); border-radius:999px; padding:4px; margin-bottom:14px; }
.trip-tabs label { cursor:pointer; padding:6px 18px; border-radius:999px; font-weight:700; font-size:.9rem; color:var(--muted); margin:0; transition:.2s; }
.trip-tabs input { display:none; }
.trip-tabs input:checked + label { background:var(--primary); color:#fff; }
.form-label { font-weight:700; font-size:.85rem; color:var(--ink); }
.btn-cta { background:var(--accent); border:none; color:#fff; font-weight:800; }
.btn-cta:hover { background:#e96e00; color:#fff; }

.fl-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:0; margin-bottom:16px; overflow:hidden; transition:.2s; }
.fl-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.fl-body { display:flex; flex-wrap:wrap; align-items:stretch; }
.fl-legs { flex:1 1 62%; padding:18px 20px; min-width:280px; }
.fl-buy { flex:1 1 34%; background:var(--bg-alt); border-inline-start:1px dashed var(--border); padding:18px 20px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; min-width:200px; }
.leg { display:flex; align-items:center; gap:14px; padding:8px 0; }
.leg + .leg { border-top:1px dashed var(--border); }
.leg-air { display:flex; flex-direction:column; align-items:center; min-width:74px; }
.air-badge { width:42px; height:42px; border-radius:10px; background:var(--primary); color:#fff; display:grid; place-items:center; font-weight:800; font-size:.9rem; }
.air-logo { width:42px; height:42px; border-radius:10px; object-fit:contain; background:#fff; border:1px solid var(--border); padding:3px; }
.fl-refund { font-size:.76rem; font-weight:700; padding:2px 8px; border-radius:999px; }
.fl-refund.ok { background:#eafaf1; color:#157a4f; }
.fl-refund.no { background:#fdeeee; color:#c0392b; }
.air-name { font-size:.72rem; color:var(--muted); margin-top:4px; text-align:center; }
.leg-mid { flex:1; }
.leg-time { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.t-big { font-weight:900; font-size:1.15rem; color:var(--ink); }
.t-code { font-size:.8rem; color:var(--muted); font-weight:700; }
.leg-path { flex:1; text-align:center; position:relative; padding:0 6px; }
.leg-path .line { height:2px; background:var(--border); margin:10px 0 4px; position:relative; }
.leg-path .line i { position:absolute; top:-9px; inset-inline-start:50%; transform:translateX(50%); color:var(--primary); background:#fff; padding:0 4px; }
.leg-dur { font-size:.72rem; color:var(--muted); }
.stop-0 { color:#157a4f; font-weight:700; } .stop-1 { color:#b7791f; font-weight:700; }
.fl-price { font-weight:900; font-size:1.7rem; color:var(--primary); line-height:1; }
.fl-cur { font-size:.85rem; color:var(--muted); font-weight:700; }
.fl-meta { font-size:.78rem; color:var(--muted); margin:6px 0 12px; }
.seats-note { color:#c0392b; font-weight:700; font-size:.78rem; }
.soon-note { display:none; margin-top:8px; font-size:.8rem; color:#157a4f; background:#eafaf1; padding:6px 10px; border-radius:8px; }
@media (max-width:575.98px){ .fl-buy{ border-inline-start:none; border-top:1px dashed var(--border);} }
/* بحث المطارات (autocomplete) */
.ac-wrap { position: relative; }
.ac-list { position: absolute; inset-inline: 0; top: calc(100% + 4px); background: #fff; border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 14px 35px rgba(30,60,150,.16); z-index: 90; overflow: hidden; display: none; max-height: 320px; overflow-y: auto; text-align: start; }
.ac-list.show { display: block; }
.ac-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; cursor: pointer; color: var(--ink,#1f2a44); }
.ac-item:hover, .ac-item.active { background: #eef4ff; }
.ac-item i { color: var(--accent,#1EA5F0); }
/* شريط فلاتر الطيران — تصميم chips */
.fl-filters { background:#fff; border:1px solid var(--border); border-radius:16px; padding:16px 18px; margin-bottom:18px; box-shadow:0 6px 22px rgba(30,60,150,.06); }
.ff-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.ff-title { font-weight:800; color:var(--ink); font-size:1rem; display:inline-flex; align-items:center; gap:8px; }
.ff-title .bi { color:var(--primary); }
.ff-count { background:var(--bg-alt); color:var(--muted); font-weight:800; font-size:.76rem; padding:3px 11px; border-radius:20px; }
.ff-spacer { flex:1 1 auto; }
.ff-sort { display:inline-flex; align-items:center; gap:8px; }
.ff-sort label { font-size:.82rem; color:var(--muted); font-weight:700; margin:0; white-space:nowrap; display:inline-flex; align-items:center; gap:5px; }
.ff-sort select { width:auto; }
.ff-group { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.ff-group + .ff-group { margin-top:12px; padding-top:12px; border-top:1px dashed var(--border); }
.ff-label { font-size:.82rem; color:var(--muted); font-weight:800; margin-inline-end:2px; }
.chip { position:relative; margin:0; cursor:pointer; }
.chip input { position:absolute; opacity:0; width:0; height:0; }
.chip span { display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border:1.5px solid var(--border); border-radius:30px; font-weight:700; font-size:.86rem; color:var(--ink); background:#fff; transition:background .15s, border-color .15s, color .15s, box-shadow .15s; user-select:none; }
.chip.sm span { padding:7px 13px; font-size:.8rem; }
.chip span .bi { color:var(--muted); transition:color .15s; }
.chip:hover span { border-color:var(--primary); }
.chip input:checked + span { background:var(--primary); border-color:var(--primary); color:#fff; box-shadow:0 4px 12px rgba(30,60,150,.22); }
.chip input:checked + span .bi { color:#fff; }
.chip input:focus-visible + span { outline:3px solid rgba(30,165,240,.4); outline-offset:2px; }
@media (max-width:575.98px){ .ff-spacer{ display:none; width:100%; } .ff-sort{ width:100%; } .ff-sort select{ flex:1; } }
/* تقويم أسعار الأيام */
.fl-cal { margin-bottom:18px; }
.fl-cal:empty { display:none; }
.cal-head { font-weight:800; color:var(--ink); font-size:.9rem; margin-bottom:9px; display:flex; align-items:center; gap:7px; }
.cal-head .bi { color:var(--primary); }
.cal-strip { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 8px; scrollbar-width:thin; }
.cal-day { flex:1 0 auto; min-width:104px; text-align:center; background:#fff; border:1.5px solid var(--border); border-radius:14px; padding:11px 8px 12px; text-decoration:none; color:var(--ink); transition:transform .15s, box-shadow .15s, border-color .15s; position:relative; }
.cal-day:hover { border-color:var(--primary); transform:translateY(-2px); box-shadow:0 8px 18px rgba(30,60,150,.12); }
.cal-dow { display:block; font-size:.74rem; color:var(--muted); font-weight:700; }
.cal-date { display:block; font-size:.84rem; font-weight:800; margin:2px 0 7px; }
.cal-p { display:block; font-weight:900; color:var(--primary); font-size:.92rem; }
.cal-p.none { color:var(--muted); font-weight:700; }
.cal-p.load { color:#c3ccda; font-weight:800; letter-spacing:2px; }
.cal-day.sel { border-color:var(--primary); background:#eef4ff; }
.cal-day.best { border-color:#16a34a; box-shadow:0 6px 16px rgba(22,163,74,.14); }
.cal-day.best .cal-p { color:#16a34a; }
.cal-badge { position:absolute; top:-9px; left:50%; transform:translateX(-50%); background:#16a34a; color:#fff; font-size:.62rem; font-weight:800; padding:2px 9px; border-radius:20px; white-space:nowrap; box-shadow:0 3px 8px rgba(22,163,74,.3); }
/* تفاصيل الرحلة والأمتعة */
.fl-more-btn { width:100%; background:var(--bg-alt); border:none; border-top:1px solid var(--border); color:var(--primary); font-weight:800; font-size:.85rem; padding:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px; transition:background .15s; }
.fl-more-btn:hover { background:#eef4ff; }
.fl-more-btn .chev { transition:transform .2s; font-size:.8rem; }
.fl-more-btn.open .chev { transform:rotate(180deg); }
.fl-details { padding:16px 18px; background:#fbfcff; border-top:1px dashed var(--border); display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.det-sec { }
.det-h { font-weight:800; color:var(--ink); font-size:.86rem; margin-bottom:8px; display:flex; align-items:center; gap:7px; }
.det-h .bi { color:var(--primary); }
.det-body { font-size:.82rem; }
.det-row { display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px dashed #eef1f6; }
.det-k { color:var(--muted); font-weight:700; white-space:nowrap; }
.det-v { color:var(--ink); font-weight:700; text-align:end; }
.det-v.ok { color:#16a34a; }
.det-v.no { color:#b03a2e; }
/* خط زمني للمقاطع — إبراز أوقات الإقلاع والوصول */
.segt { background:#fff; border:1px solid var(--border); border-radius:14px; padding:12px 14px; margin-bottom:10px; box-shadow:0 1px 3px rgba(16,24,40,.05); }
.segt-head { font-weight:800; color:var(--primary); font-size:.84rem; margin-bottom:12px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.segt-fn { background:#eef2ff; color:var(--primary); border-radius:6px; padding:1px 8px; font-size:.74rem; letter-spacing:.3px; }
.segt-ac { color:var(--muted); font-weight:700; font-size:.74rem; display:inline-flex; align-items:center; gap:4px; }
.segt-body { position:relative; }
.segt-row { display:grid; grid-template-columns:66px 18px 1fr; align-items:center; gap:10px; }
.segt-time { font-weight:800; color:var(--ink); font-size:1rem; line-height:1.15; text-align:center; }
.segt-time .segt-date { display:block; font-weight:700; font-size:.64rem; color:var(--muted); margin-top:2px; white-space:nowrap; }
.segt-dot { width:13px; height:13px; border-radius:50%; border:3px solid var(--primary); background:#fff; justify-self:center; z-index:2; }
.segt-dot.arr { background:var(--primary); }
.segt-place { font-size:.84rem; color:var(--ink); }
.segt-place b { font-weight:800; margin-inline-end:5px; }
.segt-sub { display:block; font-size:.68rem; color:var(--muted); font-weight:700; margin-top:1px; }
.segt-mid { display:grid; grid-template-columns:66px 18px 1fr; align-items:center; gap:10px; min-height:36px; }
.segt-mid::before { content:""; grid-column:2; justify-self:center; width:2px; height:100%; background:var(--primary); opacity:.32; border-radius:2px; }
.segt-dur { grid-column:3; font-size:.77rem; color:var(--muted); font-weight:700; display:inline-flex; align-items:center; gap:5px; }
.segt-lay { font-size:.78rem; color:#b8860b; background:#fff8e6; border:1px solid #f2e2b6; border-radius:8px; padding:6px 10px; margin-top:10px; display:inline-flex; align-items:center; gap:6px; }

/* باقات الأسعار (fare families) — اختيار مباشر */
.fl-more-fares { margin-top:10px; font-size:.74rem; font-weight:800; color:var(--accent); display:inline-flex; align-items:center; gap:5px; }
.fl-fares-btn { width:100%; background:#fff7ef; border:none; border-top:1px solid var(--border); color:var(--accent); font-weight:800; font-size:.86rem; padding:11px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:background .15s; }
.fl-fares-btn:hover { background:#feefe0; }
.fl-fares-btn .chev { transition:transform .2s; font-size:.8rem; }
.fl-fares-btn.open .chev { transform:rotate(180deg); }
.fl-fares { padding:14px 18px; background:#fbfcff; border-top:1px dashed var(--border); display:flex; flex-direction:column; gap:12px; }
.fare-opt { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1px solid var(--border); border-radius:14px; padding:14px 16px; transition:border-color .15s, box-shadow .15s; }
.fare-opt:hover { border-color:var(--accent); box-shadow:0 3px 12px rgba(255,122,0,.10); }
.fare-opt.best { border-color:#16a34a; background:#f8fffb; }
.fare-info { flex:1 1 62%; min-width:230px; }
.fare-name { font-weight:800; color:var(--ink); font-size:.95rem; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.fare-badge { font-size:.68rem; font-weight:800; color:#157a4f; background:#eafaf1; border-radius:999px; padding:2px 9px; }
.fare-badge.top { color:#854f0b; background:#fdf0d9; }
.fare-tags { display:flex; flex-wrap:wrap; gap:7px; }
.ftag { font-size:.78rem; font-weight:700; border-radius:999px; padding:4px 11px; display:inline-flex; align-items:center; gap:5px; background:#f4f6fb; color:var(--muted); }
.ftag i { font-size:.92rem; }
.ftag.ok { background:#eafaf1; color:#157a4f; }
.ftag.no { background:#fdeeee; color:#c0392b; }
.ftag.off { background:#f1f3f7; color:#93a0b4; }
.fare-name { font-size:1.02rem; }
.fare-opt { padding:15px 18px; }
.fare-buy { flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:8px; min-width:120px; }
.fare-price { font-weight:900; font-size:1.25rem; color:var(--primary); line-height:1; white-space:nowrap; }
.fare-price span { font-size:.72rem; color:var(--muted); font-weight:700; }
.fare-buy .btn { width:100%; }
@media (max-width:575.98px){ .fare-buy{ flex:1 1 100%; flex-direction:row; justify-content:space-between; } }
