/* Day-mode exceptions: the new native toggle's hit target/focus, and measured mobile logo fit. */
#header button.ct-color-switch[data-id="color-mode-switcher"] {
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  margin-inline: 0;
  flex-shrink: 0;
}

#header button.ct-color-switch[data-id="color-mode-switcher"]:focus-visible {
  outline: 2px solid var(--theme-palette-color-1, #076951);
  outline-offset: 3px;
}

#header [data-device="mobile"] .ct-language-switcher {
  margin-inline-start: 6px;
}

#header [data-device="mobile"] .ct-container:is(.muhsen-mobile-fit, :has(button.ct-color-switch[data-id="color-mode-switcher"])) [data-column="middle"] .site-branding,
#header [data-device="mobile"] .ct-container:is(.muhsen-mobile-fit, :has(button.ct-color-switch[data-id="color-mode-switcher"])) [data-column="middle"] .site-logo-container,
#header [data-device="mobile"] .ct-container:is(.muhsen-mobile-fit, :has(button.ct-color-switch[data-id="color-mode-switcher"])) [data-column="middle"] .site-logo-container img {
  max-width: var(--muhsen-logo-max-width, max(64px, calc(100vw - 264px)));
}

#header [data-device="mobile"] .ct-container:is(.muhsen-mobile-fit, :has(button.ct-color-switch[data-id="color-mode-switcher"])) [data-column="middle"] .site-logo-container img {
  height: auto;
  width: auto;
}

#header [data-device="mobile"] .ct-container:is(.muhsen-mobile-fit, :has(button.ct-color-switch[data-id="color-mode-switcher"])) [data-column="middle"] .site-logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Blocksy's observed HTML attribute is the sole source of dark-mode state. */
html[data-color-mode*="dark"] {
  color-scheme: dark;
  --muhsen-dark-page: #0c1d17;
  --muhsen-dark-surface: #172f27;
  --muhsen-dark-subtle: #10241d;
  --muhsen-dark-text: #edf5f1;
  --muhsen-dark-muted: #aec7bd;
  --muhsen-dark-border: #35554b;
  --muhsen-dark-accent: #6fd6b5;
  --muhsen-dark-hover: #94e3c8;
  --theme-background-color: var(--muhsen-dark-page);
  --theme-text-color: var(--muhsen-dark-text);
  --theme-border-color: var(--muhsen-dark-border);
  --theme-button-text-initial-color: #091610;
  --theme-button-text-hover-color: #091610;
  --swiper-theme-color: var(--muhsen-dark-accent);
  --swiper-pagination-bullet-inactive-color: var(--muhsen-dark-muted);
}

html[data-color-mode*="dark"] body {
  background-color: var(--muhsen-dark-page);
  color: var(--muhsen-dark-text);
}

/* Preserve the native glass/blur, dimensions, and stacking contexts. */
html[data-color-mode*="dark"] #header [data-device] [data-row="middle"] {
  background-color: rgba(9, 31, 23, 0.90) !important;
}

html[data-color-mode*="dark"] #header :is(.ct-menu-link, .ct-language a, .ct-toggle),
html[data-color-mode*="dark"] #offcanvas :is(.ct-menu-link, .ct-toggle, .ct-toggle-close, .ct-toggle-dropdown-mobile) {
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] #header .ct-menu-link:is(:hover, :focus-visible),
html[data-color-mode*="dark"] #header .ct-language a:is(:hover, :focus-visible),
html[data-color-mode*="dark"] #offcanvas .ct-menu-link:is(:hover, :focus-visible) {
  color: var(--muhsen-dark-hover);
}

html[data-color-mode*="dark"] #header .sub-menu,
html[data-color-mode*="dark"] #offcanvas .ct-panel-inner {
  background-color: var(--muhsen-dark-surface);
  border-color: var(--muhsen-dark-border);
}

/* Keep the same dark-green logo asset readable; do not invert or replace logos. */
html[data-color-mode*="dark"] #header .site-logo-container img,
html[data-color-mode*="dark"] #offcanvas .site-logo-container img {
  background-color: #f2f7f6;
  border-radius: 8px;
}

