/* Homepage dark mode — coordinated palette (loads after premium + dark-mode) */

body.homepage.dark-mode {
  --hp-dm-bg: #0b0b0d;
  --hp-dm-surface: #141418;
  --hp-dm-surface-2: #1c1c22;
  --hp-dm-elevated: #24242c;
  --hp-dm-text: #f3f4f8;
  --hp-dm-muted: #a7afbc;
  --hp-dm-border: #30303a;
  --hp-dm-brand: #e50914;
  --hp-dm-brand-soft: rgba(229, 9, 20, 0.18);
  --homepage-bg-main: var(--hp-dm-bg);
  --homepage-bg-section: var(--hp-dm-surface);
  --homepage-bg-card: var(--hp-dm-surface-2);
  --homepage-border: var(--hp-dm-border);
  --homepage-text-color: var(--hp-dm-text);
  --homepage-heading-color: var(--hp-dm-text);
  --homepage-paragraph-color: var(--hp-dm-muted);
  --homepage-link-color: #d8dce6;
  --homepage-header-bg: var(--hp-dm-surface);
  --homepage-top-nav-start: var(--hp-dm-surface);
  --homepage-top-nav-end: var(--hp-dm-surface);
  --homepage-text-primary: var(--hp-dm-text);
  --homepage-text-secondary: var(--hp-dm-muted);
  color: var(--hp-dm-text);
}

