/* Shared color roles. Classic is the first-visit and no-JavaScript default.
 * Both modes use the same templates and geometry. No content is rewritten. */
:root {
  color-scheme: dark;
  --wvarc-ui-surface: #111111;
  --wvarc-ui-raised: #102c46;
  --wvarc-ui-muted-surface: #091e33;
  --wvarc-ui-soft: #003366;
  --wvarc-ui-text: #fff3c8;
  --wvarc-ui-muted: #c5d4df;
  --wvarc-ui-link: #7dd3fc;
  --wvarc-ui-border: #45627d;
  --wvarc-ui-accent: #f6c43d;
  --wvarc-ui-accent-text: #f6c43d;
  --wvarc-ui-action: #17638a;
  --wvarc-ui-on-action: #ffffff;
  --wvarc-ui-brand: #003366;
  --wvarc-ui-on-brand: #fff3c8;
  --wvarc-ui-focus: #f6c43d;
  --wvarc-ui-danger: #ffb4b4;
}
:root[data-wvarc-theme="light"], .editor-styles-wrapper {
  color-scheme: light;
  --wvarc-ui-surface: #ffffff;
  --wvarc-ui-raised: #f8fbff;
  --wvarc-ui-muted-surface: #f3f5f7;
  --wvarc-ui-soft: #e6f0ff;
  --wvarc-ui-text: #0d2b5e;
  --wvarc-ui-muted: #52657e;
  --wvarc-ui-link: #205bd6;
  --wvarc-ui-border: #a9bad0;
  --wvarc-ui-accent: #f59e0b;
  --wvarc-ui-accent-text: #805000;
  --wvarc-ui-action: #2563eb;
  --wvarc-ui-on-action: #ffffff;
  --wvarc-ui-brand: #0d2b5e;
  --wvarc-ui-on-brand: #ffffff;
  --wvarc-ui-focus: #1854c3;
  --wvarc-ui-danger: #a82020;
}

/* Compatibility roles for the inherited templates and plugin presentations. */
:root, .editor-styles-wrapper {
  --wvarc-ink: var(--wvarc-ui-text);
  --wvarc-paper: var(--wvarc-ui-surface);
  --wvarc-muted: var(--wvarc-ui-muted);
  --wvarc-line: var(--wvarc-ui-border);
  --wvarc-sky: var(--wvarc-ui-link);
  --wvarc-gold: var(--wvarc-ui-accent);
  --wvarc-shadow: 0 0.65rem 1.8rem rgb(0 0 0 / 15%);
}

/* One compact control, outside the overflow navigation on every screen size. */
.site-header .header-inner { gap: 0.75rem; }
.site-header .site-navigation { min-width: 0; }
.wvarc-theme-toggle[hidden] { display: none !important; }
.wvarc-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0.5rem 0.7rem;
  border: 1px solid #f6c43d;
  border-radius: 0.45rem;
  background: transparent;
  color: #ffffff;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}