html[data-color-mode*="dark"] #footer.ct-footer {
  background-color: #063b2d !important;
}

html[data-color-mode*="dark"] #footer :is(.ct-menu-link, .ct-footer-copyright, .ct-widget),
html[data-color-mode*="dark"] #footer .ct-widget :is(p, a, label, h1, h2, h3, h4, h5, h6) {
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] :is(.entry-content, #footer) :is(input[type="text"], input[type="email"], input[type="search"], input[type="url"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="password"], textarea, select) {
  background-color: var(--muhsen-dark-subtle);
  color: var(--muhsen-dark-text);
  border-color: #5b8172;
}

html[data-color-mode*="dark"] :is(.entry-content, #footer) :is(input, textarea)::placeholder {
  color: var(--muhsen-dark-muted);
  opacity: 1;
}

html[data-color-mode*="dark"] #footer .ct-newsletter-subscribe-form button.wp-element-button {
  background-color: var(--muhsen-dark-accent);
  color: #091610;
  border-color: var(--muhsen-dark-accent);
}

/* The audited contact page uses Forminator's theme-based fields. */
html[data-color-mode*="dark"] .forminator-ui .forminator-label {
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] .forminator-ui .forminator-description {
  color: var(--muhsen-dark-muted);
}

html[data-color-mode*="dark"] .forminator-ui .forminator-button-submit {
  background-color: var(--muhsen-dark-accent);
  color: #091610;
}

html[data-color-mode*="dark"] .forminator-ui .forminator-label .forminator-required,
html[data-color-mode*="dark"] .forminator-ui .forminator-error-message {
  color: #ffb7ae;
}

html[data-color-mode*="dark"] .forminator-ui .forminator-error-message {
  background-color: #3d1f1b;
}

html[data-color-mode*="dark"] .forminator-ui .forminator-response-message.forminator-error {
  background-color: #3d1f1b;
  border-color: #ffb7ae;
  color: #ffcec7;
}

html[data-color-mode*="dark"] :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--muhsen-dark-accent);
  outline-offset: 3px;
}

/* These two homepage service cards use palette 3 as a background, while other text uses it as a foreground. */
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) :is(#gspb_col-id-gsbp-d766b5d, #gspb_col-id-gsbp-d07ce78) {
  background-color: var(--muhsen-dark-surface);
}

html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) :is(.gspb_text-id-gsbp-25f9fa2, .gspb_text-id-gsbp-9b84ed6) {
  color: var(--muhsen-dark-text);
}

/* This query text explicitly used the old white palette-8 token, which is a dark surface in night mode. */
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) :is(#gspb_col-id-gsbp-d766b5d, #gspb_col-id-gsbp-d07ce78) .wp-block-query .has-palette-color-8-color,
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) :is(#gspb_col-id-gsbp-d766b5d, #gspb_col-id-gsbp-d07ce78) .wp-block-query .has-palette-color-8-color :is(a, time) {
  color: var(--muhsen-dark-text) !important;
}

/* The two uncustomized mint CTAs share the same inherited white-label rule. */
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) :is(#gspb_button-id-gsbp-99706a1, #gspb_button-id-gsbp-0ae06ae) .gspb-buttonbox,
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) :is(#gspb_button-id-gsbp-99706a1, #gspb_button-id-gsbp-0ae06ae) .gspb-buttonbox span {
  color: #0c1d17;
}

/* This absolute sibling contains only botanical decoration, not the portrait or copy. */
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) #gspb_container-id-gsbp-e3d3e91 {
  visibility: hidden;
}

html[data-color-mode*="dark"] .wp-block-post-template > .gspbgrid_item {
  border-color: var(--muhsen-dark-border);
}

html[data-color-mode*="dark"] .gspb_meta_result_tags > span {
  background-color: #185840 !important;
  color: var(--muhsen-dark-text) !important;
}