html:has(body.homepage.dark-mode) {
  background: var(--hp-dm-bg, #0b0b0d);
}

body.homepage.dark-mode {
  background: var(--hp-dm-bg) !important;
  background-image:
    radial-gradient(circle at 12% 8%, rgba(229, 9, 20, 0.08), transparent 34%),
    radial-gradient(circle at 88% 92%, rgba(229, 9, 20, 0.06), transparent 36%) !important;
}

/* ── Header / nav ─────────────────────────────────────────────── */
body.homepage.dark-mode .top-nav {
  background: var(--hp-dm-surface) !important;
  border-bottom-color: var(--hp-dm-border) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body.homepage.dark-mode .brand,
body.homepage.dark-mode .brand span,
body.homepage.dark-mode .logo-text {
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .nav-links a,
body.homepage.dark-mode .nav-dropdown summary {
  color: var(--hp-dm-muted) !important;
  background: transparent !important;
}

body.homepage.dark-mode .nav-links a:hover,
body.homepage.dark-mode .nav-dropdown summary:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

body.homepage.dark-mode .nav-links a.active,
body.homepage.dark-mode .nav-dropdown[open] summary {
  color: #ff6b6b !important;
  background: var(--hp-dm-brand-soft) !important;
  box-shadow: inset 0 0 0 1px rgba(229, 9, 20, 0.28) !important;
}

body.homepage.dark-mode .nav-dropdown-menu {
  background: var(--hp-dm-elevated) !important;
  border-color: var(--hp-dm-border) !important;
}

body.homepage.dark-mode .nav-dropdown-menu a {
  background: var(--hp-dm-elevated) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .nav-dropdown-menu a:hover {
  background: var(--hp-dm-brand-soft) !important;
  color: #ffffff !important;
}

body.homepage.dark-mode .auth-actions-shell {
  background: var(--hp-dm-surface-2) !important;
  border-color: var(--hp-dm-border) !important;
}

body.homepage.dark-mode .auth-btn,
body.homepage.dark-mode .auth-btn.primary {
  background: var(--hp-dm-elevated) !important;
  color: var(--hp-dm-text) !important;
  border-color: var(--hp-dm-border) !important;
}

body.homepage.dark-mode .auth-btn:hover,
body.homepage.dark-mode .auth-btn.primary:hover {
  background: var(--hp-dm-brand) !important;
  color: #ffffff !important;
  border-color: var(--hp-dm-brand) !important;
}

body.homepage.dark-mode .dark-mode-toggle {
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-text) !important;
}

/* ── Hero — smooth red-to-black gradient in dark mode ─────────── */
body.homepage.dark-mode .hero {
  background-color: #000000 !important;
  background-image: linear-gradient(
    92deg,
    #e50914 0%,
    #b5000e 16%,
    #6a000c 40%,
    #2a0006 62%,
    #000000 82%,
    #000000 100%
  ) !important;
}

body.homepage.dark-mode .hero::before {
  background:
    linear-gradient(180deg, rgba(255, 70, 78, 0.2) 0%, transparent 34%, rgba(0, 0, 0, 0.28) 100%),
    radial-gradient(ellipse 78% 92% at 14% 46%, rgba(255, 45, 55, 0.38), transparent 66%) !important;
  opacity: 1 !important;
}

body.homepage.dark-mode .hero-gradient-mesh {
  opacity: 0.58;
}

body.homepage.dark-mode .hero-content h1,
body.homepage.dark-mode .hero-content h2,
body.homepage.dark-mode .hero-content h3,
body.homepage.dark-mode .hero-content h4,
body.homepage.dark-mode .hero-content p {
  color: #ffffff !important;
}

body.homepage.dark-mode .hero-stats,
body.homepage.dark-mode .hero-stats strong,
body.homepage.dark-mode .hero-stats .stat span {
  color: #ffffff !important;
}

body.homepage.dark-mode .hero-stats .stat {
  background: rgba(0, 0, 0, 0.35) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

body.homepage.dark-mode .hero-ctas .btn,
body.homepage.dark-mode .hero-ctas .btn-primary,
body.homepage.dark-mode .hero-ctas .hero-cta-pill {
  background: var(--hp-dm-brand) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

body.homepage.dark-mode .hero-ctas .btn:hover {
  background: #ff1a2e !important;
  color: #ffffff !important;
}

body.homepage.dark-mode .hero-sidebar-item,
body.homepage.dark-mode .hero-sidebar-subitem {
  background: rgba(8, 0, 2, 0.72) !important;
  border-color: rgba(229, 9, 20, 0.32) !important;
  color: rgba(255, 228, 232, 0.92) !important;
}

body.homepage.dark-mode .hero-note-text {
  background: var(--hp-dm-surface-2) !important;
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .hero-note-text::placeholder {
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode .hero-note-upload {
  background: var(--hp-dm-elevated) !important;
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .hero-note-upload:hover {
  background: var(--hp-dm-brand-soft) !important;
  border-color: rgba(229, 9, 20, 0.45) !important;
}

body.homepage.dark-mode .hero-float-card {
  background: var(--hp-dm-surface-2) !important;
  border-color: var(--hp-dm-border) !important;
}

body.homepage.dark-mode .hero-float-title {
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .hero-float-desc {
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode .hero-panel,
body.homepage.dark-mode .hero-dashboard {
  background: rgba(18, 18, 22, 0.92) !important;
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .hero-panel header,
body.homepage.dark-mode .hero-panel strong,
body.homepage.dark-mode .hero-panel span,
body.homepage.dark-mode .hero-panel p {
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .hero-glass-search {
  background: rgba(18, 18, 22, 0.88) !important;
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode .hero-media-caption,
body.homepage.dark-mode .hero-media-description {
  color: var(--hp-dm-muted) !important;
}

/* ── Modules / cards below hero ───────────────────────────────── */
body.homepage.dark-mode main#modules,
body.homepage.dark-mode main#modules > section,
body.homepage.dark-mode main#modules [class*="-section"],
body.homepage.dark-mode main#modules::before,
body.homepage.dark-mode .reveal-on-scroll,
body.homepage.dark-mode #modules > section.section-head {
  background: var(--hp-dm-bg) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode main#modules .section-head h2,
body.homepage.dark-mode .section-head h2 {
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode main#modules .section-head p,
body.homepage.dark-mode .section-head p {
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode main#modules .card,
body.homepage.dark-mode .card {
  background: var(--hp-dm-surface) !important;
  border-color: var(--hp-dm-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
}

body.homepage.dark-mode main#modules .card:hover,
body.homepage.dark-mode .card:hover {
  background: var(--hp-dm-surface-2) !important;
}

body.homepage.dark-mode main#modules .card h3,
body.homepage.dark-mode .card h3,
body.homepage.dark-mode .card h4 {
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode main#modules .card p,
body.homepage.dark-mode .card p {
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode .icon-box {
  background: var(--hp-dm-brand-soft) !important;
  color: #ff8a8a !important;
}

body.homepage.dark-mode .btn-secondary {
  background: var(--hp-dm-elevated) !important;
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .btn-primary {
  background: var(--hp-dm-brand) !important;
  color: #ffffff !important;
}

/* ── Floating actions ─────────────────────────────────────────── */
body.homepage.dark-mode .floating-actions {
  background: var(--hp-dm-surface) !important;
  border-color: var(--hp-dm-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
}

body.homepage.dark-mode .floating-actions a,
body.homepage.dark-mode .floating-actions button {
  background: var(--hp-dm-elevated) !important;
  border-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .floating-actions a:hover,
body.homepage.dark-mode .floating-actions button:hover {
  background: var(--hp-dm-brand-soft) !important;
  color: #ffffff !important;
}

/* ── Footer ───────────────────────────────────────────────────── */
body.homepage.dark-mode .site-footer,
body.homepage.dark-mode footer.site-footer {
  background: var(--hp-dm-surface) !important;
  border-top-color: var(--hp-dm-border) !important;
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode .site-footer-col h3,
body.homepage.dark-mode .site-footer-col a {
  color: var(--hp-dm-text) !important;
}

body.homepage.dark-mode .site-footer-brand p,
body.homepage.dark-mode .site-footer-col p,
body.homepage.dark-mode .site-footer-bottom-inner,
body.homepage.dark-mode .site-footer .site-footer-bottom-inner span {
  color: var(--hp-dm-muted) !important;
}

body.homepage.dark-mode .site-footer-bottom-inner {
  color: var(--hp-dm-muted) !important;
}

/* ── Forms / inputs in page sections ──────────────────────────── */
body.homepage.dark-mode input,
body.homepage.dark-mode select,
body.homepage.dark-mode textarea {
  background: var(--hp-dm-surface-2) !important;
  color: var(--hp-dm-text) !important;
  border-color: var(--hp-dm-border) !important;
}

body.homepage.dark-mode input::placeholder,
body.homepage.dark-mode textarea::placeholder {
  color: #6b7280 !important;
}

/* ── Announcement bar stays on-brand ──────────────────────────── */
body.homepage.dark-mode .announcement-bar {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

body.homepage.dark-mode .announcement-track {
  color: #ffffff !important;
}
