/* The child theme owns visitor color preferences; the editor stays in its own mode. */
:root {
  color-scheme: light;
  --bemis-surface: #f5f7fa;
  --bemis-subtle: #666b6d;
  --bemis-hover: #f1f5f9;
  --bemis-rule: #ccd7e2;
  --bemis-button-bg: #cd1d1c;
  --bemis-button-hover: #a81717;
  --bemis-button-text: #ffffff;
  --bemis-preview-frame: #ffffff;
  --bemis-preview-label: #344050;
  --bemis-preview-border: #c4cbd4;
}
:root[data-bemis-theme="dark"] {
  color-scheme: dark;
  --bemis-ink: #f3f5f8;
  --bemis-muted: #cbd3df;
  --bemis-paper: #111820;
  --bemis-line: #344253;
  --bemis-link: #9bcaff;
  --bemis-blue: #9bcaff;
  --bemis-red: #ff8b85;
  --primary: #9bcaff;
  --bemis-surface: #1b2531;
  --bemis-subtle: #acb9ca;
  --bemis-hover: #273547;
  --bemis-rule: #42546a;
  --bemis-button-bg: #ff8b85;
  --bemis-button-hover: #ffa9a4;
  --bemis-button-text: #211215;
  --bemis-preview-frame: #243243;
  --bemis-preview-label: #e4ebf5;
  --bemis-preview-border: #516174;
}
/* With JavaScript disabled the site still follows the operating system. */
@media (prefers-color-scheme: dark) {
  :root:not([data-bemis-theme]) {
    color-scheme: dark;
    --bemis-ink: #f3f5f8;
    --bemis-muted: #cbd3df;
    --bemis-paper: #111820;
    --bemis-line: #344253;
    --bemis-link: #9bcaff;
    --bemis-blue: #9bcaff;
    --bemis-red: #ff8b85;
    --primary: #9bcaff;
    --bemis-surface: #1b2531;
    --bemis-subtle: #acb9ca;
    --bemis-hover: #273547;
    --bemis-rule: #42546a;
    --bemis-button-bg: #ff8b85;
    --bemis-button-hover: #ffa9a4;
    --bemis-button-text: #211215;
    --bemis-preview-frame: #243243;
    --bemis-preview-label: #e4ebf5;
    --bemis-preview-border: #516174;
  }
}
html body { background: var(--bemis-paper); color: var(--bemis-ink); }
body a { color: var(--bemis-link); }
.bemis-brand, .bemis-footer__brand { color: var(--bemis-ink); }
.bemis-hero__index, .bemis-cta, .bemis-contact__form { background: var(--bemis-paper); }
.bemis-process { background: var(--bemis-surface); }
.bemis-process__step, .bemis-hero__index-row { border-color: var(--bemis-rule); }
.bemis-region__places span, .bemis-hero--print .bemis-eyebrow, .bemis-footer__description { color: var(--bemis-subtle); }
.bemis-hero--print .bemis-lead { color: var(--bemis-ink); }
.bemis-button .wp-block-button__link, .bemis-cta .bemis-button .wp-block-button__link {
  background: var(--bemis-button-bg); color: var(--bemis-button-text); border-color: var(--bemis-button-bg);
}
.bemis-button .wp-block-button__link:hover, .bemis-cta .bemis-button .wp-block-button__link:hover {
  background: var(--bemis-button-hover); color: var(--bemis-button-text); border-color: var(--bemis-button-hover);
}
.bemis-button--quiet .wp-block-button__link, .bemis-cta .bemis-button--quiet .wp-block-button__link {
  color: var(--bemis-ink); background: transparent; border-color: var(--bemis-line);
}
.bemis-button--quiet .wp-block-button__link:hover, .bemis-cta .bemis-button--quiet .wp-block-button__link:hover {
  color: var(--bemis-ink); background: var(--bemis-hover); border-color: var(--bemis-line);
}
.bemis-nav, .bemis-footer__nav { color: var(--bemis-link); }
html .bemis-header .bemis-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
  color: var(--bemis-link); background: var(--bemis-paper);
}
.bemis-project__visual { background: var(--bemis-surface); }
.bemis-project__desktop, .bemis-project__mobile { background: var(--bemis-preview-frame); border-color: var(--bemis-preview-border); }
.bemis-project__visual .wp-element-caption { color: var(--bemis-preview-label); background: var(--bemis-preview-frame); }
.bemis-project__features li { border-color: var(--bemis-rule); }
/* Preserve each project's original light-mode backdrop. */
:root[data-bemis-theme="light"] .bemis-project__visual { background: #edf2f8; }
:root[data-bemis-theme="light"] .bemis-project__visual--rebecca-poole { background: #f3f0eb; }
:root[data-bemis-theme="light"] .bemis-project__visual--rise-and-shine { background: #f4f3e5; }
:root[data-bemis-theme="light"] .bemis-project__visual--full-gospel-fellowship { background: #edf1eb; }
:root[data-bemis-theme="light"] .bemis-project__visual--spotswood-paint { background: #f6eded; }
:root[data-bemis-theme="light"] .bemis-project__visual--hyperion-galleries { background: #f3efe7; }
.bemis-theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: .5rem;
  min-width: 44px; min-height: 44px; padding: .55rem .7rem; margin: 0;
  border: 1px solid var(--bemis-line); border-radius: .3rem;
  color: var(--bemis-ink); background: var(--bemis-paper); cursor: pointer;
  font: inherit; font-size: .8rem; font-weight: 650; line-height: 1.2;
}
.bemis-theme-toggle[hidden] { display: none; }
.bemis-theme-toggle:hover { background: var(--bemis-hover); }
.bemis-theme-toggle:focus-visible { outline: 3px solid var(--bemis-blue); outline-offset: 4px; }
.bemis-theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.bemis-theme-toggle__sun { display: none; }
[data-bemis-theme="dark"] .bemis-theme-toggle__sun { display: block; }
[data-bemis-theme="dark"] .bemis-theme-toggle__moon { display: none; }
@media (max-width: 1100px) { .bemis-theme-toggle__label { display: none; } }
@media (max-width: 420px) {
  .bemis-header { column-gap: .5rem; padding-inline-start: 3.5rem; padding-inline-end: 1rem; }
  .bemis-header::before { width: 3rem; }
  .bemis-header .wp-block-site-logo { flex-basis: 34px; width: 34px; }
  .bemis-header .custom-logo { width: 34px; }
  .bemis-brand { font-size: 1.1rem; }
}
/* Gravity Forms supplies high-specificity color variables for the contact form. */
html .bemis-contact__form #gform_wrapper_1.gform_wrapper {
  --gf-color-primary: var(--bemis-blue);
  --gf-color-primary-contrast: var(--bemis-paper);
  --gf-color-secondary: var(--bemis-paper);
  --gf-color-secondary-contrast: var(--bemis-ink);
  --gf-color-in-ctrl: var(--bemis-paper);
  --gf-color-in-ctrl-contrast: var(--bemis-ink);
  --gf-color-in-ctrl-dark: var(--bemis-muted);
  --gf-color-in-ctrl-dark-darker: var(--bemis-ink);
  --gf-color-in-ctrl-light: var(--bemis-line);
  --gf-color-in-ctrl-light-darker: var(--bemis-rule);
  --gf-color-out-ctrl-dark: var(--bemis-muted);
  --gf-color-out-ctrl-dark-darker: var(--bemis-ink);
  --gf-color-out-ctrl-light: var(--bemis-line);
  --gf-color-out-ctrl-light-darker: var(--bemis-rule);
  --gf-color-in-ctrl-primary: var(--bemis-blue);
}
/* Derived form variables are declared on inner elements, so theme controls directly. */
.bemis-contact__form #gform_wrapper_1 :is(label, legend, .gfield_description, .gform-field-label) { color: var(--bemis-ink); }
.bemis-contact__form #gform_wrapper_1 :is(input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
  color: var(--bemis-ink); background-color: var(--bemis-paper); border-color: #76859a;
}
.bemis-contact__form #gform_wrapper_1 :is(input, textarea)::placeholder { color: var(--bemis-subtle); opacity: 1; }
.bemis-contact__form #gform_wrapper_1 select { background-image: none; appearance: auto; }
.bemis-contact__form #gform_wrapper_1 :is(input, select, textarea):focus { outline: 2px solid var(--bemis-blue); outline-offset: 2px; }
.bemis-contact__form #gform_wrapper_1 :is(.gfield_required, .validation_message, .gform_validation_errors) { color: var(--bemis-red); }
.bemis-contact__form #gform_wrapper_1 :is(button[type="submit"], input[type="submit"]) {
  color: var(--bemis-button-text); background: var(--bemis-button-bg); border-color: var(--bemis-button-bg);
}
