/* ==========================================================================
   EPHRAIX — SHARED BRAND THEME v2
   Matches the live ephraix.com aesthetic: deep space-black background,
   violet→cyan gradient accents, glassmorphic cards, gradient headline text.
   Toggle between themes by adding/removing class "light-mode" on <body>
   (handled by assets/js/theme-toggle.js — now wired into ALL pages).
   ========================================================================== */

:root{
  /* ---- DARK (default) ---- */
  --bg: #05040c;
  --bg-alt: #0a0818;
  --surface: rgba(255,255,255,0.045);
  --surface-solid: #100d20;
  --surface-2: rgba(255,255,255,0.07);
  --border: rgba(255,255,255,0.10);
  --border-strong: rgba(147,112,255,0.35);

  --accent-1: #8b5cf6;
  --accent-2: #6366f1;
  --accent-3: #22d3ee;
  --gradient: linear-gradient(120deg, var(--accent-1) 0%, var(--accent-2) 55%, var(--accent-3) 100%);
  --gradient-soft: linear-gradient(120deg, rgba(139,92,246,0.18), rgba(34,211,238,0.12));
  --glow: 0 0 0 1px rgba(139,92,246,0.15), 0 8px 40px rgba(99,102,241,0.18);

  --text: #f5f4fb;
  --text-muted: #a8a3c4;
  --text-dim: #716c94;

  --success: #34e0a1;
  --warning: #ffc061;
  --danger: #ff5c8a;

  --radius: 18px;
  --radius-sm: 10px;
  --font: 'Poppins','Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  --shadow: 0 20px 60px rgba(0,0,0,0.55);

  /* Tells the browser to render native UI (incl. <select> dropdown
     lists, scrollbars, etc.) with dark system colors by default, so
     the popup list isn't white-on-white before our own option
     background/color rules below take over. */
  color-scheme: dark;
}

body.light-mode{
  color-scheme: light;
  --bg: #f7f7fc;
  --bg-alt: #ffffff;
  --surface: rgba(20,10,60,0.035);
  --surface-solid: #ffffff;
  --surface-2: rgba(20,10,60,0.05);
  --border: rgba(30,20,70,0.10);
  --border-strong: rgba(99,102,241,0.30);

  --gradient-soft: linear-gradient(120deg, rgba(139,92,246,0.10), rgba(34,211,238,0.08));
  --glow: 0 0 0 1px rgba(99,102,241,0.10), 0 8px 30px rgba(99,102,241,0.10);

  --text: #16132b;
  --text-muted: #4c4870;
  --text-dim: #8b87a8;
  --shadow: 0 16px 40px rgba(30,20,80,0.08);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--font); background:var(--bg); color:var(--text);
  line-height:1.65; transition:background .25s ease, color .25s ease;
  background-image:
    radial-gradient(circle at 15% -10%, rgba(139,92,246,0.16), transparent 40%),
    radial-gradient(circle at 90% 10%, rgba(34,211,238,0.10), transparent 35%);
  background-attachment:fixed;
}
body.light-mode{
  background-image:
    radial-gradient(circle at 15% -10%, rgba(139,92,246,0.08), transparent 40%),
    radial-gradient(circle at 90% 10%, rgba(34,211,238,0.06), transparent 35%);
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
::selection{ background:var(--accent-1); color:#fff; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:10px; }
::-webkit-scrollbar-track{ background:transparent; }

.gradient-text{
  background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- Header / nav ---------- */
.ephraix-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px;
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  position:sticky; top:0; z-index:100;
}
.ephraix-logo{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.15rem; letter-spacing:.01em; }
.ephraix-logo img{ height:36px; width:36px; border-radius:10px; box-shadow:var(--glow); }
.ephraix-nav{ display:flex; gap:30px; }
.ephraix-nav a{ color:var(--text-muted); font-weight:500; font-size:.92rem; transition:.2s; position:relative; }
.ephraix-nav a:hover, .ephraix-nav a.active{ color:var(--text); }
.ephraix-nav a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-18px; height:2px; background:var(--gradient);
}
.ephraix-nav-actions{ display:flex; align-items:center; gap:14px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 22px; border-radius:999px; border:none; cursor:pointer;
  font-weight:600; font-size:.88rem; font-family:inherit; transition:.2s ease;
}
.btn-primary{ background:var(--gradient); color:#fff; box-shadow:0 6px 24px rgba(99,102,241,0.35); }
.btn-primary:hover{ filter:brightness(1.1); transform:translateY(-2px); box-shadow:0 10px 30px rgba(99,102,241,0.5); }
.btn-outline{ background:var(--surface); border:1px solid var(--border); color:var(--text); backdrop-filter:blur(6px); }
.btn-outline:hover{ border-color:var(--accent-1); color:var(--accent-1); }
.btn-ghost{ background:transparent; color:var(--text-muted); }
.btn-danger{ background:linear-gradient(120deg,#ff5c8a,#ff8a5c); color:#fff; }
.btn-sm{ padding:7px 16px; font-size:.78rem; }
.btn:disabled{ opacity:.5; cursor:not-allowed; }

/* ---------- Breadcrumb ---------- */
.ephraix-breadcrumb{
  padding:14px 32px; font-size:.83rem; color:var(--text-dim);
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.ephraix-breadcrumb a{ color:var(--text-muted); }
.ephraix-breadcrumb a:hover{ color:var(--accent-1); }
.ephraix-breadcrumb .sep{ opacity:.4; }
.ephraix-breadcrumb .current{ color:var(--text); }

.back-home{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--text-muted); font-size:.85rem; padding:0 32px 8px;
}
.back-home:hover{ color:var(--accent-1); }

/* ---------- Glass cards ---------- */
.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  position:relative;
}
.card::before{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background:linear-gradient(135deg, rgba(139,92,246,0.35), transparent 40%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; opacity:.6;
}

/* ---------- Badge pill (matches "Now Accepting Projects" style) ---------- */
.eyebrow-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 16px; border-radius:999px; font-size:.78rem; font-weight:600;
  background:var(--gradient-soft); border:1px solid var(--border-strong); color:var(--accent-3);
}

/* ---------- Footer ---------- */
.ephraix-footer{
  margin-top:60px; padding:40px 32px 26px;
  border-top:1px solid var(--border);
  color:var(--text-dim); font-size:.85rem; text-align:center;
}

/* ---------- Theme toggle switch (used on every page) ---------- */
.theme-toggle-btn{
  display:flex; align-items:center; gap:8px;
  background:var(--surface); border:1px solid var(--border);
  padding:8px 16px; border-radius:999px; cursor:pointer; font-size:.82rem; color:var(--text);
  backdrop-filter:blur(6px); transition:.2s;
}
.theme-toggle-btn:hover{ border-color:var(--accent-1); }

/* ---------- Native <select> dropdown readability (dark + light) ----------
   color-scheme (set on :root / body.light-mode above) fixes this in most
   modern browsers, but we set explicit colors too as a safety net for
   browsers/platforms that ignore color-scheme for the popup list. */
select{ color-scheme: inherit; }
select option{
  background: var(--surface-solid);
  color: var(--text);
}
select option:checked,
select option:hover{
  background: var(--accent-2);
  color: #fff;
}

/* ---------- Utility ---------- */
.container{ max-width:1200px; margin:0 auto; padding:0 24px; }
.pill{ display:inline-block; padding:4px 13px; border-radius:999px; font-size:.74rem; font-weight:600; }
.pill-published{ background:rgba(52,224,161,.15); color:var(--success); }
.pill-draft{ background:rgba(255,192,97,.15); color:var(--warning); }
