/* Load last. Remove theme-charcoal from <body> to restore the original palette. */
body.theme-charcoal {
  --charcoal-bg: #26282b;
  --charcoal-surface: #2e3034;
  --charcoal-deep: #202225;
  --charcoal-hover: #3c3f44;
  --charcoal-border: #484b51;
  --charcoal-text: #e0e1e3;
  --charcoal-heading: #f5f5f2;
  --charcoal-muted: #babdc3;
  --charcoal-accent: #d7c9b5;
  background: var(--charcoal-bg);
  color: var(--charcoal-text);
  color-scheme: dark;
}
body.theme-charcoal ::selection {
  color: var(--charcoal-deep);
  background: var(--charcoal-accent);
}
body.theme-charcoal .site-wrap,
body.theme-charcoal .site-section {
  background: var(--charcoal-bg);
}
body.theme-charcoal #about-section {
  background: var(--charcoal-surface);
}
body.theme-charcoal h1,
body.theme-charcoal h2,
body.theme-charcoal h3,
body.theme-charcoal h4 {
  color: var(--charcoal-heading);
}
body.theme-charcoal .text-black {
  color: var(--charcoal-heading) !important;
}
body.theme-charcoal .text-primary {
  color: var(--charcoal-accent) !important;
}
body.theme-charcoal .text-secondary,
body.theme-charcoal .text-muted {
  color: var(--charcoal-muted) !important;
}
body.theme-charcoal a {
  color: var(--charcoal-accent);
}
body.theme-charcoal a:hover,
body.theme-charcoal a:focus {
  color: var(--charcoal-heading);
}
body.theme-charcoal a:focus-visible,
body.theme-charcoal .art-gallery .media-1:focus-visible {
  outline: 3px solid var(--charcoal-accent);
  outline-offset: 4px;
}
body.theme-charcoal .border-bottom,
body.theme-charcoal .border-top,
body.theme-charcoal .top-bar {
  border-color: var(--charcoal-border) !important;
}
body.theme-charcoal .top-bar.bg-dark,
body.theme-charcoal .site-footer {
  background: var(--charcoal-deep) !important;
}
body.theme-charcoal .site-navbar,
body.theme-charcoal .site-mobile-menu {
  background: var(--charcoal-surface);
}
body.theme-charcoal .sticky-wrapper.is-sticky .site-navbar {
  box-shadow: 0 4px 20px rgba(0, 0, 0, .28);
}
body.theme-charcoal .site-navbar .site-navigation .site-menu a,
body.theme-charcoal .site-mobile-menu .site-nav-wrap a {
  color: var(--charcoal-text) !important;
}
body.theme-charcoal .site-navbar .site-navigation .site-menu a:hover,
body.theme-charcoal .site-navbar .site-navigation .site-menu a:focus,
body.theme-charcoal .site-navbar .site-navigation .site-menu .active > a,
body.theme-charcoal .site-navbar .site-navigation .site-menu a.active,
body.theme-charcoal .site-mobile-menu .site-nav-wrap a:hover,
body.theme-charcoal .site-mobile-menu .site-nav-wrap a:focus,
body.theme-charcoal .site-mobile-menu .site-nav-wrap a.active {
  color: var(--charcoal-accent) !important;
}
body.theme-charcoal .site-navbar .site-navigation .site-menu .has-children .dropdown {
  background: var(--charcoal-surface);
  border-color: var(--charcoal-border);
  border-top-color: var(--charcoal-accent);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .3);
}
body.theme-charcoal .site-navbar .site-navigation .site-menu .has-children .dropdown a:hover,
body.theme-charcoal .site-navbar .site-navigation .site-menu .has-children .dropdown a:focus,
body.theme-charcoal .site-mobile-menu .site-nav-wrap .arrow-collapse:hover {
  background: var(--charcoal-hover);
}
body.theme-charcoal .site-mobile-menu .site-mobile-menu-close span,
body.theme-charcoal .site-mobile-menu .site-nav-wrap .arrow-collapse {
  color: var(--charcoal-heading);
}
body.theme-charcoal .site-mobile-menu .site-mobile-menu-close span:hover {
  color: var(--charcoal-accent);
}
body.theme-charcoal .site-footer p {
  color: var(--charcoal-muted);
}
body.theme-charcoal .site-footer a {
  color: var(--charcoal-accent);
}
body.theme-charcoal .site-footer a:hover {
  color: var(--charcoal-heading);
}
body.theme-charcoal .art-gallery .media-1 {
  background: var(--charcoal-surface);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .15);
}
/* Artwork itself keeps its original colors; captions remain white. */
body.theme-charcoal .art-gallery .media-1-content h4,
body.theme-charcoal .art-gallery .media-1-content .category {
  color: #fff;
}
