/*
 * Activerse global contrast foundation.
 * Header, footer, Elementor sections and blocks with their own background are
 * intentionally not recoloured. The guard focuses on ordinary light surfaces.
 */
body.aci-global-contrast {
  --aci-global-navy: #182544;
  --aci-global-text: #33415c;
  --aci-global-muted: #68748b;
  --aci-global-link: #3158b8;
  --aci-global-gold: #e3b43f;
  --aci-global-page: #f5f7fb;
  --aci-global-surface: #ffffff;
  --aci-global-border: #dce3ee;
  background-color: var(--aci-global-page);
  color: var(--aci-global-text);
}

body.aci-global-contrast .site-content {
  background-color: var(--aci-global-page);
  color: var(--aci-global-text);
}

body.aci-global-contrast .site-main {
  color: var(--aci-global-text);
}

/* Native WordPress pages: direct content only, so designed dark sections keep their palette. */
body.aci-global-contrast:not(.elementor-page) .site-main :where(.entry-content, .entry-summary) > :where(h1, h2, h3, h4, h5, h6),
body.aci-global-contrast:not(.elementor-page) .site-main :where(.wp-block-group:not(.has-background), .wp-block-column:not(.has-background)) > :where(h1, h2, h3, h4, h5, h6),
body.aci-global-contrast:not(.elementor-page) .site-main :where(.entry-title, .page-title) {
  color: var(--aci-global-navy);
}

body.aci-global-contrast:not(.elementor-page) .site-main :where(.entry-content, .entry-summary) > :where(p, ul, ol, dl),
body.aci-global-contrast:not(.elementor-page) .site-main :where(.wp-block-group:not(.has-background), .wp-block-column:not(.has-background)) > :where(p, ul, ol, dl) {
  color: var(--aci-global-text);
}

body.aci-global-contrast:not(.elementor-page) .site-main :where(.entry-content, .entry-summary) > p a,
body.aci-global-contrast:not(.elementor-page) .site-main :where(.wp-block-group:not(.has-background), .wp-block-column:not(.has-background)) > p a {
  color: var(--aci-global-link);
  text-decoration-color: rgba(49, 88, 184, .35);
}

/* Forms stay readable on every light content surface. */
body.aci-global-contrast .site-main :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], input[type="date"], select, textarea) {
  color: var(--aci-global-navy) !important;
  background-color: var(--aci-global-surface) !important;
  border-color: var(--aci-global-border) !important;
  caret-color: var(--aci-global-navy);
}

body.aci-global-contrast .site-main :where(input, textarea)::placeholder {
  color: #7b879d !important;
  opacity: 1;
}

body.aci-global-contrast .site-main :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--aci-global-link);
}

body.aci-global-contrast .site-main :where(label, legend) {
  color: var(--aci-global-text);
}

/* Native buttons and their SVG icons use the accessible Activerse gold/navy pair. */
body.aci-global-contrast .site-main :where(.wp-element-button, .wp-block-button__link, .wp-block-search__button, input[type="submit"]):not(.has-background) {
  color: var(--aci-global-navy) !important;
  background-color: var(--aci-global-gold) !important;
  border-color: var(--aci-global-gold) !important;
}

body.aci-global-contrast .site-main :where(.wp-element-button, .wp-block-button__link, .wp-block-search__button, input[type="submit"]):not(.has-background):hover {
  color: var(--aci-global-navy) !important;
  background-color: #f3c452 !important;
  border-color: #f3c452 !important;
}

body.aci-global-contrast .site-main :where(.wp-block-search__button, .wp-element-button) svg {
  color: currentColor !important;
  fill: currentColor;
  stroke: currentColor;
}

/* Tables, quotes, notices and pagination are explicit light cards. */
body.aci-global-contrast:not(.elementor-page) .site-main :where(table:not(.has-background), .wp-block-table:not(.has-background) table) {
  color: var(--aci-global-text);
  background-color: var(--aci-global-surface);
  border-color: var(--aci-global-border);
}

body.aci-global-contrast:not(.elementor-page) .site-main :where(table:not(.has-background), .wp-block-table:not(.has-background) table) :where(th, td) {
  color: inherit;
  border-color: var(--aci-global-border);
}

body.aci-global-contrast:not(.elementor-page) .site-main :where(blockquote:not(.has-background), .wp-block-quote:not(.has-background), .wp-block-pullquote:not(.has-background)) {
  color: var(--aci-global-text);
  background-color: var(--aci-global-surface);
  border-color: var(--aci-global-gold);
}

body.aci-global-contrast .site-main :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wp-block-post-comments-form, .comment-respond) {
  color: var(--aci-global-text) !important;
  background-color: var(--aci-global-surface) !important;
  border-color: var(--aci-global-border) !important;
}

body.aci-global-contrast .site-main :where(.page-numbers, .post-page-numbers) {
  color: var(--aci-global-navy);
  background-color: var(--aci-global-surface);
  border-color: var(--aci-global-border);
}

body.aci-global-contrast .site-main :where(.page-numbers.current, .post-page-numbers.current) {
  color: var(--aci-global-navy);
  background-color: var(--aci-global-gold);
  border-color: var(--aci-global-gold);
}

body.aci-global-contrast .site-main :where(hr, .wp-block-separator) {
  color: var(--aci-global-border);
  border-color: var(--aci-global-border);
}

/* Optional utility for any future custom light section. */
body.aci-global-contrast .aci-global-surface {
  color: var(--aci-global-text);
  background-color: var(--aci-global-surface);
  border-color: var(--aci-global-border);
}

@media (prefers-contrast: more) {
  body.aci-global-contrast {
    --aci-global-text: #1f2d50;
    --aci-global-muted: #4d5a72;
    --aci-global-border: #b7c1d0;
  }
}