.wvarc-theme-toggle:hover { background: rgb(255 255 255 / 12%); }
.wvarc-theme-toggle__icon { width: 1.1rem; font-size: 1.1rem; }
.wvarc-theme-toggle__light { display: none; }
:root[data-wvarc-theme="light"] .wvarc-theme-toggle__light { display: inline; }
:root[data-wvarc-theme="light"] .wvarc-theme-toggle__dark { display: none; }
.site-header .wvarc-theme-toggle:focus-visible { outline: 3px solid #f6c43d !important; outline-offset: 3px; }
.site-header :where(a, button):focus-visible,
.footer-details a:focus-visible { outline-color: #f6c43d !important; }
.site-header .menu-toggle,
.site-header .menu-toggle:hover,
.site-header .menu-toggle:focus-visible {
  background: var(--wvarc-ui-brand) !important;
  color: #ffffff !important;
}
@media (width > 50rem) {
  .site-header .site-navigation { flex: 1 1 0%; width: auto; }
}
@media (width <= 50rem) {
  .site-header .header-inner { justify-content: space-between; }
  .wvarc-theme-toggle { margin-left: auto; }
}

/* Shared component corrections: no mode-specific sizing or positioning. */
.entry-content, .page-content, .front-page-block-content,
.wvarc-event-content, .wvarc-calendar__modal-card {
  color: var(--wvarc-ui-text);
}
.hero, .notice, .section-muted {
  background: var(--wvarc-ui-soft);
  color: var(--wvarc-ui-text);
}
.hero h1, .hero-copy, .section-muted h1, .section-muted h2,
.wvarc-event-card > h2, .wvarc-event-content > h2,
.wp-block-group.is-style-wvarc-section-gold .wvarc-event-single__header-inner h1,
.wp-block-group.is-style-wvarc-section-gold .wvarc-event-single__kicker {
  color: var(--wvarc-ui-text) !important;
}
.wvarc-event-content a, .wvarc-event-single__back,
.wp-block-group.is-style-wvarc-section-gold .wvarc-event-single__back {
  color: var(--wvarc-ui-link) !important;
}
.wp-block-heading.is-style-wvarc-overline, .section-kicker, .hero-kicker {
  color: var(--wvarc-ui-accent-text) !important;
}
.wp-block-button:not(.is-style-wvarc-action):not(.is-style-wvarc-outline) .wp-block-button__link,
.wvarc-page-net-calendar .wvarc-broadcastify-actions .wp-block-button__link,
.wvarc-page-net-calendar .wvarc-calendar__week-button,
.wvarc-page-net-calendar .wvarc-calendar--weekly-schedule .wvarc-calendar__day.is-current-day .wvarc-calendar__day-title,
.wvarc-document-viewer.wvarc-document-viewer--minimal .wvarc-document-viewer__arrow:hover:not(:disabled),
.wvarc-event-button, .wvarc-calendar .wp-element-button,
.wvarc-document-viewer__download {
  background: var(--wvarc-ui-action) !important;
  border-color: var(--wvarc-ui-action) !important;
  color: var(--wvarc-ui-on-action) !important;
}
.wp-block-button.is-style-wvarc-action .wp-block-button__link,
.footer-donate .wp-block-button__link, .wvarc-kc-featured-kicker {
  background: var(--wvarc-ui-accent) !important;
  color: #0d2b5e !important;
}
.wp-block-button.is-style-wvarc-outline .wp-block-button__link:hover {
  background: var(--wvarc-ui-action) !important;
  color: #ffffff !important;
}
.wvarc-home-masthead .wp-block-image img,
.wvarc-page-masthead-logo, .wvarc-affiliate-gallery > .wp-block-image {
  background: #ffffff;
}
.site-footer, .footer-details { color: var(--wvarc-ui-on-brand) !important; }
.site-footer .footer-donate h2 { color: var(--wvarc-ui-text) !important; }

/* Standard Gutenberg palette classes retain paired foreground/background roles. */
.has-white-background-color, .has-light-gray-background-color { color: var(--wvarc-ui-text); }
.has-white-background-color { background-color: var(--wvarc-ui-surface) !important; }
.has-light-gray-background-color { background-color: var(--wvarc-ui-muted-surface) !important; }
.has-soft-blue-background-color { background-color: var(--wvarc-ui-soft) !important; color: var(--wvarc-ui-text); }
.has-primary-navy-background-color { background-color: var(--wvarc-ui-brand) !important; color: var(--wvarc-ui-on-brand); }
.has-primary-navy-color { color: var(--wvarc-ui-text) !important; }
.has-accent-blue-color { color: var(--wvarc-ui-link) !important; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--wvarc-ui-soft); }
input::placeholder, textarea::placeholder { color: var(--wvarc-ui-muted) !important; opacity: 1; }
input, select, textarea { accent-color: var(--wvarc-ui-action); }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--wvarc-ui-focus) !important;
  outline-offset: 3px;
}

