/* ════════════════════════════════════════════════════════════
   EAGLE GROUP — Global Medical Assistance
   Stylesheet (dark theme, refined)
════════════════════════════════════════════════════════════ */

*{ box-sizing: border-box; }

:root{
    --gold: #D4AF37;
    --gold-dim: rgba(212,175,55,0.15);
    --gold-border: rgba(212,175,55,0.25);
    --sky: #00A3E0;
    --sky-dim: rgba(0,163,224,0.12);
    --sky-border: rgba(0,163,224,0.22);
    --navy: #0B1628;
    --navy-card: rgba(11,22,40,0.85);
    --navy-surface: rgba(16,32,58,0.72);
    --bg: #081326;
}

html{ scroll-behavior: smooth; scroll-padding-top: 110px; }
body{
    background: var(--bg);
    font-family: 'Barlow','Cairo',sans-serif;
    position: relative;
}
/* Brighter, layered backdrop — colored glows lift the dark theme.
   Fixed overlay (cheaper & smoother on mobile than background-attachment:fixed) */
body::before{
    content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
    background:
        radial-gradient(1100px 620px at 10% -10%, rgba(0,163,224,0.20), transparent 60%),
        radial-gradient(1000px 620px at 100% -2%, rgba(212,175,55,0.15), transparent 58%),
        radial-gradient(900px 760px at 50% 118%, rgba(0,163,224,0.11), transparent 62%);
}

