/* Ergaenzungen fuer den Betrieb ohne Elementor-/jQuery-JavaScript. */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Untermenue Desktop: oeffnet per Hover und per Tastaturfokus (frueher SmartMenus-JS) */
@media (min-width: 1025px) {
  nav.elementor-nav-menu--main .elementor-nav-menu > li { position: relative; }
  nav.elementor-nav-menu--main ul.sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 9999; width: max-content; }
  nav.elementor-nav-menu--main li:hover > ul.sub-menu,
  nav.elementor-nav-menu--main li:focus-within > ul.sub-menu { display: block; }
}
/* Untermenue im Burger-Menue: per Pfeil aufklappbar */
nav.elementor-nav-menu--dropdown ul.sub-menu { display: none; }
nav.elementor-nav-menu--dropdown li.dg-open > ul.sub-menu { display: block; }
nav.elementor-nav-menu--dropdown .sub-arrow { cursor: pointer; }

/* Formular: Honeypot unsichtbar, Rueckmeldung */
.dg-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dg-form-msg { width: 100%; margin-top: 14px; font-family: Jost, sans-serif; font-size: 16px; line-height: 1.5; }
.dg-form-msg:empty { display: none; }
.dg-form-msg.ok { color: #1d5c2e; }
.dg-form-msg.err { color: #9b1c1c; }
form[data-dg-form].is-busy button[type="submit"] { opacity: .6; pointer-events: none; }

/* Rechtstexte: Fusszeile bleibt auch bei kurzem Inhalt am unteren Rand, Links im Fliesstext erkennbar */
body:has(.kkc-document) { display: flex; flex-direction: column; min-height: 100vh; }
body:has(.kkc-document) > main { flex: 1 0 auto; }
.kkc-document a { text-decoration: underline; text-underline-offset: 2px; }