/* Calendar overlays, status badges and alerts live outside ordinary block rules. */
.wvarc-calendar__modal-card, .wvarc-calendar__alert {
  background: var(--wvarc-ui-surface) !important;
  color: var(--wvarc-ui-text) !important;
  border-color: var(--wvarc-ui-border) !important;
}
.wvarc-calendar__alert { border-left-color: var(--wvarc-ui-accent) !important; }
.wvarc-calendar__alert-title, .wvarc-calendar__modal-card h2,
.wvarc-calendar__modal-card h3 { color: var(--wvarc-ui-text) !important; }
.wvarc-calendar__modal-card a { color: var(--wvarc-ui-link); }
.wvarc-calendar__modal-close {
  background: var(--wvarc-ui-soft) !important;
  color: var(--wvarc-ui-text) !important;
  border-color: var(--wvarc-ui-border) !important;
}
.wvarc-calendar__event-location, .wvarc-calendar__event-repeater,
.wvarc-calendar__empty, .wvarc-calendar__filter-note { color: var(--wvarc-ui-muted) !important; }
.wvarc-calendar--month .wvarc-calendar__month-cell.is-outside-month { background: var(--wvarc-ui-muted-surface) !important; }
.wvarc-calendar--month .wvarc-calendar__month-cell.is-today { outline-color: var(--wvarc-ui-accent); }
.wp-block-group.is-style-wvarc-section-gold .wvarc-event-single__badge {
  background: var(--wvarc-ui-soft);
  color: var(--wvarc-ui-text);
  border-color: var(--wvarc-ui-border);
}
@media print {
  .wvarc-theme-toggle { display: none !important; }
}

.wvarc-calendar--month .wvarc-calendar__event-link:hover,
.wvarc-calendar--month .wvarc-calendar__event-link:focus-visible {
  color: var(--wvarc-ui-text) !important;
}
.wvarc-calendar--month .wvarc-calendar__month-cell.is-today .wvarc-calendar__month-day,
.wvarc-calendar--month .wvarc-calendar__month-cell.is-today .wvarc-calendar__month-day span {
  background: var(--wvarc-ui-accent) !important;
  color: #0d2b5e !important;
}
.wvarc-calendar__modal-card .wvarc-calendar__detail-eyebrow,
.wvarc-calendar__modal-card dt { color: var(--wvarc-ui-accent-text) !important; }
.wvarc-calendar__modal-card a.wp-element-button {
  background: var(--wvarc-ui-action) !important;
  color: #ffffff !important;
}
.wvarc-page-net-calendar .wvarc-calendar--weekly-schedule .wvarc-calendar__filter {
  background-size: 5px 5px, 5px 5px !important;
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50% !important;
  background-repeat: no-repeat !important;
  padding-right: 2rem;
}
.wvarc-tech-card a.wvarc-tech-card__action {
  background: var(--wvarc-ui-action) !important;
  border-color: var(--wvarc-ui-action) !important;
  color: #ffffff !important;
}
:root .wvarc-event-single .wvarc-event-card .wvarc-event-card__actions a.wvarc-event-button {
  color: #ffffff !important;
}
.wvarc-page-node-status .wvarc-lookup-link,
.wvarc-page-node-status .wvarc-sort-indicator {
  color: var(--wvarc-ui-link) !important;
}
.wvarc-page-node-status .wvarc-node-status__updated small,
.wvarc-page-node-status .wvarc-node-status__updated b,
.wvarc-page-node-status .wvarc-connection-summary span,
.wvarc-page-node-status .wvarc-hosting-credit {
  color: var(--wvarc-ui-muted) !important;
}
:root body .wvarc-document-viewer .wvarc-document-viewer__inline-title,
:root body .wvarc-document-viewer .wvarc-document-viewer__inline-caption {
  color: var(--wvarc-ui-text) !important;
}