html[data-color-mode*="dark"] .gspb_meta_result_tags > span a {
  color: var(--muhsen-dark-text) !important;
}

html[data-color-mode*="dark"] .swiper-scrollbar {
  background-color: rgba(174, 199, 189, 0.18);
}

html[data-color-mode*="dark"] .swiper-scrollbar-drag {
  background-color: var(--muhsen-dark-muted);
}

/* Existing bilingual tools have literal light colors in embedded styles. Change only their neutral colors. */
html[data-color-mode*="dark"] body:is(.page-id-1559, .page-id-1938, .page-id-1561, .page-id-1920) .entry-content :is(.container, form, .enrollment-container, .result) {
  background-color: var(--muhsen-dark-surface);
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] body:is(.page-id-1559, .page-id-1938, .page-id-1561, .page-id-1920) .entry-content :is(h1, label, .section-title, .duration-labels) {
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] body:is(.page-id-1559, .page-id-1938, .page-id-1561, .page-id-1920) .page-title {
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] body:is(.page-id-1559, .page-id-1938) .entry-content .progress-bar-container {
  background-color: #284638;
}

html[data-color-mode*="dark"] body:is(.page-id-1559, .page-id-1938) .entry-content .progress-bar-fill {
  color: #091610;
}

html[data-color-mode*="dark"] body:is(.page-id-1561, .page-id-1920) .entry-content .form-group .tooltip {
  color: var(--muhsen-dark-muted);
}

/* The original square image box is preserved. The supplied portrait is contained, never stretched or cropped. */
html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) #gspb_image-id-gsbp-c256c3d img[data-muhsen-portrait] {
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: contain;
  object-position: 50% 50%;
  background-color: #000;
}

html[data-color-mode*="dark"] body.home:is(.page-id-5, .page-id-667) #gspb_image-id-gsbp-c256c3d img[data-muhsen-portrait="pending"] {
  visibility: hidden;
}

/* Parliament Tracker: neutral tokens only. Inline term, committee, session, and chart-series colors stay intact. */
html[data-color-mode*="dark"] .spt {
  --spt-bg: var(--muhsen-dark-page);
  --spt-text: var(--muhsen-dark-text);
  --spt-border: var(--muhsen-dark-border);
  --spt-muted: var(--muhsen-dark-muted);
  --spt-empty: #284638;
  --spt-holiday: #1d342b;
  --spt-link: var(--muhsen-dark-accent);
  --spt-link-hover: var(--muhsen-dark-hover);
}

html[data-color-mode*="dark"] .spt-stats dd {
  color: var(--muhsen-dark-accent);
}

/* Preserve each original series hue, opacity, and size; add only a neutral visible boundary. */
html[data-color-mode*="dark"] .spt-bar__track {
  background-color: #091610;
}

html[data-color-mode*="dark"] :is(.spt-bar__fill, .spt-gbar, .spt-key) {
  box-shadow: inset 0 0 0 1px #fff;
}

html[data-color-mode*="dark"] .spt :is(a, button, input, select, summary):focus-visible,
html[data-color-mode*="dark"] .spt .spt-outcome-search__results:focus {
  outline: 3px solid var(--muhsen-dark-accent);
  outline-offset: 3px;
}

html[data-color-mode*="dark"] :is(.spt-modal__box, .spt-outcome-search__panel, .spt-tooltip) {
  background-color: var(--muhsen-dark-surface);
  color: var(--muhsen-dark-text);
}

html[data-color-mode*="dark"] .spt-tooltip {
  border: 1px solid var(--muhsen-dark-border);
}

@media (prefers-reduced-motion: reduce) {
  #header button.ct-color-switch[data-id="color-mode-switcher"],
  #header button.ct-color-switch[data-id="color-mode-switcher"] * {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  html[data-color-mode*="dark"] #header [data-device] [data-row="middle"] {
    background-color: #091f17 !important;
  }
}

@media (forced-colors: active) {
  #header button.ct-color-switch[data-id="color-mode-switcher"]:focus-visible {
    outline-color: Highlight;
  }
}
