/* Academy Days — primary parent theme (light/day mode) */

:root {
  --bg: #f4f1ea;
  --bg-soft: #ebe6dc;
  --surface: #ffffff;
  --surface-2: #f8f6f1;
  --text: #141820;
  --text-muted: #5c6570;
  --gold: #b8922a;
  --gold-soft: #d4af37;
  --white: #ffffff;
  --gray: #5c6570;
  --accent: #1a6fb5;
  --ok: #1f9d6a;
  --err: #c23b3b;
  --border: rgba(20, 24, 32, 0.1);
  --radius: 1.1rem;
  --nav-bg: rgba(255, 255, 255, 0.96);
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --input-text: #141820;
  --shadow: 0 10px 30px rgba(20, 24, 32, 0.08);
  --dark-panel: #243044;
  --dark-panel-2: #2f3c55;
  --dark-text: #f4f6fa;
  --dark-muted: #c5cddb;
  --theme-name: "academy-day";
}

body.theme-academy {
  color: var(--text);
  background:
    radial-gradient(circle at top right, rgba(212, 175, 55, 0.12), transparent 42%),
    linear-gradient(180deg, #faf8f4 0%, var(--bg) 45%, #efeae1 100%);
}

/* ——— Nav (Academy Days · light) ———
   Dark nav is reserved for Academy Nights / future Darkmode module. */
body.theme-academy .site-nav {
  background: var(--nav-bg);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 18px rgba(20, 24, 32, 0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.theme-academy .brand,
body.theme-academy .brand span,
body.theme-academy .brand-text {
  color: var(--text) !important;
}
body.theme-academy .nav-links a {
  color: var(--text-muted) !important;
}
body.theme-academy .nav-links a:hover,
body.theme-academy .nav-links a.is-active {
  color: var(--gold) !important;
}
body.theme-academy .nav-toggle {
  border: 1px solid var(--border);
  background: #fff;
}
body.theme-academy .nav-toggle-bar {
  background: var(--text) !important;
}
body.theme-academy .nav-dropdown-trigger,
body.theme-academy .nav-mega-trigger {
  color: var(--text-muted) !important;
}
body.theme-academy .nav-dropdown-trigger:hover,
body.theme-academy .nav-mega-trigger:hover {
  color: var(--gold) !important;
}

/* Critical: open mobile menu must be light surface with dark text */
@media (max-width: 900px) {
  body.theme-academy .nav-menu {
    background: #ffffff !important;
    border: 1px solid var(--border);
    box-shadow: 0 16px 40px rgba(20, 24, 32, 0.14);
    color: var(--text) !important;
  }
  body.theme-academy .site-nav.is-open .nav-menu {
    background: #ffffff !important;
  }
  body.theme-academy .nav-menu .nav-links a,
  body.theme-academy .nav-menu a,
  body.theme-academy .nav-menu .btn,
  body.theme-academy .nav-menu .nav-cta {
    color: var(--text) !important;
  }
  body.theme-academy .nav-menu .nav-links a:hover,
  body.theme-academy .nav-menu .nav-links a.is-active {
    color: var(--gold) !important;
  }
  body.theme-academy .nav-menu .btn-primary {
    background: linear-gradient(135deg, var(--gold), #e2c35a) !important;
    color: #1a1408 !important;
    border: 0 !important;
  }
  body.theme-academy .nav-menu .btn-secondary {
    background: var(--surface-2) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
  }
}

/* ——— Hero: dark panel with readable title strokes ——— */
body.theme-academy .hero {
  background-color: var(--dark-panel);
  background-image: linear-gradient(165deg, #3a4660 0%, #2a354c 48%, #1e283c 100%);
  color: var(--dark-text);
}
/* MediaVault / custom hero image must win over theme gradient */
body.theme-academy .hero.hero--has-image,
body.theme-academy .hero[style*="--hero-image"] {
  background-image:
    linear-gradient(165deg, rgba(36, 48, 68, 0.72) 0%, rgba(30, 40, 60, 0.78) 48%, rgba(20, 28, 42, 0.88) 100%),
    var(--hero-image) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
body.theme-academy .hero .badge {
  border-color: rgba(212, 175, 55, 0.65);
  color: #f5e6b0;
  background: rgba(0, 0, 0, 0.2);
}
body.theme-academy .hero .subtitle,
body.theme-academy .hero .section-text,
body.theme-academy .hero p {
  color: var(--dark-muted) !important;
}
body.theme-academy .hero-overlay {
  background: linear-gradient(180deg, rgba(30, 40, 60, 0.15) 0%, rgba(20, 28, 42, 0.45) 100%);
}

/* Title strokes:
   line1 (Abbas Ismail) = black edge
   line2 (Academy) = white edge */
body.theme-academy .hero-title {
  color: #fff;
  letter-spacing: 0.02em;
}
body.theme-academy .hero-title-line1 {
  color: #fffef8 !important;
  -webkit-text-stroke: 1px #0a0a0a;
  paint-order: stroke fill;
  text-shadow:
    -1px -1px 0 #0a0a0a,
     1px -1px 0 #0a0a0a,
    -1px  1px 0 #0a0a0a,
     1px  1px 0 #0a0a0a,
     0 2px 10px rgba(0,0,0,.35);
}
body.theme-academy .hero-title-line2 {
  color: #d4af37 !important;
  -webkit-text-stroke: 1px #ffffff;
  paint-order: stroke fill;
  text-shadow:
    -1px -1px 0 #ffffff,
     1px -1px 0 #ffffff,
    -1px  1px 0 #ffffff,
     1px  1px 0 #ffffff,
     0 2px 12px rgba(0,0,0,.25);
}

/* ——— Cards / light sections ——— */
body.theme-academy .card,
body.theme-academy .contact-form.card,
body.theme-academy .cc-cal-wrap.card {
  background: var(--card-bg);
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
body.theme-academy .section-title,
body.theme-academy .page-title,
body.theme-academy h1,
body.theme-academy h2,
body.theme-academy h3 {
  color: var(--text);
}
body.theme-academy .section-title span,
body.theme-academy .page-title span,
body.theme-academy h1 span:not(.hero-title-line1):not(.hero-title-line2) {
  color: var(--gold);
}
body.theme-academy .section-text,
body.theme-academy .page-lead,
body.theme-academy .admin-muted { color: var(--text-muted); }
body.theme-academy .page-kicker { color: var(--gold); }

/* ——— Dark panels improved (footer, offline, page-hero compact) ——— */
body.theme-academy .site-footer {
  background: linear-gradient(180deg, #2b364c 0%, #1f283a 100%);
  color: var(--dark-text);
  border-top: 1px solid rgba(255,255,255,.08);
}
body.theme-academy .site-footer a { color: #f0d78c; }
body.theme-academy .footer-tagline,
body.theme-academy .footer-copy,
body.theme-academy .footer-heading {
  color: var(--dark-muted) !important;
}
body.theme-academy .footer-brand strong { color: #fff; }

body.theme-academy .offline-banner {
  background: #3d3420;
  color: #f5e6b0;
  border-bottom: 1px solid rgba(212, 175, 55, 0.4);
}

body.theme-academy .page-hero,
body.theme-academy .page-hero-compact {
  background: linear-gradient(165deg, #3a4660 0%, #2a354c 55%, #222c40 100%) !important;
  color: var(--dark-text);
}
body.theme-academy .page-hero .page-title,
body.theme-academy .page-hero-compact .page-title {
  color: #fff !important;
}
body.theme-academy .page-hero .page-title span,
body.theme-academy .page-hero-compact .page-title span {
  color: #f0d78c !important;
}
body.theme-academy .page-hero .page-lead,
body.theme-academy .page-hero-compact .page-lead,
body.theme-academy .page-hero .page-kicker,
body.theme-academy .page-hero-compact .page-kicker {
  color: var(--dark-muted) !important;
}

/* Buttons */
body.theme-academy .btn-primary {
  background: linear-gradient(135deg, var(--gold), #e2c35a);
  color: #1a1408;
  border: 0;
}
body.theme-academy .btn-secondary {
  background: var(--surface-2);
  color: var(--text);
  border: 1px solid var(--border);
}
body.theme-academy .page-hero .btn-secondary,
body.theme-academy .hero .btn-secondary {
  background: rgba(255,255,255,.12);
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.28);
}

/* Forms */
body.theme-academy input,
body.theme-academy select,
body.theme-academy textarea {
  background: var(--input-bg);
  color: var(--input-text);
  border: 1px solid var(--border);
  -webkit-text-fill-color: var(--input-text);
  color-scheme: light;
}
body.theme-academy input::placeholder,
body.theme-academy textarea::placeholder {
  color: #8b93a0;
  -webkit-text-fill-color: #8b93a0;
}

/* Calendar public (light) */
body.theme-academy .cc-cal-grid { background: var(--border); border-color: var(--border); }
body.theme-academy .cc-cal-head { background: #f0ebe3; color: var(--text-muted); }
body.theme-academy .cc-cal-day { background: #fff; color: var(--text); }
body.theme-academy .cc-cal-day.in-month:hover { background: #f7f1e4; }
body.theme-academy .cc-cal-day.has-free { box-shadow: inset 0 0 0 1px rgba(184, 146, 42, 0.45); }
body.theme-academy .cc-cal-day.is-selected { background: #fff6df; box-shadow: inset 0 0 0 2px var(--gold); }
body.theme-academy .cc-cal-day.is-today .cc-cal-daynum { background: var(--gold); color: #1a1408; }
body.theme-academy .cc-cal-views button,
body.theme-academy .cc-cal-nav button {
  border-color: var(--border); background: #fff; color: var(--text);
}
body.theme-academy .cc-cal-views button.is-active {
  background: #fff6df; border-color: var(--gold); color: var(--text);
}
body.theme-academy .cc-cal-year-month {
  background: #fff; border-color: var(--border); color: var(--text);
}
body.theme-academy .cc-cal-year-grid span.free {
  background: rgba(184, 146, 42, 0.28); color: var(--text);
}

/* Booking modal contrast is owned by calendar.css (light premium sheet) */

/* Match / team cards */
body.theme-academy .match-card,
body.theme-academy .team-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  color: var(--text);
  box-shadow: var(--shadow);
}
body.theme-academy .empty-state {
  background: var(--surface-2);
  color: var(--text-muted);
  border: 1px dashed var(--border);
}

/* Section alt strips slightly warmer */
body.theme-academy .section-alt {
  background: rgba(255, 255, 255, 0.35);
}

/* ——— Values (Werte) + stats: override hardcoded dark app.css panels ——— */
body.theme-academy .value-card,
body.theme-academy article.value-card {
  background: #ffffff !important;
  background-image: none !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
}
body.theme-academy .value-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(20, 24, 32, 0.12) !important;
  border-color: rgba(184, 146, 42, 0.35) !important;
}
body.theme-academy .value-card h3 {
  color: var(--text) !important;
}
body.theme-academy .value-card p {
  color: var(--text-muted) !important;
}
body.theme-academy .values {
  gap: 1.5rem;
}

/* Stats strip under about/values — was near-black */
body.theme-academy .stats {
  background: linear-gradient(180deg, #f0ebe3 0%, #e8e2d6 100%) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text);
}
body.theme-academy .stats .stat strong {
  color: var(--gold) !important;
}
body.theme-academy .stats .stat span,
body.theme-academy .stats .stat p,
body.theme-academy .stats .stat {
  color: var(--text-muted) !important;
}