/* selection */
::selection{ background: rgba(0,163,224,0.3); color:#fff; }

/* ── Skip link (a11y) ── */
.skip-link{
    position:absolute; left:50%; top:-60px; transform:translateX(-50%);
    background:var(--sky); color:#fff; padding:10px 20px; border-radius:0 0 10px 10px;
    font-size:13px; font-weight:700; z-index:200; transition:top .25s ease;
}
.skip-link:focus{ top:0; }

/* keyboard focus ring */
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible{
    outline:2px solid var(--sky); outline-offset:2px; border-radius:6px;
}

/* ── Scrollbar ── */
::-webkit-scrollbar{ width:6px; }
::-webkit-scrollbar-track{ background:#040A14; }
::-webkit-scrollbar-thumb{ background:var(--sky); border-radius:10px; }
::-webkit-scrollbar-thumb:hover{ background:var(--gold); }

/* ── Ticker ── */
@keyframes ticker{ 0%{ transform:translateX(100vw);} 100%{ transform:translateX(-100%);} }
.ticker-inner{ animation:ticker 38s linear infinite; white-space:nowrap; }
.ticker-wrap:hover .ticker-inner{ animation-play-state:paused; }

/* ── Glow pulse for CTAs ── */
@keyframes glow-sky{ 0%,100%{ box-shadow:0 0 0 0 rgba(0,163,224,0);} 50%{ box-shadow:0 0 22px 4px rgba(0,163,224,0.35);} }
@keyframes glow-gold{ 0%,100%{ box-shadow:0 0 0 0 rgba(212,175,55,0);} 50%{ box-shadow:0 0 22px 4px rgba(212,175,55,0.30);} }
.glow-sky{ animation:glow-sky 3s infinite; }
.glow-gold{ animation:glow-gold 3s infinite; }

/* ── Cards ── */
.card-sky{
    background:var(--navy-surface);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border:1px solid var(--sky-border);
    transition:border-color .35s, transform .35s, background .35s, box-shadow .35s;
}
.card-sky:hover{ border-color:rgba(0,163,224,0.5); transform:translateY(-3px); background:rgba(14,28,52,0.92); box-shadow:0 18px 40px -22px rgba(0,163,224,0.5); }

.card-gold{
    background:var(--navy-surface);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border:1px solid var(--gold-border);
    transition:border-color .35s, transform .35s, background .35s, box-shadow .35s;
}
.card-gold:hover{ border-color:rgba(212,175,55,0.5); transform:translateY(-3px); background:rgba(14,28,52,0.92); box-shadow:0 18px 40px -22px rgba(212,175,55,0.45); }

/* ── Service cards ── */
.svc-card{
    background:rgba(11,22,40,0.5);
    border:1px solid rgba(255,255,255,0.06);
    transition:all .3s ease; position:relative; overflow:hidden;
}
.svc-card::before{
    content:''; position:absolute; inset:0;
    background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(0,163,224,0.10), transparent 60%);
    opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.svc-card:hover::before{ opacity:1; }
.svc-card:hover{ border-color:rgba(0,163,224,0.3); background:rgba(11,22,40,0.85); transform:translateY(-3px); }

/* ── Divider gradient ── */
.divider{ height:1px; background:linear-gradient(90deg, transparent, rgba(0,163,224,0.3), rgba(212,175,55,0.3), transparent); }

/* ── Stat counters ── */
.stat-val{ font-variant-numeric:tabular-nums; }

/* ── Simulator ── */
.sim-log{ font-family:'Courier New', monospace; }
.sim-log-entry{ border-left:2px solid; padding-left:10px; animation:fadeIn .3s ease; }
.sim-log-entry.sky{ border-color:var(--sky); color:#b0d8f0; }
.sim-log-entry.gold{ border-color:var(--gold); color:#e8d89a; }
.sim-log-entry.green{ border-color:#22c55e; color:#86efac; }
.sim-log-entry.amber{ border-color:#f59e0b; color:#fcd34d; }
.sim-log-entry.red{ border-color:#ef4444; color:#fca5a5; }
@keyframes fadeIn{ from{ opacity:0; transform:translateX(-6px);} to{ opacity:1; transform:translateX(0);} }

.step-pill{ transition:all .3s ease; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 0; border-radius:6px; text-align:center; }
.step-pill.idle{ background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07); color:#4b5563; }
.step-pill.active{ background:rgba(0,163,224,0.15); border:1px solid rgba(0,163,224,0.5); color:var(--sky); transform:scale(1.05); }
.step-pill.done{ background:rgba(34,197,94,0.12); border:1px solid rgba(34,197,94,0.4); color:#4ade80; }
.step-pill.gold-a{ background:rgba(212,175,55,0.12); border:1px solid rgba(212,175,55,0.4); color:var(--gold); transform:scale(1.05); }

/* ── Urgency buttons ── */
.urg-btn{ transition:all .2s ease; border-radius:8px; font-size:11px; font-weight:700; padding:8px 4px; border:1px solid rgba(255,255,255,0.1); color:#6b7280; cursor:pointer; background:transparent; }
.urg-btn:hover{ border-color:rgba(0,163,224,0.4); color:#9ca3af; }
.urg-btn.active-routine{ border-color:rgba(34,197,94,0.5); background:rgba(34,197,94,0.1); color:#4ade80; }
.urg-btn.active-priority{ border-color:rgba(245,158,11,0.5); background:rgba(245,158,11,0.1); color:#fbbf24; }
.urg-btn.active-immediate{ border-color:rgba(239,68,68,0.5); background:rgba(239,68,68,0.1); color:#f87171; }

#simProgress{ transition:width .4s ease; }

/* ── Select styling ── */
select{
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2300A3E0' viewBox='0 0 20 20'%3E%3Cpath d='M5 7l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center; background-size:16px;
}

/* ── Contact logo row ── */
.contact-logo{ height:44px; width:auto; object-fit:contain; filter:drop-shadow(0 0 8px rgba(0,163,224,0.2)); }

/* ── Section fade-in ── */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible{ opacity:1; transform:translateY(0); }
.reveal[data-delay="1"]{ transition-delay:.08s; }
.reveal[data-delay="2"]{ transition-delay:.16s; }
.reveal[data-delay="3"]{ transition-delay:.24s; }

/* Mobile menu open state */
#mobileMenu.open{ display:flex; }

/* ── Hero glow orbs ── */
.orb{ position:absolute; border-radius:50%; filter:blur(100px); pointer-events:none; }

/* ── Brand logo treatments ── */
.brand-logo-glow{ filter:drop-shadow(0 6px 26px rgba(0,163,224,0.45)); }
.hero-logo-watermark{
    position:absolute; top:50%; right:-4%; transform:translateY(-50%);
    width:min(620px,55%); max-width:680px; opacity:.06; pointer-events:none;
    user-select:none; z-index:0; filter:saturate(1.1);
}
@media (max-width:1023px){ .hero-logo-watermark{ right:50%; transform:translate(50%,-50%); width:90%; opacity:.04; } }
.section-logo{ filter:drop-shadow(0 4px 18px rgba(0,163,224,0.35)); }

/* Balance line under section labels */
.section-tag::after{ content:''; display:block; width:36px; height:2px; background:currentColor; margin:8px auto 0; border-radius:2px; opacity:.5; }
.section-tag.left::after{ margin-left:0; margin-right:auto; }

/* Footer link */
footer a{ text-decoration:none; transition:color .2s; }

/* ── Trust / accreditation marquee ── */
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.marquee-track{ display:flex; width:max-content; animation:marquee 30s linear infinite; }
.trust-wrap:hover .marquee-track{ animation-play-state:paused; }
.trust-item{ display:flex; align-items:center; gap:.6rem; padding:0 2.2rem; color:#7c8aa3; font-weight:700; font-size:13px; letter-spacing:.03em; white-space:nowrap; }
.trust-item i{ color:var(--sky); font-size:18px; }

/* ── Process timeline ── */
.timeline-line{ background:linear-gradient(180deg, var(--sky), var(--gold)); }
.tl-node{
    width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:rgba(0,163,224,0.1); border:1px solid var(--sky-border); color:var(--sky);
    font-weight:900; flex-shrink:0; transition:transform .3s ease, box-shadow .3s ease;
}
.tl-step:hover .tl-node{ transform:scale(1.08); box-shadow:0 0 24px -4px rgba(0,163,224,0.6); }

/* ── Testimonials ── */
.quote-card{
    background:var(--navy-surface); border:1px solid rgba(255,255,255,0.07);
    transition:border-color .35s, transform .35s; position:relative; overflow:hidden;
}
.quote-card:hover{ border-color:var(--sky-border); transform:translateY(-3px); }
.quote-mark{
    font-family:Georgia, serif; font-size:90px; line-height:1;
    color:var(--sky); opacity:.12; position:absolute; top:-6px; right:20px;
    pointer-events:none; user-select:none; z-index:0;
}
.quote-card blockquote{ position:relative; z-index:1; }

/* ── FAQ accordion ── */
.faq-item{ border:1px solid rgba(255,255,255,0.07); border-radius:14px; background:rgba(11,22,40,0.5); transition:border-color .3s, background .3s; overflow:hidden; }
.faq-item.open{ border-color:var(--sky-border); background:rgba(14,28,52,0.7); }
.faq-q{ width:100%; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:18px 20px; cursor:pointer; background:none; border:none; color:#fff; font-weight:600; font-size:15px; }
.faq-q .chev{ transition:transform .3s ease; color:var(--sky); flex-shrink:0; }
.faq-item.open .faq-q .chev{ transform:rotate(180deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-a-inner{ padding:0 20px 18px; color:#9aa6b8; font-size:14px; line-height:1.7; }

/* ── Intake form ── */
.field-label{ display:block; font-size:11px; font-weight:700; color:var(--sky); text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.field{
    width:100%; background:rgba(6,13,26,0.8); border:1px solid rgba(255,255,255,0.1); border-radius:12px;
    padding:12px 14px; color:#fff; font-size:14px; transition:border-color .25s, box-shadow .25s; font-family:inherit;
}
.field::placeholder{ color:#5a6678; }
.field:focus{ outline:none; border-color:var(--sky); box-shadow:0 0 0 3px rgba(0,163,224,0.15); }
.field.invalid{ border-color:#ef4444; box-shadow:0 0 0 3px rgba(239,68,68,0.12); }
textarea.field{ resize:vertical; min-height:96px; }
.field-error{ color:#fca5a5; font-size:11px; margin-top:5px; display:none; }
.field-error.show{ display:block; }

.form-step{ display:none; animation:fadeIn .35s ease; }
.form-step.active{ display:block; }
.stepper-dot{ flex:1; height:4px; border-radius:4px; background:rgba(255,255,255,0.1); transition:background .35s; }
.stepper-dot.active{ background:var(--sky); }
.stepper-dot.done{ background:#22c55e; }

/* ── Back to top ── */
#backTop{
    position:fixed; bottom:24px; left:24px; z-index:45; width:46px; height:46px; border-radius:14px;
    background:rgba(0,163,224,0.15); border:1px solid var(--sky-border); color:var(--sky);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    opacity:0; transform:translateY(16px); pointer-events:none;
    transition:opacity .3s, transform .3s, background .25s, color .25s;
    backdrop-filter:blur(8px);
}
#backTop.show{ opacity:1; transform:translateY(0); pointer-events:auto; }
#backTop:hover{ background:var(--sky); color:#fff; }

/* ── Scroll progress bar ── */
#scrollProgress{
    position:fixed; top:0; left:0; height:3px; width:0%;
    background:linear-gradient(90deg, var(--sky), var(--gold)); z-index:60; transition:width .1s linear;
}

/* ── Header ── */
.site-header{
    background:rgba(6,13,26,0.85);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
/* ── Header scrolled state ── */
#mainHeader.scrolled{ box-shadow:0 8px 30px -12px rgba(0,0,0,0.6); }

/* gradient text helper */
.text-gradient{ background-image:linear-gradient(90deg,#00A3E0 20%,#D4AF37 80%); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* coverage dots */
.cov-dot{ animation:covPulse 2.4s ease-in-out infinite; }
@keyframes covPulse{ 0%,100%{ opacity:.4; } 50%{ opacity:1; } }

/* reduce motion */
@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
    .reveal{ opacity:1; transform:none; }
}

/* ════════════════════════════════════════════════════════════
   LIGHT THEME  —  scoped overrides (html.theme-light)
   Dark theme above stays untouched. Goal: everything readable,
   logos & layout unchanged, just brighter surfaces + dark text.
════════════════════════════════════════════════════════════ */
html.theme-light{
    --gold: #9a7d1e;            /* darker gold for contrast on white */
    --gold-dim: rgba(154,125,30,0.12);
    --gold-border: rgba(154,125,30,0.30);
    --sky: #0077a8;             /* deepened sky for text/contrast */
    --sky-dim: rgba(0,119,168,0.10);
    --sky-border: rgba(0,119,168,0.28);
    --navy: #ffffff;
    --navy-card: rgba(255,255,255,0.92);
    --navy-surface: rgba(255,255,255,0.86);
    --bg: #eef3f9;
}
html.theme-light body{ color:#1f2a3d; }
html.theme-light body::before{
    background:
        radial-gradient(1100px 620px at 10% -10%, rgba(0,119,168,0.14), transparent 60%),
        radial-gradient(1000px 620px at 100% -2%, rgba(154,125,30,0.10), transparent 58%),
        radial-gradient(900px 760px at 50% 118%, rgba(0,119,168,0.08), transparent 62%);
}

/* ── Text colour overrides (scoped beat Tailwind utilities) ── */
html.theme-light .text-white{ color:#16233a; }
html.theme-light .text-gray-300{ color:#3a465c; }
html.theme-light .text-gray-400{ color:#475569; }
html.theme-light .text-gray-500{ color:#5a6678; }
html.theme-light .text-gray-600{ color:#6b7689; }
html.theme-light .text-sky{ color:#0077a8; }
html.theme-light .text-gold{ color:#8a6f17; }

/* ── Surface / background utility overrides ── */
html.theme-light .bg-navy-900,
html.theme-light .bg-navy-900\/60,
html.theme-light .bg-navy-900\/70,
html.theme-light .bg-navy-900\/80,
html.theme-light .bg-navy-800,
html.theme-light .bg-navy-800\/60,
html.theme-light .bg-navy-800\/50{ background-color:#ffffff !important; }
html.theme-light .bg-white\/5{ background-color:rgba(15,30,55,0.04) !important; }
html.theme-light .bg-white\/10{ background-color:rgba(15,30,55,0.06) !important; }

/* ── Border utility overrides ── */
html.theme-light .border-white\/5,
html.theme-light .border-white\/8,
html.theme-light .border-white\/10{ border-color:rgba(15,30,55,0.10) !important; }
html.theme-light .border-white\/20{ border-color:rgba(15,30,55,0.16) !important; }
html.theme-light .border-white\/40{ border-color:rgba(15,30,55,0.28) !important; }

/* ── Header ── */
html.theme-light .site-header{ background:rgba(255,255,255,0.85); border-bottom-color:rgba(15,30,55,0.08); }
html.theme-light #mainHeader.scrolled{ box-shadow:0 8px 30px -16px rgba(15,30,55,0.25); }
html.theme-light #themeToggle{ border-color:rgba(15,30,55,0.15); color:#475569; }

/* ── Cards ── */
html.theme-light .card-sky,
html.theme-light .card-gold{ background:#ffffff; box-shadow:0 10px 30px -22px rgba(15,30,55,0.45); }
html.theme-light .card-sky:hover,
html.theme-light .card-gold:hover{ background:#ffffff; }
html.theme-light .svc-card{ background:#ffffff; border-color:rgba(15,30,55,0.10); box-shadow:0 8px 24px -20px rgba(15,30,55,0.4); }
html.theme-light .svc-card:hover{ background:#ffffff; border-color:var(--sky-border); }

/* ── Quote / testimonials ── */
html.theme-light .quote-card{ background:#ffffff; border-color:rgba(15,30,55,0.10); }
html.theme-light .quote-mark{ opacity:.10; }

/* ── FAQ ── */
html.theme-light .faq-item{ background:#ffffff; border-color:rgba(15,30,55,0.10); }
html.theme-light .faq-item.open{ background:#f4f8fc; border-color:var(--sky-border); }
html.theme-light .faq-q{ color:#16233a; }
html.theme-light .faq-a-inner{ color:#52607a; }

/* ── Form fields ── */
html.theme-light .field{ background:#ffffff; border-color:rgba(15,30,55,0.16); color:#16233a; }
html.theme-light .field::placeholder{ color:#94a0b3; }
html.theme-light .field:focus{ box-shadow:0 0 0 3px rgba(0,119,168,0.15); }

/* ── Trust marquee ── */
html.theme-light .trust-item{ color:#5a6678; }

/* ── Simulator console ── */
html.theme-light .sim-log-entry.sky{ color:#0b6f99; }
html.theme-light .sim-log-entry.gold{ color:#8a6f17; }
html.theme-light .sim-log-entry.green{ color:#15803d; }
html.theme-light .sim-log-entry.amber{ color:#b45309; }
html.theme-light .sim-log-entry.red{ color:#b91c1c; }
html.theme-light .step-pill.idle{ background:rgba(15,30,55,0.05); border-color:rgba(15,30,55,0.12); color:#8a93a3; }
html.theme-light .urg-btn{ border-color:rgba(15,30,55,0.14); color:#6b7280; }

/* ── Scrollbar ── */
html.theme-light ::-webkit-scrollbar-track{ background:#dfe7f0; }
