:root {
  --primary-color: #38b2ac;
  --default-color: #ffffff;
  --inverse-color: #000000;
}

#dark-mode:checked ~ .theme {
  --primary-color: #38b2ac;
  --default-color: #e2e8f0;
  --inverse-color: #000000;
}

.theme {
  background-color: var(--inverse-color);
  color: var(--default-color);
}

/* Brogrammer Color Palette Overrides */
:root {
  --bg-primary: #1a1a1a; /* Dark background */
  --bg-secondary: #2d2d2d; /* Slightly lighter background */
  --text-primary: #ffffff; /* Light text */
  --text-secondary: #cccccc; /* Medium light text */
  --accent-primary: #ff6b6b; /* Red accent */
  --accent-secondary: #4ecdc4; /* Teal accent */
  --accent-tertiary: #ffd166; /* Yellow accent */
}

/* Apply overrides */
body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

a {
  color: var(--accent-secondary);
}

a:hover {
  color: var(--accent-primary);
}

pre, code {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

.menu__link,
.pagination__link {
  color: var(--accent-secondary);
}

.menu__link:hover,
.pagination__link:hover {
  color: var(--accent-primary);
}

#dark-mode:checked ~ .theme .dark-mode-label svg {
  fill: var(--accent-tertiary);
}

.dark-mode-label svg {
  fill: #888;
  margin-top: 2em;
}

#logo {
    width: 256px !important;
    height: 256px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 2rem auto !important;
}

h1:not(:first-child) {
  margin-top:1rem;
}

h3:not(:first-child) {
  margin-top: 1em;
}

.index-article-hr {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.index-article-header-hr {
  margin-bottom: 2rem;
  max-width: 8rem;
  color: var(--accent-secondary);
}

article div.index-article-header-hr hr {
  border-top: 1px solid var(--text-secondary);
}

article div.e-content.entry-content h3 {
  color: var(--text-secondary);
}

.post-article-header-hr {
  margin-top: 2rem;
  margin-bottom:1rem;
}

footer.article__meta {
  margin: auto;
  margin-bottom: 2rem;
}

footer.article__meta div.social-links {
  text-align: center;
}
