:root {
  --bg-dark: #030511;
  --panel-dark: rgba(4, 7, 16, 0.95);
  --panel-softer: rgba(7, 10, 25, 0.9);
  --card-border: rgba(255, 255, 255, 0.08);
  --accent: #eac405;
  --accent-soft: rgba(234, 196, 5, 0.18);
  --accent-strong: #ffdc47;
  --text-light: #f7f8fb;
  --text-muted: rgba(255, 255, 255, 0.7);
}

body {
  background: var(--bg-dark) !important;
  color: var(--text-light);
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  min-height: 100vh;
}

.hero.overlay::after,
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 6, 16, 0.85), rgba(3, 6, 16, 0.9));
  z-index: -1;
}

.site-section,
.site-section.bg-light,
.site-section.about-team {
  background: var(--panel-dark) !important;
  border-top: 1px solid var(--card-border) !important;
  border-bottom: 1px solid var(--card-border) !important;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.5) !important;
}

.site-section.bg-light {
  background: var(--panel-softer) !important;
}

.site-section .container {
  max-width: 1200px;
}

.site-navbar,
.site-footer {
  background: rgba(2, 5, 15, 0.95) !important;
}

.btn-primary {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #050914 !important;
  letter-spacing: 0.2em;
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--accent-strong) !important;
  border-color: var(--accent-strong) !important;
  color: #fff !important;
}

.btn-outline-secondary,
.btn-outline-light,
.btn-outline-primary {
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}

.btn-outline-secondary:hover,
.btn-outline-light:hover,
.btn-outline-primary:hover {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.post-entry,
.blog-detail-card,
.result-card,
.player-card,
.about-panel,
.stat-card,
.value-card,
.team-card,
.sidebar-box,
.gallery-card,
.sponsor-card {
  background: linear-gradient(180deg, rgba(8, 10, 25, 0.95), rgba(4, 7, 16, 0.95)) !important;
  border-radius: 20px;
  border: 1px solid var(--card-border) !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6) !important;
}

.post-entry .body-text,
.blog-detail-card .post-content,
.player-card-info,
.match-summary,
.sidebar-box ul,
.gallery-title {
  color: var(--text-muted) !important;
}

.post-entry .heading a {
  color: #fff !important;
}

.sidebar-box h3,
.section-title,
.value-card h3,
.team-info h3,
.heading {
  color: #fff !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.category-filter {
  display: flex;
  align-items: center;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  transition: all 0.3s ease;
}

.category-filter.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #050914;
  box-shadow: 0 15px 30px rgba(238, 30, 70, 0.4);
}

.category-filter:hover {
  color: var(--accent);
}

.sidebar-box {
  padding: 1.8rem;
  background: rgba(4, 7, 18, 0.9) !important;
}

.match-filter-row,
.player-filter-row,
.gallery-filter-row {
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  justify-content: center;
}

.match-filter-row .btn,
.player-filter-row .btn,
.gallery-filter-row .btn-filter {
  border-radius: 999px;
  letter-spacing: 0.25em;
  padding: 0.65rem 1.8rem;
  border-width: 1.5px;
  background: transparent;
  min-width: 140px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.match-filter-row .btn-primary,
.player-filter-row .btn-primary,
.gallery-filter-row .btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #050914;
  box-shadow: 0 15px 35px rgba(238, 30, 70, 0.35);
}

.match-filter-row .btn-outline-secondary,
.match-filter-row .btn-outline-primary,
.player-filter-row .btn-outline-secondary,
.gallery-filter-row .btn-outline-primary {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}

.match-filter-row .btn:hover,
.player-filter-row .btn-outline-secondary:hover,
.gallery-filter-row .btn-filter:not(.btn-primary):hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}

.player-card {
  min-height: 100%;
}

.player-position {
  letter-spacing: 0.04em;
}

.player-number {
  background: var(--accent);
  color: #050914;
}

.match-date-result {
  background: var(--accent);
  color: #050914;
}

.sponsor-card {
  background: rgba(255, 255, 255, 0.04) !important;
}

.gallery-card .gallery-overlay,
.gallery-card .gallery-title {
  border-radius: 18px;
}

.gallery-item {
  margin-bottom: 2rem;
}

.footer-section {
  background: linear-gradient(180deg, rgba(3, 4, 12, 0.95), rgba(5, 8, 20, 0.95)) !important;
}

.footer-section .footer-links a {
  font-weight: 500;
}

.footer-section .footer-contact li,
.footer-section p {
  color: rgba(255, 255, 255, 0.85) !important;
}
