/* ══════════════════════════════════════════════════════════════════════════════
   NORTH COUNTY BULLDOGS — Dark Sports Theme
   Drop in assets/css/ and load AFTER all other CSS in header.php:
   <link rel="stylesheet" href="<?= asset('css/bulldogs_theme.css') ?>">
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Google Font ─────────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800;900&display=swap');

/* ── Color tokens ─────────────────────────────────────────────────────────────── */
:root {
  --bd-green:        #1B5E20;
  --bd-green-dark:   #0D3B11;
  --bd-green-mid:    #2E7D32;
  --bd-green-light:  #4CAF50;
  --bd-green-xlight: #E8F5E9;
  --bd-gold:         #F5C200;
  --bd-gold-dark:    #B8960C;
  --bd-gold-light:   #FFE566;
  --bd-black:        #080C08;
  --bd-surface:      #0F1A0F;
  --bd-surface2:     #162416;
  --bd-surface3:     #1E321E;
  --bd-border:       rgba(255,255,255,0.08);
  --bd-border-gold:  rgba(245,194,0,0.25);
  --bd-text:         #FFFFFF;
  --bd-text-muted:   rgba(255,255,255,0.55);
  --bd-text-faint:   rgba(255,255,255,0.3);

  /* Override EngageHQ tokens */
  --color-primary:           #1B5E20;
  --color-primary-dark:      #0D3B11;
  --color-primary-light:     #2E7D32;
  --color-primary-xlight:    #E8F5E9;
  --color-primary-rgb:       27, 94, 32;
  --color-accent:            #F5C200;
  --color-accent-dark:       #B8960C;
  --color-bg-body:           #080C08;
  --color-surface:           #0F1A0F;
  --color-white:             #FFFFFF;
  --color-text-primary:      #FFFFFF;
  --color-text-secondary:    rgba(255,255,255,0.65);
  --color-text-tertiary:     rgba(255,255,255,0.35);
  --color-border:            rgba(255,255,255,0.08);
  --color-border-strong:     rgba(255,255,255,0.15);
  --header-bg:               rgba(8,12,8,0.96);
  --header-bg-scrolled:      rgba(8,12,8,0.99);
  --header-border:           1px solid rgba(255,255,255,0.08);
  --gradient-primary:        linear-gradient(135deg, #1B5E20 0%, #0D3B11 100%);
  --font-display:            'Manrope', -apple-system, sans-serif;
  --font-body:               'Manrope', -apple-system, sans-serif;
}

/* ── Global ───────────────────────────────────────────────────────────────────── */
body {
  background: var(--bd-black);
  color: var(--bd-text);
  font-family: 'Manrope', sans-serif;
}

/* ── Page Loader ─────────────────────────────────────────────────────────────── */
.page-loader {
  background: var(--bd-black);
}
.page-loader-spinner {
  border-color: var(--bd-surface3);
  border-top-color: var(--bd-gold);
}

/* ══════════════════════════════════════════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════════════════════════════════════════ */
.site-header {
  background: rgba(8,12,8,0.96);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.site-header.scrolled {
  background: rgba(8,12,8,0.99);
  box-shadow: 0 4px 24px rgba(0,0,0,0.6);
}
.site-logo-text {
  font-size: 16px;
  font-weight: 900;
  color: var(--bd-text);
  letter-spacing: -0.3px;
  text-transform: uppercase;
}
.nav-link {
  color: rgba(255,255,255,0.6);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.02em;
}
.nav-link:hover {
  color: var(--bd-text);
  background: rgba(255,255,255,0.06);
}
.nav-link.active {
  color: var(--bd-gold);
  background: rgba(245,194,0,0.08);
}
.nav-link::after {
  background: var(--bd-gold);
}
.nav-link:hover::after,
.nav-link.active::after {
  transform: scaleX(1);
}
.header-actions .btn-ghost {
  color: rgba(255,255,255,0.65);
  border-color: rgba(255,255,255,0.15);
}
.header-actions .btn-ghost:hover {
  background: rgba(255,255,255,0.07);
  color: var(--bd-text);
}
.hamburger-bar {
  background: var(--bd-text);
}

/* ── Mobile Nav ──────────────────────────────────────────────────────────────── */
.mobile-nav {
  background: var(--bd-surface);
  border-left: 1px solid rgba(255,255,255,0.08);
}
.mobile-nav-header {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: var(--bd-surface2);
}
.mobile-nav-close {
  border-color: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.6);
}
.mobile-nav-close:hover {
  background: rgba(255,255,255,0.06);
  color: var(--bd-text);
}
.mobile-nav-item {
  border-bottom-color: rgba(255,255,255,0.06);
}
.mobile-nav-link {
  color: rgba(255,255,255,0.75);
  font-size: 18px;
  font-weight: 600;
  min-height: 60px;
  padding: 0 var(--space-6);
}
.mobile-nav-link:hover,
.mobile-nav-link.active {
  color: var(--bd-gold);
  background: rgba(245,194,0,0.06);
}
.mobile-nav-overlay {
  background: rgba(0,0,0,0.75);
}

/* ── Announcement bar ────────────────────────────────────────────────────────── */
.announcement-bar {
  background: var(--bd-green-dark);
  border-bottom: 1px solid var(--bd-border-gold);
  color: var(--bd-gold);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
}
.announcement-bar a { color: var(--bd-gold-light); }
.announcement-close { color: var(--bd-gold); opacity: 0.7; }

/* ══════════════════════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════════════════════ */
.btn-primary {
  background: var(--bd-green);
  border-color: var(--bd-green);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.btn-primary:hover {
  background: var(--bd-green-dark);
  border-color: var(--bd-green-dark);
  transform: translateY(-1px);
}
.btn-outline {
  border-color: rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.8);
  background: transparent;
  font-weight: 600;
}
.btn-outline:hover {
  border-color: var(--bd-gold);
  color: var(--bd-gold);
  background: rgba(245,194,0,0.06);
}
/* Gold CTA button variant */
.btn-gold {
  background: var(--bd-gold);
  border-color: var(--bd-gold);
  color: var(--bd-green-dark);
  font-weight: 800;
}
.btn-gold:hover {
  background: var(--bd-gold-light);
  border-color: var(--bd-gold-light);
  transform: translateY(-1px);
}

/* ══════════════════════════════════════════════════════════════════════════════
   HOMEPAGE HERO
   ══════════════════════════════════════════════════════════════════════════════ */
.hp-hero {
  background: var(--bd-black);
  padding: var(--space-16) 0 var(--space-20);
  position: relative;
  overflow: hidden;
}
/* Stadium grid pattern */
.hp-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(27,94,32,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,94,32,0.12) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}
/* Glow behind hero */
.hp-hero::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(27,94,32,0.18) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.hp-hero-inner { position: relative; z-index: 1; }

