@font-face {
  font-family: 'Minion Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/2024/09/Minion-Pro.woff') format('woff');
}

/* Accessible focus treatment without changing the established visual identity. */
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #1f4f47 !important;
  outline-offset: 3px;
}

.hfe-nav-menu .current-menu-item > a.hfe-menu-item,
.hfe-nav-menu .current_page_item > a.hfe-menu-item {
  color: #ffffff !important;
}

/* Consent-first Google Maps placeholder. */
.kh-map-consent {
  display: flex;
  min-height: 360px;
  padding: 32px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  color: #374944;
  background: #eef3f1;
  border: 1px solid #cad7d3;
}

.kh-map-consent p {
  max-width: 620px;
  margin: 0;
}

.kh-map-consent__button {
  min-height: 46px;
  margin-top: 6px;
  padding: 11px 22px;
  border: 0;
  border-radius: 3px;
  color: #ffffff;
  background: #5d746e;
  cursor: pointer;
  font: inherit;
}

.kh-map-consent__button:hover {
  background: #40534e;
}

.kh-map-consent__external {
  color: #40534e;
  text-decoration: underline;
}

.kh-map-consent__iframe {
  display: block;
  width: 100%;
  min-height: 360px;
  border: 0;
}

.elementor-widget-google_maps > .elementor-widget-container {
  min-height: 360px;
}

/* Real Cookie Banner: keep secondary copy legible on narrow screens. */
[class*="-ext-6-273"],
[class*="-ext-6-263"] {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#rcb-consent button {
  min-height: 44px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* The HFE tablet header uses a white canvas. Its generated toggle inherited
     a white icon and an invalid padding value, making the menu invisible. */
  .elementor-element-2f83fe0 .hfe-nav-menu__toggle .hfe-nav-menu-icon {
    align-items: center;
    background: #5d746e !important;
    border-radius: 3px;
    color: #fff !important;
    display: flex;
    justify-content: center;
    padding: 9px !important;
  }

  .elementor-element-2f83fe0 .hfe-nav-menu__toggle .hfe-nav-menu-icon svg {
    fill: #fff !important;
  }

  .elementor-element-2f83fe0 .hfe-nav-menu__toggle:focus-visible .hfe-nav-menu-icon {
    outline: 3px solid #253b36;
    outline-offset: 3px;
  }

  .elementor-element-2f83fe0 .menu-item > a.hfe-menu-item {
    color: #40534e !important;
  }

  .elementor-element-2f83fe0 .menu-item > a.hfe-menu-item:hover,
  .elementor-element-2f83fe0 .menu-item > a.hfe-menu-item:focus-visible,
  .elementor-element-2f83fe0 .current-menu-item > a.hfe-menu-item,
  .elementor-element-2f83fe0 .current_page_item > a.hfe-menu-item {
    color: #1f322d !important;
  }
}

@media (max-width: 767px) {
  .kh-map-consent {
    min-height: 300px;
    padding: 24px 18px;
  }

  .kh-map-consent__iframe {
    min-height: 300px;
  }

  .elementor-widget-google_maps > .elementor-widget-container {
    min-height: 300px;
  }
}
