/* Shared ED Nexus public-site theme. Loaded after each page's legacy styles. */
:root {
  --bg: #070b12;
  --bg2: #0d1420;
  --bg3: #111a29;
  --border: rgba(164, 180, 209, .17);
  --accent: #4f7ef8;
  --accent2: #8fb1ff;
  --accent-glow: rgba(79, 126, 248, .12);
  --text: #f4f7ff;
  --muted: #9daecc;
  --success: #34d399;
  --warning: #e8bd76;
  --danger: #fb7185;
  --radius: 18px;
  --radius-sm: 10px;
}

html { color-scheme: dark; }
body {
  min-height: 100vh;
  background-color: #070b12 !important;
  background-image:
    linear-gradient(rgba(125, 145, 178, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 145, 178, .045) 1px, transparent 1px),
    radial-gradient(circle at 72% 4%, rgba(42, 109, 214, .14), transparent 32%) !important;
  background-size: 48px 48px, 48px 48px, auto !important;
  background-attachment: fixed !important;
  color: var(--text) !important;
}

.space-layer, .space-nebula, #starfield-canvas { display: none !important; }
.container { width: 100%; }

nav { top: 16px !important; padding-inline: 24px; }
.nav-inner {
  width: 100%;
  max-width: 1180px !important;
  min-height: 66px;
  height: auto !important;
  margin-inline: auto;
  padding: 8px 10px 8px 14px !important;
  border: 1px solid rgba(164, 180, 209, .2) !important;
  border-radius: 999px !important;
  background: rgba(9, 14, 23, .97) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28) !important;
  backdrop-filter: none !important;
}
.logo-icon {
  background: #111c2d !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.logo-icon img { border-radius: 10px !important; }
.logo, .logo span { color: var(--text) !important; }
.nav-links { padding: 4px; border: 1px solid rgba(164, 180, 209, .1); border-radius: 999px; background: #0d1420; }
.nav-links a { border-radius: 999px !important; color: var(--muted) !important; }
.nav-links a:hover, .nav-links a[style*="background"] { color: var(--text) !important; background: #162236 !important; text-decoration: none; }
.btn, .btn-nav, .nav-cta a { border-radius: 10px !important; }
.btn-primary { color: #fff !important; background: #4f7ef8 !important; box-shadow: none !important; }
.btn-outline, .btn-nav { color: var(--text) !important; background: #0d1420 !important; border-color: rgba(164, 180, 209, .24) !important; }
.btn-outline:hover, .btn-nav:hover { color: #b8ccff !important; border-color: #4f7ef8 !important; }

.page-hero, .header { position: relative; padding-top: 112px !important; }
.page-hero { text-align: left !important; }
.page-title, .page-hero h1, .header h1 { color: var(--text) !important; text-wrap: balance; }
.gradient-text { background: none !important; color: var(--text) !important; -webkit-text-fill-color: currentColor !important; }
.page-badge, .tag, .status-badge { border: 1px solid rgba(79, 126, 248, .28) !important; border-radius: 8px !important; color: #8fb1ff !important; background: rgba(79, 126, 248, .1) !important; }
.page-meta, .subtitle { color: var(--muted) !important; }

.legal-doc, .feat-section, .doc-card, .guide-card, .service-card, .incident-card, .metric-card, .status-summary {
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  background: #0d1420 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16) !important;
}
.legal-doc { overflow: visible !important; }
.legal-doc::before, .feat-section::before { display: none !important; }
.legal-toc, .info-box, .highlight-box, .cookie-control, .data-table-wrap {
  border-color: var(--border) !important;
  border-radius: 12px !important;
  background: #101a29 !important;
}
.legal-section h2 { border-bottom-color: var(--border) !important; }
.legal-section h2 .section-num, .guide-number { color: #a9c0ff !important; background: #162542 !important; }
.legal-section p, .legal-section li, .feat-desc, .feat-point-text span, .doc-card p, .guide-card p, .service-card p { color: #bdc9dc !important; }
.feat-point { border-color: var(--border) !important; background: #101a29 !important; }
.docs-grid, .guides-grid, .services-grid { gap: 18px !important; }
.doc-card, .guide-card, .service-card { transition: transform 180ms ease-out, border-color 180ms ease-out !important; }
.doc-card:hover, .guide-card:hover, .service-card:hover { transform: translateY(-3px) !important; border-color: rgba(79, 126, 248, .5) !important; text-decoration: none; }
table { border-color: var(--border) !important; }
th { color: #dce6f7 !important; background: #111c2c !important; }
td { color: #bdc9dc !important; border-color: var(--border) !important; }
code { color: #b8ccff !important; background: #111c2c !important; }

footer, .feat-footer { margin-top: 72px; padding: 38px 24px !important; border-top: 1px solid var(--border) !important; background: #080d15 !important; color: var(--muted) !important; }
footer a, .feat-footer a { color: #b8c7df !important; }
footer a:hover, .feat-footer a:hover { color: #fff !important; }

@media (max-width: 900px) {
  nav { top: 10px !important; padding-inline: 12px; }
  .nav-inner { border-radius: 18px !important; }
  .nav-links { border: 1px solid var(--border); border-radius: 14px; background: #0d1420; }
}
@media (max-width: 640px) {
  body { background-size: 32px 32px, 32px 32px, auto !important; background-attachment: scroll !important; }
  .page-hero, .header { padding-top: 92px !important; }
  .legal-doc { padding: 28px 20px !important; }
  .legal-toc ol { grid-template-columns: 1fr !important; }
  .doc-card:hover, .guide-card:hover, .service-card:hover { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .doc-card, .guide-card, .service-card { transition: none !important; }
  .doc-card:hover, .guide-card:hover, .service-card:hover { transform: none !important; }
}
