.ccm-page .theme-switcher-trigger {
  background: none;
  border: 1px solid var(--clr-border);
  color: var(--clr-muted);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: var(--space-2) var(--space-4);
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--duration-fast), border-color var(--duration-fast);
}
.ccm-page .theme-switcher-trigger:hover, .ccm-page .theme-switcher-trigger[aria-expanded=true] {
  color: var(--clr-gold);
  border-color: var(--clr-gold);
}
.ccm-page .theme-switcher-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1040;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-base) var(--ease-in-out);
}
.ccm-page .theme-switcher-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}
.ccm-page .theme-switcher-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(340px, 90vw);
  background: var(--clr-surface);
  border-left: 1px solid var(--clr-border);
  z-index: 1050;
  display: flex;
  flex-direction: column;
  padding: var(--space-8);
  transform: translateX(100%);
  transition: transform var(--duration-slow) var(--ease-out-expo);
}
.ccm-page .theme-switcher-panel.is-open {
  transform: translateX(0);
}
.ccm-page .theme-switcher-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--space-10);
}
.ccm-page .theme-switcher-panel__title {
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--clr-text);
  margin: 0;
  line-height: 1.2;
  max-width: 200px;
}
.ccm-page .theme-switcher-panel__close {
  background: none;
  border: none;
  color: var(--clr-muted);
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color var(--duration-fast);
  flex-shrink: 0;
}
.ccm-page .theme-switcher-panel__close:hover {
  color: var(--clr-text);
}
.ccm-page .theme-switcher-panel__label {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--clr-muted);
  text-transform: uppercase;
  margin-bottom: var(--space-3);
}
.ccm-page .theme-switcher-panel__select {
  width: 100%;
  background: var(--clr-surface-2);
  border: 1px solid var(--clr-border);
  color: var(--clr-text);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  padding: var(--space-3) var(--space-4);
  border-radius: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-4) center;
  padding-right: var(--space-10);
  transition: border-color var(--duration-fast);
}
.ccm-page .theme-switcher-panel__select:focus {
  outline: none;
  border-color: var(--clr-gold);
}
.ccm-page .theme-switcher-panel__reset {
  display: block;
  width: 100%;
  margin-top: var(--space-8);
  padding: var(--space-3) var(--space-4);
  background: none;
  border: 1px solid var(--clr-border);
  color: var(--clr-muted);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--duration-fast), border-color var(--duration-fast);
}
.ccm-page .theme-switcher-panel__reset:hover {
  color: var(--clr-text);
  border-color: var(--clr-text);
}
@media (max-width: 991px) {
  .ccm-page .theme-switcher-trigger {
    border: none;
    font-size: clamp(1rem, 3vw, 1.25rem);
    color: rgba(252, 192, 13, 0.55);
    letter-spacing: 0.04em;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .ccm-page .navbar-collapse .nav-link {
    color: var(--clr-gold) !important;
  }
  .ccm-page .navbar-collapse {
    background: var(--clr-bg);
  }
}

html[data-theme=light] .ccm-page .navbar-nav .nav-link {
  color: rgba(10, 10, 10, 0.6) !important;
}
html[data-theme=light] .ccm-page .navbar-nav .nav-link:hover,
html[data-theme=light] .ccm-page .navbar-nav .nav-link.active {
  color: #0a0a0a !important;
}
html[data-theme=light] .ccm-page .nav::after {
  background: rgba(245, 245, 245, 0.94);
}
html[data-theme=light] .ccm-page .logo-path--white {
  stroke: #0a0a0a;
}
@media (max-width: 991px) {
  html[data-theme=light] .ccm-page .theme-switcher-trigger {
    color: rgba(10, 10, 10, 0.55);
  }
  html[data-theme=light] .ccm-page .navbar-collapse .nav-link {
    color: var(--clr-gold) !important;
  }
  html[data-theme=light] .ccm-page .navbar-collapse {
    background: var(--clr-bg);
  }
}

html[data-theme=high-contrast] .ccm-page .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.75) !important;
}
html[data-theme=high-contrast] .ccm-page .navbar-nav .nav-link:hover,
html[data-theme=high-contrast] .ccm-page .navbar-nav .nav-link.active {
  color: #ffffff !important;
}
html[data-theme=high-contrast] .ccm-page .nav::after {
  background: rgba(0, 0, 0, 0.97);
}
@media (max-width: 991px) {
  html[data-theme=high-contrast] .ccm-page .theme-switcher-trigger {
    color: rgba(255, 255, 0, 0.7);
  }
}

