/* AviaGo — طبقة الحركة والتفاعل المشتركة لكل الصفحات */

/* ---------- سماء متحركة خلف الأقسام الداكنة ---------- */
.dark{position:relative;overflow:hidden;isolation:isolate}
.dark > .wrap{position:relative;z-index:2}
.fx-sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.fx-sky svg{position:absolute;inset:0;width:100%;height:100%}
.fx-route{fill:none;stroke:rgba(232,199,102,.22);stroke-width:1.3;stroke-dasharray:4 8;animation:fx-dash 18s linear infinite}
@keyframes fx-dash{to{stroke-dashoffset:-240}}
.fx-city{fill:#E8C766}
.fx-ping{fill:none;stroke:#E8C766;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:fx-ping 3.2s ease-out infinite}
@keyframes fx-ping{from{transform:scale(.4);opacity:.85}to{transform:scale(3.2);opacity:0}}
.fx-plane{fill:#fff;opacity:.9}
.fx-plane.gold{fill:#E8C766}
.fx-radar{position:absolute;z-index:0;width:110vmax;height:110vmax;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:.35;
  background:conic-gradient(from 0deg,rgba(232,199,102,.14),rgba(232,199,102,.03) 10%,transparent 22%,transparent);
  -webkit-mask-image:radial-gradient(circle,#000 0,#000 52%,transparent 70%);mask-image:radial-gradient(circle,#000 0,#000 52%,transparent 70%);
  animation:fx-sweep 12s linear infinite}
@keyframes fx-sweep{to{transform:translate(-50%,-50%) rotate(360deg)}}
.fx-glow{position:absolute;z-index:0;pointer-events:none;width:46vmax;height:46vmax;border-radius:50%;filter:blur(10px);
  background:radial-gradient(circle,rgba(201,162,39,.16),transparent 65%);animation:fx-drift 16s ease-in-out infinite alternate}
@keyframes fx-drift{from{transform:translate(-8%,-6%)}to{transform:translate(10%,8%)}}

/* ---------- خريطة البطل: مسار متحرك ---------- */
.fx-hero-route{animation:fx-dash 6s linear infinite}
.fx-hero-ping{transform-box:fill-box;transform-origin:center;animation:fx-ping 2.6s ease-out infinite}

/* ---------- لوحة رحلات (Departures) ---------- */
.fx-board{direction:ltr;text-align:left;background:linear-gradient(180deg,#0E2340,#0A1A31);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;font-family:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace}
.fx-board-top{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08);font-size:11px;letter-spacing:.18em;color:#9FB2CE;font-weight:600}
.fx-board-top b{color:#E8C766;display:inline-flex;align-items:center;gap:7px;font-weight:600}
.fx-board-top .clk{color:#E8C766}
.fx-row{white-space:nowrap;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:9px 14px;font-size:13px;color:#DCE6F5;font-weight:600}
.fx-row + .fx-row{border-top:1px dashed rgba(255,255,255,.08)}
.fx-row .dest{color:#9FB2CE;font-weight:500;letter-spacing:.04em}
.fx-flaps{display:flex;gap:2px}
.fx-flap{position:relative;width:15px;height:21px;display:grid;place-items:center;font-size:12.5px;color:#E8C766;border-radius:2px;
  background:linear-gradient(180deg,#183257 0 49%,#122844 51% 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.45)}
.fx-flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55)}
.fx-flap.flip{animation:fx-flip .08s linear}
@keyframes fx-flip{50%{transform:scaleY(.2)}}
.fx-flap.ok{color:#7EF0A4}

/* ---------- ظهور تدريجي عند التمرير ---------- */
.fx-js .fx-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.fx-js .fx-reveal.in{opacity:1;transform:none}

/* ---------- لمسات تفاعلية ---------- */
.card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(11,31,58,.45);border-color:rgba(201,162,39,.45)}
.dark .card:hover{box-shadow:0 18px 40px -22px rgba(0,0,0,.7)}
.btn{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(201,162,39,.85)}
.top{transition:box-shadow .3s ease}
.top.scrolled{box-shadow:0 10px 30px -12px rgba(0,0,0,.55)}
.fx-shine{position:relative;overflow:hidden}
.fx-shine::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:fx-shine 6s ease-in-out infinite}
@keyframes fx-shine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* ---------- أضواء المدرج أعلى الفوتر ---------- */
.fx-runway{position:relative;height:34px;margin:-30px 0 26px;overflow:hidden}
.fx-runway::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed rgba(255,255,255,.1)}
.fx-lights{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center}
.fx-lights i{width:6px;height:6px;border-radius:50%;background:#3a2a08;animation:fx-rabbit 2.4s linear infinite}
@keyframes fx-rabbit{0%,8%{background:#FFF3C4;box-shadow:0 0 10px 3px rgba(255,200,80,.8)}16%,100%{background:#3a2a08;box-shadow:none}}

@media (max-width:900px){
  .fx-radar{opacity:.22}
  .fx-row{gap:10px;font-size:12px}
  /* إصلاح: شبكات مكتوبة inline في الصفحات الأصلية ما كانت تنطوي على الجوال */
  .wrap[style*="grid-template-columns"]{grid-template-columns:1fr !important;gap:36px !important}
}
@media (max-width:600px){
  div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important}
  .fx-row .dest{font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .fx-route,.fx-ping,.fx-radar,.fx-glow,.fx-hero-route,.fx-hero-ping,.fx-lights i,.fx-shine::before{animation:none}
  .fx-js .fx-reveal{opacity:1;transform:none;transition:none}
  .card:hover,.btn-gold:hover{transform:none}
}
