/* Local font files are versioned with the theme, independent of generated OMGF caches. */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/roboto-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/roboto-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Retain the editable Atomic font token, with a sans-serif fallback if loading fails. */
.elementor.elementor :is(.sdh-kicker, .sdh-heading, .sdh-small-white, .sdh-event-title, .sdh-event-meta, .sdh-footer > p) {
  font-family: var(--sdh-font, 'Roboto'), Arial, sans-serif;
}

/* Integration markup; Atomic layout styles live in the kit. */
.sdh-navigation { position: relative; }
.sdh-menu { display: flex; align-items: center; gap: 2rem; list-style: none; margin: 0; padding: 0; }
.sdh-menu li { position: relative; }
.sdh-menu a { display: block; padding: .8125rem 0; color: #292a2e; font-weight: 500; text-decoration: none; }
.sdh-menu a:hover, .sdh-menu .current-menu-item > a { color: #b51616; }
.sdh-menu .sub-menu { display: none; position: absolute; z-index: 40; min-width: 12rem; margin: 0; padding: .5rem 1rem; list-style: none; background: #fff; box-shadow: 0 .25rem 1rem #0002; }
.sdh-menu li:hover > .sub-menu, .sdh-menu li:focus-within > .sub-menu { display: block; }
.sdh-menu-toggle { display: none; }
.sdh-navigation a:focus-visible, .sdh-menu-toggle:focus-visible { outline: 2px solid #b51616; outline-offset: 3px; }
.sdh-events-list { display: flex; flex-direction: column; gap: .9375rem; }
.sdh-events-list > .elementor { width: 100%; }
@media (max-width: 1024px) {
  .sdh-menu-toggle { display: flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; margin: 0; padding: .5rem; background: transparent; color: #292a2e; border: 0; border-radius: 0; font-size: 1.5rem; line-height: 1; cursor: pointer; }
  .sdh-menu { display: none; position: absolute; right: 0; top: calc(100% + .75rem); z-index: 40; min-width: min(20rem, calc(100vw - 1.875rem)); padding: .5rem 1rem; background: #fff; box-shadow: 0 .25rem 1rem #0002; }
  .sdh-navigation.is-open > .sdh-menu { display: block; }
  .sdh-menu .sub-menu { position: static; box-shadow: none; }
}
.sdh-event-card > p:last-child:not(:empty)::before {
  content: '';
  display: inline-block;
  width: .75rem;
  height: .875rem;
  margin-right: .25rem;
  vertical-align: -.0625rem;
  background-color: currentColor;
  mask: url('/wp-content/uploads/2026/09/sdh-map-marker-alt.svg') center / contain no-repeat;
}
