/* Shared display mode: only the selector changes the normal theme. */
/* WordPress wraps the header template part: stick that outer box, otherwise
   the inner header's sticky position ends at its own wrapper's bottom. */
html {
  --ek-header-top: 0px;
  --ek-header-clearance: 92px;
  scroll-padding-top: calc(var(--ek-header-top) + var(--ek-header-clearance));
}
body .wp-site-blocks > header:has(.ek-site-header) {
  position: sticky;
  top: var(--ek-header-top);
  z-index: 1000;
}
body .wp-site-blocks > header > .ek-site-header {
  position: relative;
  top: auto;
}
@media (min-width: 783px) {
  html:has(body.admin-bar) { --ek-header-top: 32px; }
}
@media (min-width: 601px) and (max-width: 782px) {
  html:has(body.admin-bar) { --ek-header-top: 46px; }
}
[data-display-mode-control]:empty { display: none; }
.display-mode-control {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  font: inherit;
  white-space: nowrap;
}
.display-mode-select {
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 4px;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: transparent;
  color: var(--ek-contrast, #111827);
  font: inherit;
  cursor: pointer;
}
.display-mode-select:hover { border-color: var(--ek-border, #777); }
.display-mode-select:focus-visible {
  outline: 3px solid var(--ek-focus, #8b6a2b);
  outline-offset: 3px;
}
/* The selector is one navigation item. WordPress owns its overlay visibility,
   focus trap and Escape handling, and the same DOM stays in place at all widths. */
body .ek-site-nav .ek-site-nav__display { flex: 0 0 auto; }
body .ek-site-nav .display-mode-control,
body .ek-site-nav .display-mode-label,
body .ek-site-nav .display-mode-select { font: inherit; }
@media (max-width: 1023px) {
  body .ek-site-header__inner > .ek-site-nav,
  body .ek-site-header__inner > .ek-site-nav .wp-block-navigation__container { font-size: 16px; }
  body .ek-site-nav .wp-block-navigation-item__content { font-size: inherit; }
  body .ek-site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
  body .ek-site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none;
  }
  html.has-modal-open body .ek-site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    box-sizing: border-box;
    padding: 24px 24px 32px;
    overflow: auto;
    background: var(--ek-base, #fff);
  }
  body .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    align-items: flex-end;
    gap: 16px;
  }
  body .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    align-items: flex-end;
  }
  body .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0;
  }
  body .ek-site-nav .ek-site-nav__display {
    border-top: 1px solid var(--ek-border, #777);
    padding-top: 6px;
  }
  body .ek-site-nav .wp-block-navigation__responsive-container-close {
    min-width: 44px;
    min-height: 44px;
  }
}

html[data-display-mode="clear"] {
  color-scheme: light;
  --clear-bg: #fff;
  --clear-text: #111;
  --clear-muted: #525252;
  --clear-line: #767676;
  --clear-soft: #f3f3f3;
  --clear-link: #174ea6;
  --clear-error: #b21d16;
  --clear-success: #176333;
  background: var(--clear-bg);
  scroll-behavior: auto;
}
@media (prefers-color-scheme: dark) {
  html[data-display-mode="clear"] {
    color-scheme: dark;
    --clear-bg: #000;
    --clear-text: #fff;
    --clear-muted: #c1c1c1;
    --clear-line: #858585;
    --clear-soft: #171717;
    --clear-link: #9dc4ff;
    --clear-error: #ffaaa4;
    --clear-success: #9edab2;
  }
}
html[data-display-mode="clear"] body {
  --ek-base: var(--clear-bg);
  --ek-contrast: var(--clear-text);
  --ek-gold: var(--clear-link);
  --ek-focus: var(--clear-link);
  --ek-warm: var(--clear-bg);
  --ek-card: var(--clear-bg);
  --ek-text: var(--clear-text);
  --ek-muted: var(--clear-muted);
  --ek-border: var(--clear-line);
  --ek-shadow: none;
  --ek-shadow-hover: none;
  --ek-radius: 4px;
  --ek-transition: 0s;
  --ekar-bg: var(--clear-bg);
  --ekar-panel: var(--clear-bg);
  --ekar-panel-strong: var(--clear-bg);
  --ekar-panel-soft: var(--clear-soft);
  --ekar-border: var(--clear-line);
  --ekar-border-strong: var(--clear-line);
  --ekar-text: var(--clear-text);
  --ekar-muted: var(--clear-muted);
  --ekar-accent: var(--clear-text);
  --ekar-accent-soft: var(--clear-soft);
  --ekar-gold: var(--clear-link);
  --ekar-success: var(--clear-bg);
  --ekar-success-text: var(--clear-success);
  --ekar-error: var(--clear-bg);
  --ekar-error-text: var(--clear-error);
  --wp--preset--color--base: var(--clear-bg);
  --wp--preset--color--contrast: var(--clear-text);
  --wp--preset--color--accent-gold: var(--clear-link);
  --wp--preset--color--warm-background: var(--clear-bg);
  --wp--preset--color--body-text: var(--clear-text);
  --wp--preset--color--secondary-text: var(--clear-muted);
  --wp--preset--color--card-background: var(--clear-bg);
  --wp--preset--color--border-soft: var(--clear-line);
  background: var(--clear-bg);
  color: var(--clear-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
html[data-display-mode="clear"] body :is(h1, h2, h3, h4, h5, h6, input, select, textarea, button) {
  font-family: inherit;
  letter-spacing: normal;
}
/* These page templates otherwise combine 112px main padding with a second
   32–64px shell padding. The sticky header already occupies its own row. */
html[data-display-mode="clear"] body :is(.ek-main.ek-main--blog, .ek-main.ek-main--page) {
  padding-block-start: 24px;
}
html[data-display-mode="clear"] body :is(.ek-main--blog > .ek-blog-hero, .ek-main--page > .ek-page-shell) {
  padding-block-start: 0;
}
html[data-display-mode="clear"] body :is(.ek-site-header, .ek-site-footer, .ek-hero, .ek-section--warm, .ek-hero-panel, .ek-card, .ek-step, .ek-post-card, .ek-blog-hero__cta, .ek-article-head, .ek-contact-shell__panel, .ek-contact-shell__aside, .ek-contact-page__panel, .ek-contact-shell__note, .ek-contact-shell__facts, .ek-contact-shell__links a, .ek-contact-shell__channels, .ek-contact-options__tabs, .ek-voice-message, .ek-voice-message__meta, .ek-voice-message__recorder, .ek-voice-message__wave, .ek-voice-message__item, .ek-silta-dialog, .ek-bosch-callout, .ekar-review-card, .ekar-reviews-page, .wp-block-navigation__responsive-container.is-menu-open) {
  background: var(--clear-bg);
  color: var(--clear-text);
  border-color: var(--clear-line);
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
/* WordPress's default overlay has five class-level selectors. This scoped rule
   takes precedence and changes the surface and interactive text together. */
html[data-display-mode="clear"] body .ek-site-header .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--clear-bg);
  color: var(--clear-text);
}
html[data-display-mode="clear"] body .ek-site-header .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation-item__content, .wp-block-navigation__responsive-container-close, .display-mode-control, .display-mode-select) {
  color: var(--clear-text);
}
html[data-display-mode="clear"] body .ek-site-header .ek-site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
  color: var(--clear-link);
}
html[data-display-mode="clear"] body .ek-site-nav .display-mode-select option {
  background: var(--clear-bg);
  color: var(--clear-text);
}
html[data-display-mode="clear"] body :is(.ek-hero-panel, .ek-card, .ek-step, .ek-post-card, .ek-blog-hero__cta, .ek-article-head, .ekar-review-card) {
  border-width: 1px 0 0;
  border-style: solid;
  padding: 20px 0;
  transform: none;
}
html[data-display-mode="clear"] body :is(.ek-contact-shell__link-card, .ek-contact-shell__aside-block--soft, .ek-contact-shell__form > p:first-child, .ek-article-content .wpforms-container, .ek-page-shell > .wp-block-post-content .wpforms-container) {
  background: var(--clear-bg);
  color: var(--clear-text);
  border-color: var(--clear-line);
  border-radius: 4px;
  box-shadow: none;
}
html[data-display-mode="clear"] body :is(.ek-hero__lead, .ek-hero-panel__intro, .ek-card p, .ek-step p, .ek-hero-panel li, .ek-post-card .wp-block-post-excerpt__excerpt, .ek-article-content p, .ek-article-content li, .ek-article-content > p:first-of-type, .ekar-review-text, .ekar-section-title, .ek-site-footer h2, .ek-site-footer h3) {
  color: var(--clear-text);
}
html[data-display-mode="clear"] body :is(.ek-site-header__brand-tag, .ek-contact-shell__eyebrow, .ekar-review-meta, .ekar-review-author, .ek-site-footer__bottom, .ek-contact-shell__note) {
  color: var(--clear-muted);
}
html[data-display-mode="clear"] body :is(.ek-section-badge, .ek-post-category span, .ek-post-category a, .ek-trust-badges span, .ek-trust-badges p) {
  background: transparent;
  color: var(--clear-muted);
  border-radius: 0;
  border-color: var(--clear-line);
}
html[data-display-mode="clear"] body :is(.ek-section-badge, .ek-post-meta, .ek-step__number, .ek-site-header__brand-tag, .ek-contact-shell__eyebrow, .ek-voice-message__meta, .pcfi-multi-quote__summary strong) {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: normal;
}
/* The empty-alt brand mark is decorative; article photos and diagrams stay. */
html[data-display-mode="clear"] .ek-site-header__brand-mark { display: none; }
html[data-display-mode="clear"] body :is(.ek-site-footer a, .ek-silta--footer .ek-silta__button, .ek-silta--footer .ek-silta__link, .ek-article-content a, .ek-trust-badges a, .ekar-review-stars) { color: var(--clear-link); }
html[data-display-mode="clear"] body :is(.ek-article-content a, .ek-card-link a, .ek-section-link a, .ek-hero__helper-link a, .ek-hero-panel__footer a) {
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 0.2em;
}
html[data-display-mode="clear"] body :is(.wp-element-button, .wp-block-button__link, .ek-silta-dialog__accept, .ek-silta-dialog__cancel, .ek-voice-message__button, .ek-voice-message__remove, .pcfi-multi-button, .pcfi-multi-address-card__control button, .pcfi-multi-suggestion) {
  background: var(--clear-bg);
  color: var(--clear-text);
  border: 1px solid var(--clear-line);
  border-radius: 4px;
  box-shadow: none;
  transform: none;
  transition: none;
}
html[data-display-mode="clear"] body :is(.ek-button-primary .wp-element-button, .ek-button-primary .wp-block-button__link, .ek-silta-dialog__accept, .ek-voice-message__button--primary, .pcfi-multi-button--primary) {
  background: var(--clear-text);
  color: var(--clear-bg);
  border-color: var(--clear-text);
}
html[data-display-mode="clear"] body :is(button, .wp-block-button__link, .wp-element-button):not(:disabled):hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transform: none;
}
html[data-display-mode="clear"] body :is(button, input[type="submit"]):disabled { opacity: 0.55; cursor: not-allowed; }
html[data-display-mode="clear"] body :is(.wpforms-container .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .wpforms-container .wpforms-form textarea, .wpforms-container .wpforms-form select, .ek-voice-message__fields input, .ek-voice-message__fields textarea) {
  background: var(--clear-bg) !important;
  color: var(--clear-text) !important;
  border-color: var(--clear-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
html[data-display-mode="clear"] body .wpforms-container .wpforms-form .wpforms-submit,
html[data-display-mode="clear"] body.ek-contact-page .ek-contact-options__tab[aria-selected="true"] {
  background: var(--clear-text) !important;
  color: var(--clear-bg) !important;
  border-color: var(--clear-text) !important;
  border-radius: 4px !important;
}
html[data-display-mode="clear"] body .wpforms-container :is(.wpforms-field-label, .wpforms-field-label-inline) { color: var(--clear-text); }
html[data-display-mode="clear"] body :is(input, textarea)::placeholder { color: var(--clear-muted) !important; opacity: 1; }
html[data-display-mode="clear"] body :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--clear-text); }
html[data-display-mode="clear"] body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--clear-link) !important;
  outline-offset: 3px;
  border-radius: 4px;
}
html[data-display-mode="clear"] body :is(.wpforms-error, .wpforms-required-label, .ek-voice-message__status[data-state="error"]) { color: var(--clear-error) !important; }
html[data-display-mode="clear"] body .wpforms-container .wpforms-form [aria-invalid="true"] { border-color: var(--clear-error) !important; }
html[data-display-mode="clear"] body .ek-voice-message__status[data-state="success"] { color: var(--clear-success); }
html[data-display-mode="clear"] body .ek-voice-message__notice { background: var(--clear-soft); color: var(--clear-text); border-color: var(--clear-line); }
html[data-display-mode="clear"] body .ek-voice-message__wave span { background: var(--clear-muted); }
html[data-display-mode="clear"] body .ek-voice-message__dot.is-recording { background: var(--clear-error); }
html[data-display-mode="clear"] .ek-silta-dialog::backdrop { background: rgb(80 80 80 / 65%); }
/* Reviews use their own form controls and palette. */
html[data-display-mode="clear"] body.ekar-feedback-page :is(.ek-main, .wp-site-blocks),
html[data-display-mode="clear"] body :is(.ekar-feedback-hero, .ekar-feedback-form-wrap, .ekar-form-section, .ekar-checkbox-option, .ekar-actions, .ekar-field input, .ekar-field textarea, .ekar-field select, .ekar-stars label) {
  background: var(--clear-bg);
  border-color: var(--clear-line);
  border-radius: 4px;
  box-shadow: none;
  transform: none;
}
html[data-display-mode="clear"] body :is(.ekar-reviews-section h2, .ekar-review-card__comment, .ekar-checkbox-option input:checked ~ .ekar-checkbox-option__content .ekar-checkbox-option__title) { color: var(--clear-text); }
html[data-display-mode="clear"] body :is(.ekar-review-card__meta, .ekar-kicker) { color: var(--clear-muted); }
html[data-display-mode="clear"] body .ekar-review-card__rating { color: var(--clear-link); }
html[data-display-mode="clear"] body .ekar-stars label { color: var(--clear-muted); }
html[data-display-mode="clear"] body .ekar-stars input:checked + label,
html[data-display-mode="clear"] body .ekar-stars input:checked + label ~ label {
  background: var(--clear-soft);
  color: var(--clear-link);
  border-color: var(--clear-link);
  box-shadow: none;
}
html[data-display-mode="clear"] body .ekar-stars input:focus-visible + label,
html[data-display-mode="clear"] body .ekar-checkbox-option input:focus-visible + .ekar-checkbox-option__indicator { outline: 3px solid var(--clear-link); outline-offset: 3px; }
html[data-display-mode="clear"] body .ekar-checkbox-option input:checked + .ekar-checkbox-option__indicator::after { border-color: var(--clear-bg); }
html[data-display-mode="clear"] body .ekar-submit {
  background: var(--clear-text);
  color: var(--clear-bg);
  border: 1px solid var(--clear-text);
  border-radius: 4px;
  box-shadow: none;
  transform: none;
}
/* Existing multi-property calculator: preserve selected/error/disabled states. */
html[data-display-mode="clear"] body .pcfi-multi {
  --pcfi-multi-bg: var(--clear-bg);
  --pcfi-multi-panel: var(--clear-bg);
  --pcfi-multi-soft: var(--clear-soft);
  --pcfi-multi-soft-strong: var(--clear-soft);
  --pcfi-multi-text: var(--clear-text);
  --pcfi-multi-muted: var(--clear-muted);
  --pcfi-multi-border: var(--clear-line);
  --pcfi-multi-neutral-border: var(--clear-line);
  --pcfi-multi-neutral-bg: var(--clear-bg);
  --pcfi-multi-accent: var(--clear-link);
  --pcfi-multi-accent-dark: var(--clear-success);
  --pcfi-multi-success-bg: var(--clear-bg);
  --pcfi-multi-success-border: var(--clear-success);
  --pcfi-multi-warn: var(--clear-error);
  --pcfi-multi-warn-bg: var(--clear-bg);
  --pcfi-multi-warn-border: var(--clear-error);
  --pcfi-multi-focus: var(--clear-link);
  --pcfi-multi-radius: 4px;
}
html[data-display-mode="clear"] body .pcfi-multi :is(input, select, textarea, .pcfi-multi-method-card, .pcfi-multi-row, .pcfi-multi-quote, .pcfi-multi-ready, .pcfi-multi-address-card, .pcfi-multi-afterword__facts div) {
  background: var(--clear-bg);
  color: var(--clear-text);
  box-shadow: none;
}
html[data-display-mode="clear"] body .pcfi-multi .pcfi-multi-method-card.is-selected {
  background: var(--clear-soft);
  border: 2px solid var(--clear-link);
}
html[data-display-mode="clear"] body .pcfi-multi :is(input, select)[aria-invalid="true"] { border-color: var(--clear-error); }
html[data-display-mode="clear"] body .pcfi-multi .pcfi-multi-button--primary:disabled { background: var(--clear-text); color: var(--clear-bg); }
@media print {
  body .wp-site-blocks > header:has(.ek-site-header) { position: static; }
  html[data-display-mode="clear"] {
    color-scheme: light;
    --clear-bg: #fff;
    --clear-text: #111;
    --clear-muted: #525252;
    --clear-line: #767676;
    --clear-soft: #f3f3f3;
    --clear-link: #174ea6;
    --clear-error: #b21d16;
    --clear-success: #176333;
  }
  [data-display-mode-control] { display: none !important; }
}