html[data-theme=purple-daze] .ccm-page .navbar-nav .nav-link {
  color: rgb(159, 0, 150) !important;
}
html[data-theme=purple-daze] .ccm-page .navbar-nav .nav-link:hover,
html[data-theme=purple-daze] .ccm-page .navbar-nav .nav-link.active {
  color: #eb00ff !important;
}
html[data-theme=purple-daze] .ccm-page .nav::after {
  background: rgba(238, 159, 252, 0.94);
}
@media (max-width: 991px) {
  html[data-theme=purple-daze] .ccm-page .theme-switcher-trigger {
    color: rgba(159, 0, 150, 0.7);
  }
}

html[data-theme=valentines] .ccm-page .navbar-nav .nav-link {
  color: rgba(230, 57, 70, 0.85) !important;
}
html[data-theme=valentines] .ccm-page .navbar-nav .nav-link:hover,
html[data-theme=valentines] .ccm-page .navbar-nav .nav-link.active {
  color: #f5e6e8 !important;
}
html[data-theme=valentines] .ccm-page .nav::after {
  background: rgba(13, 3, 5, 0.94);
}
@media (max-width: 991px) {
  html[data-theme=valentines] .ccm-page .theme-switcher-trigger {
    color: rgba(230, 57, 70, 0.55);
  }
}

html[data-theme=christmas] .ccm-page .navbar-nav .nav-link {
  color: rgb(255, 0, 0) !important;
}
html[data-theme=christmas] .ccm-page .navbar-nav .nav-link:hover,
html[data-theme=christmas] .ccm-page .navbar-nav .nav-link.active {
  color: #00ae3f !important;
}
html[data-theme=christmas] .ccm-page .nav::after {
  background: rgba(255, 255, 255, 0.94);
}
@media (max-width: 991px) {
  html[data-theme=christmas] .ccm-page .theme-switcher-trigger {
    color: rgba(255, 0, 0, 0.7);
  }
}

html[data-font] .ccm-page .label {
  font-family: var(--font-body);
}

html[data-font=serif] .ccm-page h1 {
  letter-spacing: -0.02em;
  text-transform: none;
  font-weight: 900;
}
html[data-font=serif] .ccm-page h2, html[data-font=serif] .ccm-page h3, html[data-font=serif] .ccm-page h4 {
  letter-spacing: -0.01em;
  font-weight: 700;
}

html[data-font=fancy] .ccm-page h1 {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
html[data-font=fancy] .ccm-page h2, html[data-font=fancy] .ccm-page h3 {
  letter-spacing: 0;
  font-weight: 400;
}
html[data-font=fancy] .ccm-page body {
  font-size: calc(var(--text-base) * 1.1);
  line-height: 1.8;
}

html[data-font=playful] .ccm-page h1 {
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
}
html[data-font=playful] .ccm-page h2, html[data-font=playful] .ccm-page h3, html[data-font=playful] .ccm-page h4 {
  letter-spacing: 0;
  font-weight: 400;
}

html[data-font=futuristic] .ccm-page h1 {
  letter-spacing: 0.05em;
  font-weight: 400;
}
html[data-font=futuristic] .ccm-page h2, html[data-font=futuristic] .ccm-page h3 {
  letter-spacing: 0.04em;
  font-weight: 400;
}

html[data-font=pixel] .ccm-page h1 {
  letter-spacing: 0.04em;
  font-weight: 400;
}
html[data-font=pixel] .ccm-page h2, html[data-font=pixel] .ccm-page h3 {
  letter-spacing: 0.02em;
  font-weight: 400;
}
html[data-font=pixel] .ccm-page body {
  font-weight: 300;
  letter-spacing: 0.02em;
}/*# sourceMappingURL=theme-switcher.css.map */