.hp-hero-eyebrow {
  color: var(--bd-gold);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.12em;
}
.hp-hero-eyebrow::before { background: var(--bd-gold); }

.hp-hero-title {
  font-size: 68px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -2px;
  color: var(--bd-text);
  text-transform: uppercase;
}
.hp-hero-title em {
  font-style: normal;
  color: var(--bd-gold);
  display: block;
  -webkit-text-stroke: 2px var(--bd-gold);
}
.hp-hero-desc {
  color: var(--bd-text-muted);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
}
.hp-hero-stats {
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-top: var(--space-10);
  padding-top: var(--space-8);
}
.hp-stat-num {
  color: var(--bd-text);
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -1px;
}
.hp-stat-label {
  color: var(--bd-text-faint);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Hero cards */
.hp-hero-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  backdrop-filter: blur(8px);
}
.hp-hero-card--main {
  border-color: rgba(245,194,0,0.2);
  background: rgba(245,194,0,0.04);
}
.hp-hero-card-label {
  color: var(--bd-text-faint);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.hp-hero-card-value {
  color: var(--bd-text);
  font-weight: 900;
}
.hp-hero-card-sub {
  color: var(--bd-text-faint);
}
.hp-hero-card-dot--green { background: #22c55e; }
.hp-hero-card-dot--primary { background: var(--bd-gold); }
.hp-hero-card-tag { color: #22c55e; font-weight: 700; font-size: 11px; }
.hp-hero-circle { border-color: rgba(27,94,32,0.25); }

/* ── Stats strip ─────────────────────────────────────────────────────────────── */
.hp-stats-strip {
  background: var(--bd-surface);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.hp-stats-cell {
  border-right-color: rgba(255,255,255,0.06);
  padding: var(--space-8) var(--space-6);
}
.hp-stats-cell-num {
  font-size: 36px;
  font-weight: 900;
  color: var(--bd-gold);
  letter-spacing: -1px;
}
.hp-stats-cell-label {
  color: var(--bd-text-faint);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-top: var(--space-2);
}

/* ══════════════════════════════════════════════════════════════════════════════
   HOMEPAGE SECTIONS
   ══════════════════════════════════════════════════════════════════════════════ */
.hp-section {
  background: var(--bd-black);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.hp-section--alt {
  background: var(--bd-surface);
}
.hp-section-eyebrow {
  color: var(--bd-gold);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.12em;
}
.hp-section-title {
  color: var(--bd-text);
  font-weight: 900;
  font-size: 40px;
  letter-spacing: -1px;
  text-transform: uppercase;
}
.hp-section-sub {
  color: var(--bd-text-muted);
}
.hp-section-header {
  border-bottom: none;
}

/* ── Programs ──────────────────────────────────────────────────────────────── */
.hp-program-card {
  background: var(--bd-surface2);
  border: 1px solid rgba(255,255,255,0.07);
  transition: border-color 0.2s, transform 0.2s;
}
.hp-program-card:hover {
  border-color: rgba(245,194,0,0.3);
  transform: translateY(-3px);
}
.hp-program-icon-band {
  background: rgba(27,94,32,0.25) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.hp-program-icon-band svg {
  stroke: var(--bd-gold) !important;
}
.hp-program-tag {
  background: rgba(245,194,0,0.12) !important;
  color: var(--bd-gold) !important;
  font-weight: 700;
}
.hp-program-name {
  color: var(--bd-text);
  font-weight: 800;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: -0.3px;
}
.hp-program-desc {
  color: var(--bd-text-muted);
}
.hp-program-link {
  color: var(--bd-gold);
  font-weight: 700;
}
.hp-program-link:hover {
  color: var(--bd-gold-light);
}

/* ── Events ──────────────────────────────────────────────────────────────────── */
.hp-event-row {
  background: var(--bd-surface2);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  transition: border-color 0.2s;
}
.hp-event-row:hover {
  border-color: rgba(245,194,0,0.25);
}
.hp-event-date {
  border-right-color: rgba(255,255,255,0.08);
}
.hp-event-date-month {
  color: var(--bd-gold);
  font-weight: 800;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.hp-event-date-day {
  color: var(--bd-text);
  font-weight: 900;
  font-size: 28px;
  letter-spacing: -1px;
}
.hp-event-name {
  color: var(--bd-text);
  font-weight: 700;
  font-size: 15px;
}
.hp-event-meta {
  color: var(--bd-text-faint);
}
.hp-event-meta-item svg {
  stroke: var(--bd-text-faint);
}

/* ── News ────────────────────────────────────────────────────────────────────── */
.hp-news-card {
  background: var(--bd-surface2);
  border: 1px solid rgba(255,255,255,0.07);
  transition: border-color 0.2s, transform 0.2s;
}
.hp-news-card:hover {
  border-color: rgba(245,194,0,0.2);
  transform: translateY(-2px);
}
.hp-news-thumb {
  background: var(--bd-surface3);
}
.hp-news-thumb-placeholder {
  background: var(--bd-surface3) !important;
}
.hp-news-thumb-placeholder svg {
  stroke: rgba(255,255,255,0.15) !important;
}
.hp-news-title {
  color: var(--bd-text);
  font-weight: 700;
}
.hp-news-cat {
  background: rgba(245,194,0,0.12) !important;
  color: var(--bd-gold) !important;
  font-weight: 700;
}
.hp-news-meta {
  color: var(--bd-text-faint);
}

/* ── About section ───────────────────────────────────────────────────────────── */
.hp-about-img {
  background: var(--bd-surface2);
  border: 1px solid rgba(255,255,255,0.08);
}
.hp-about-img-placeholder {
  color: rgba(255,255,255,0.15);
}
.hp-about-value-dot { background: var(--bd-gold); }
.hp-about-value { color: var(--bd-text-muted); font-weight: 500; }

/* ── Sponsors ────────────────────────────────────────────────────────────────── */
.hp-sponsors {
  background: var(--bd-surface);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.hp-sponsors-label {
  color: var(--bd-text-faint);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.hp-sponsor-chip {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.45);
  font-weight: 600;
}
.hp-sponsor-chip:hover {
  border-color: rgba(245,194,0,0.3);
  color: var(--bd-gold);
}

/* ── CTA Section ─────────────────────────────────────────────────────────────── */
.hp-cta {
  background: var(--bd-green-dark);
  position: relative;
  overflow: hidden;
}
.hp-cta::before {
  border-color: rgba(245,194,0,0.06);
}
.hp-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(245,194,0,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,194,0,0.04) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}
.hp-cta-inner { position: relative; z-index: 1; }
.hp-cta-rule { background: var(--bd-gold); }
.hp-cta-title {
  color: var(--bd-text);
  font-weight: 900;
  font-size: 40px;
  letter-spacing: -1px;
  text-transform: uppercase;
}
.hp-cta-sub { color: rgba(255,255,255,0.6); }
.btn-cta-primary {
  background: var(--bd-gold);
  color: var(--bd-green-dark);
  border: none;
  font-weight: 800;
  border-radius: var(--btn-radius);
  padding: var(--space-3) var(--space-8);
  font-size: var(--text-base);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background 0.2s, transform 0.15s;
}
.btn-cta-primary:hover {
  background: var(--bd-gold-light);
  transform: translateY(-1px);
}
.btn-cta-outline {
  background: transparent;
  color: rgba(255,255,255,0.65);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--btn-radius);
  padding: var(--space-3) var(--space-8);
  font-size: var(--text-base);
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: border-color 0.2s, color 0.2s;
}
.btn-cta-outline:hover {
  border-color: var(--bd-gold);
  color: var(--bd-gold);
}

/* ══════════════════════════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
   ══════════════════════════════════════════════════════════════════════════════ */
.page-hero {
  background: var(--bd-surface);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  position: relative;
  overflow: hidden;
}
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(27,94,32,0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,94,32,0.1) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 1; }
.page-hero__title {
  color: var(--bd-text);
  font-weight: 900;
  font-size: 44px;
  letter-spacing: -1px;
  text-transform: uppercase;
}
.page-hero__subtitle {
  color: var(--bd-text-muted);
  font-size: 17px;
}

/* ══════════════════════════════════════════════════════════════════════════════
   SECTIONS (inner pages)
   ══════════════════════════════════════════════════════════════════════════════ */
.section { background: var(--bd-black); }
.section--alt { background: var(--bd-surface); }

/* Cards / boxes on inner pages */
.event-card,
.news-card {
  background: var(--bd-surface2) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
.event-card:hover,
.news-card:hover {
  border-color: rgba(245,194,0,0.2) !important;
}

/* Filter buttons */
.filter-bar .btn-outline {
  border-color: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.6);
}
.filter-bar .btn-outline:hover {
  border-color: var(--bd-gold);
  color: var(--bd-gold);
}
.filter-bar .btn-primary {
  background: var(--bd-green);
  border-color: var(--bd-green);
}

/* Tables */
table th {
  color: var(--bd-text-faint) !important;
  border-bottom-color: rgba(255,255,255,0.08) !important;
  background: var(--bd-surface2) !important;
}
table td { border-bottom-color: rgba(255,255,255,0.06) !important; }
table tr:hover td { background: rgba(255,255,255,0.02); }

/* Forms */
.form-control {
  background: var(--bd-surface2);
  border-color: rgba(255,255,255,0.12);
  color: var(--bd-text);
}
.form-control:focus {
  border-color: var(--bd-gold);
  box-shadow: 0 0 0 3px rgba(245,194,0,0.12);
  background: var(--bd-surface3);
}
.form-control::placeholder { color: var(--bd-text-faint); }
select.form-control option { background: var(--bd-surface2); }

/* Labels */
label { color: rgba(255,255,255,0.8) !important; }

/* Alerts */
.alert--success { background: rgba(27,94,32,0.2); color: #4CAF50; border: 1px solid rgba(27,94,32,0.4); }
.alert--error   { background: rgba(180,0,0,0.15); color: #f87171; border: 1px solid rgba(180,0,0,0.3); }
.alert--info    { background: rgba(245,194,0,0.1);color: var(--bd-gold); border: 1px solid rgba(245,194,0,0.25); }

/* Badges */
[style*="color-success-light"] { background: rgba(27,94,32,0.25) !important; color: #4CAF50 !important; }
[style*="color-primary-xlight"] { background: rgba(27,94,32,0.2) !important; }

/* Pagination */
.pagination a {
  background: var(--bd-surface2);
  border-color: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
}
.pagination .active a,
.pagination a:hover {
  background: var(--bd-green);
  color: #fff;
  border-color: var(--bd-green);
}

/* ══════════════════════════════════════════════════════════════════════════════
   MEMBERSHIP CARDS
   ══════════════════════════════════════════════════════════════════════════════ */
[style*="border-radius:var(--radius-xl)"][style*="padding:var(--space-8)"] {
  background: var(--bd-surface2) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[style*="color-primary)"] { color: var(--bd-gold) !important; }
[style*="color-success)"] { color: #4caf50 !important; }

/* ══════════════════════════════════════════════════════════════════════════════
   STAFF / BOARD PAGE
   ══════════════════════════════════════════════════════════════════════════════ */
.staff-card,
[style*="border:1px solid var(--color-border)"][style*="border-radius:var(--radius-lg)"][style*="text-align:center"] {
  background: var(--bd-surface2) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[style*="background:var(--color-primary)"][style*="border-radius:50%"] {
  background: var(--bd-green) !important;
}
[style*="color:var(--color-primary)"] { color: var(--bd-gold) !important; }

/* ══════════════════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════════════════ */
.site-footer {
  background: var(--bd-green-dark);
  border-top: 1px solid rgba(255,255,255,0.07);
}
.footer-main {
  background: var(--bd-green-dark);
}
.footer-col-title {
  color: rgba(255,255,255,0.3);
  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.footer-links a,
.footer-link {
  color: rgba(255,255,255,0.5);
  font-weight: 500;
}
.footer-links a:hover,
.footer-link:hover {
  color: var(--bd-gold);
}
.footer-description { color: rgba(255,255,255,0.4); }
.footer-logo-text {
  color: var(--bd-text);
  font-weight: 900;
  text-transform: uppercase;
}
.footer-logo img {
  max-width: 120px;
  max-height: 80px;
  width: auto;
  height: auto;
}

.site-logo img {
  max-height: 64px;
  max-width: 200px;
  width: auto;
  height: auto;
}

.footer-contact p,
.footer-contact a { color: rgba(255,255,255,0.5); }
.footer-contact a:hover { color: var(--bd-gold); }
.footer-newsletter-label { color: rgba(255,255,255,0.7); font-weight: 700; }
.newsletter-input-group input[type="email"] {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  color: var(--bd-text);
}
.newsletter-input-group input[type="email"]::placeholder { color: rgba(255,255,255,0.3); }
.newsletter-input-group input[type="email"]:focus {
  border-color: var(--bd-gold);
  background: rgba(255,255,255,0.08);
}
.newsletter-privacy { color: rgba(255,255,255,0.3); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.07);
  background: rgba(0,0,0,0.25);
}
.footer-copyright { color: rgba(255,255,255,0.3); font-size: 12px; }
.footer-legal a { color: rgba(255,255,255,0.3); }
.footer-legal a:hover { color: var(--bd-gold); }
.social-btn {
  border-color: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.4);
}
.social-btn:hover {
  border-color: var(--bd-gold);
  color: var(--bd-gold);
  background: rgba(245,194,0,0.06);
}

/* ── Back to top ─────────────────────────────────────────────────────────────── */
.back-to-top {
  background: var(--bd-green);
  border: 2px solid var(--bd-gold);
}
.back-to-top:hover {
  background: var(--bd-green-dark);
  transform: translateY(-2px);
}

/* ── Flash messages ──────────────────────────────────────────────────────────── */
.flash-messages .alert {
  background: var(--bd-surface2);
  border: 1px solid rgba(255,255,255,0.1);
  color: var(--bd-text);
}

/* ══════════════════════════════════════════════════════════════════════════════
   ADMIN (keep readable — don't dark-mode the admin panel)
   ══════════════════════════════════════════════════════════════════════════════ */
.admin-body {
  --color-text-primary:   #111;
  --color-text-secondary: #444;
  --color-text-tertiary:  #888;
  --color-bg-body:        #f5f5f5;
  background: #f5f5f5;
  color: #111;
}
.admin-body .form-control {
  background: #fff;
  border-color: #ddd;
  color: #111;
}
.admin-body label { color: #444 !important; }
.admin-body table th { background: #f8f8f8 !important; color: #888 !important; }

/* ══════════════════════════════════════════════════════════════════════════════
   MEMBER PORTAL (subtle dark treatment)
   ══════════════════════════════════════════════════════════════════════════════ */
.member-body {
  background: var(--bd-black);
}

/* ══════════════════════════════════════════════════════════════════════════════
   SCROLLBAR
   ══════════════════════════════════════════════════════════════════════════════ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bd-black); }
::-webkit-scrollbar-thumb { background: var(--bd-surface3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--bd-green); }

/* ══════════════════════════════════════════════════════════════════════════════
   DONATE PAGE — gold accent for amount buttons
   ══════════════════════════════════════════════════════════════════════════════ */
.amount-btn.btn-primary {
  background: var(--bd-gold) !important;
  border-color: var(--bd-gold) !important;
  color: var(--bd-green-dark) !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   SELECTION COLOR
   ══════════════════════════════════════════════════════════════════════════════ */
::selection {
  background: rgba(245,194,0,0.3);
  color: var(--bd-text);
}

/* ── Program card fix ─────────────────────────────────────────────────────── */
.bd-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: var(--space-5) !important;
  background: none !important;
  border-radius: 0 !important;
}
.bd-program-card {
  background: #162416 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  padding: var(--space-8) var(--space-7) var(--space-8) !important;
  position: relative;
  overflow: hidden;
  transition: border-color .2s, transform .2s !important;
}
.bd-program-card:hover {
  border-color: rgba(245,194,0,0.35) !important;
  transform: translateY(-3px) !important;
}
.bd-program-icon { margin-bottom: var(--space-6) !important; }

.bd-program-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: #F5C200;
  transform: scaleX(0);
  transition: transform .25s;
  transform-origin: left;
}
.bd-program-card:hover::before { transform: scaleX(1); }
/* ══════════════════════════════════════════════════════════════════════════════
   INNER PAGES — Bulldogs Design System
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Page Hero — dark green with subtle pattern ─────────────────────────────── */
.page-hero {
  background: linear-gradient(135deg, #0D3B11 0%, #1B5E20 100%) !important;
  border-bottom: none !important;
  padding: var(--space-12) 0 !important;
  position: relative;
  overflow: hidden;
}
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 1; }
.page-hero__title {
  color: #fff !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: -1px;
}
.page-hero__subtitle { color: rgba(255,255,255,0.75) !important; }

/* ── Section backgrounds ─────────────────────────────────────────────────────── */
.section { background: #f4f6f3 !important; }
.section--alt { background: #fff !important; }

/* ── Cards ───────────────────────────────────────────────────────────────────── */
[style*="border:1px solid var(--color-border)"][style*="border-radius:var(--radius-lg)"],
[style*="border:1px solid var(--color-border)"][style*="border-radius:var(--radius-xl)"] {
  background: #fff !important;
  border-color: #e0e5dd !important;
}
[style*="border-radius:var(--radius-lg)"][style*="overflow:hidden"][style*="background:var(--color-white)"],
[style*="border-radius:var(--radius-xl)"][style*="background:var(--color-white)"] {
  background: #fff !important;
  border-color: #e0e5dd !important;
}

/* ── Buttons ─────────────────────────────────────────────────────────────────── */
.btn-primary {
  background: #1B5E20 !important;
  border-color: #1B5E20 !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.btn-primary:hover {
  background: #0D3B11 !important;
  border-color: #0D3B11 !important;
}
.btn-outline {
  border-color: #1B5E20 !important;
  color: #1B5E20 !important;
  background: transparent !important;
}
.btn-outline:hover {
  background: #1B5E20 !important;
  color: #fff !important;
}

/* ── Forms ───────────────────────────────────────────────────────────────────── */
.form-control {
  background: #fff !important;
  border-color: #d0d8cc !important;
  color: #1a1a1a !important;
  border-radius: 8px !important;
}
.form-control:focus {
  border-color: #1B5E20 !important;
  box-shadow: 0 0 0 3px rgba(27,94,32,0.12) !important;
  outline: none !important;
}
.form-control::placeholder { color: #9aaa95 !important; }
label { color: #2a3a2a !important; }

/* ── Category / type badges ──────────────────────────────────────────────────── */
[style*="color-primary-xlight"][style*="color-primary-dark"],
[style*="background:var(--color-primary-xlight)"] {
  background: #E8F5E9 !important;
  color: #0D3B11 !important;
}

/* ── Page-specific overrides ─────────────────────────────────────────────────── */

/* Events page — date box */
[style*="background:var(--color-primary-xlight)"][style*="border-radius:var(--radius-base)"][style*="padding:var(--space-2)"] {
  background: #1B5E20 !important;
  border-radius: 8px !important;
}
[style*="background:var(--color-primary-xlight)"][style*="border-radius:var(--radius-base)"][style*="padding:var(--space-2)"] div:first-child {
  color: #F5C200 !important;
}
[style*="background:var(--color-primary-xlight)"][style*="border-radius:var(--radius-base)"][style*="padding:var(--space-2)"] div:last-child {
  color: #fff !important;
}

/* Programs page placeholder band */
[style*="height:120px"][style*="background:var(--color-primary-xlight)"] {
  background: #1B5E20 !important;
}
[style*="height:120px"][style*="background:var(--color-primary-xlight)"] svg {
  stroke: rgba(255,255,255,0.3) !important;
}

/* Board/staff page — avatar circle */
[style*="background:var(--color-primary)"][style*="border-radius:50%"] {
  background: #1B5E20 !important;
}
[style*="border:3px solid var(--color-primary-xlight)"] {
  border-color: #F5C200 !important;
}
[style*="color:var(--color-primary)"][style*="font-weight:6"] {
  color: #1B5E20 !important;
}

/* About page — leadership avatars */
[style*="background:var(--color-primary-xlight)"][style*="border-radius:50%"] {
  background: #E8F5E9 !important;
  color: #1B5E20 !important;
}

/* Membership — featured badge */
[style*="background:var(--color-primary)"][style*="color:#fff"][style*="border-radius:var(--radius-full)"] {
  background: #F5C200 !important;
  color: #0D3B11 !important;
}
/* Membership — featured border */
[style*="border:2px solid var(--color-primary)"] {
  border-color: #F5C200 !important;
}
/* Membership — selected type highlight */
[style*="background:var(--color-primary-xlight)"][style*="color:var(--color-primary-dark)"] {
  background: #E8F5E9 !important;
  color: #0D3B11 !important;
}

/* Donate page — amount buttons selected */
.amount-btn.btn-primary {
  background: #F5C200 !important;
  border-color: #F5C200 !important;
  color: #0D3B11 !important;
}

/* News/events — filter active button */
.filter-bar .btn-primary {
  background: #1B5E20 !important;
  border-color: #1B5E20 !important;
  color: #fff !important;
}

/* Post page — category pill */
[style*="background:var(--color-primary-xlight)"][style*="color:var(--color-primary-dark)"][style*="border-radius:var(--radius-full)"] {
  background: #E8F5E9 !important;
  color: #0D3B11 !important;
}

/* Contact page — icons */
[stroke="var(--color-primary)"] { stroke: #1B5E20 !important; }
[style*="color:var(--color-primary)"] { color: #1B5E20 !important; }

/* Program sidebar — eligibility bar */
[style*="border-left:4px solid var(--color-primary)"] {
  border-left-color: #F5C200 !important;
  background: #E8F5E9 !important;
}

/* Event RSVP card */
[style*="position:sticky"][style*="border:1px solid var(--color-border)"] {
  border-color: #e0e5dd !important;
  background: #fff !important;
}

/* Gallery album cards */
[style*="border-radius:var(--radius-lg)"][style*="overflow:hidden"][style*="display:block"] {
  border-color: #e0e5dd !important;
  background: #fff !important;
}
[style*="height:200px"][style*="background:var(--color-surface)"] {
  background: #E8F5E9 !important;
}
[stroke="var(--color-border-strong)"] { stroke: rgba(27,94,32,0.3) !important; }

/* General text colors */
body { background: #f4f6f3 !important; color: #1a1a1a !important; }
[style*="color:var(--color-text-secondary)"] { color: #555 !important; }
[style*="color:var(--color-text-tertiary)"] { color: #888 !important; }
[style*="color:var(--color-text-primary)"] { color: #1a1a1a !important; }

/* Footer logo fix */
.footer-logo { filter: none !important; opacity: 1 !important; height: auto !important; }
.footer-logo img { max-width: 120px; max-height: 80px; width: auto; height: auto; }
.site-logo img { max-height: 56px; max-width: 200px; width: auto; height: auto; }

/* Pagination */
.pagination a {
  background: #fff !important;
  border-color: #e0e5dd !important;
  color: #1B5E20 !important;
}
.pagination .active a,
.pagination a:hover {
  background: #1B5E20 !important;
  color: #fff !important;
  border-color: #1B5E20 !important;
}

/* Success check icons */
[style*="color:var(--color-success)"] svg,
[style*="color:var(--color-success)"] { color: #1B5E20 !important; }

/* Announcement bar — hide Riverside content on Bulldogs site */
.announcement-bar { display: none !important; }