/* Kleine, unabhängige Ersatzfunktionen für den Nicepage-Laufzeitcode. */
.u-header { position: sticky; top: 0; z-index: 100; }
.u-menu { opacity: 1; }
.u-menu .menu-collapse { display: block; }
.u-menu .u-nav-container { display: none; }
.u-menu.menu-open .u-nav-container-collapse { display: flex; width: 100%; }
.u-menu.menu-open .u-sidenav { flex: 0 0 var(--sidenav-width, 250px); margin-left: 0; position: relative; z-index: 2; height: 100%; overflow-y: auto; }
.u-menu.menu-open .u-menu-overlay { display: block; position: absolute; inset: 0; background: #000; opacity: .7; }
body.panel-open { overflow: hidden; }
.u-menu-close, [data-href], .u-carousel-indicators li { cursor: pointer; }
.u-cookies-consent.show { display: block; }
.u-dialog-block { display: none !important; }
.u-dialog-block.dialog-open { display: flex !important; position: fixed; inset: 0; z-index: 10002; overflow: auto; background: rgba(0,0,0,.7); }
.u-dialog-block.dialog-open .u-dialog { flex-shrink: 0; max-height: 90vh; }
.u-carousel-item { display: none; }
.u-carousel-item.u-active { display: block; }
.u-carousel-indicators li:focus-visible, [role=button]:focus-visible, [data-href]:focus-visible { outline: 3px solid #223985; outline-offset: 4px; }
section[id] { scroll-margin-top: 150px; }
.foto-dialog { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 94vh; overflow: visible; }
.foto-dialog::backdrop { background: rgba(0,0,0,.85); }
.foto-dialog img { display: block; max-width: 90vw; max-height: 88vh; object-fit: contain; }
.foto-dialog button { position: absolute; right: 0; top: 0; border: 0; background: #fff; color: #223985; font-size: 30px; cursor: pointer; }
.motion-waiting { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Originale Compositing-Hinweise erhalten, auch bei reduzierter Bewegung. */
[data-animation-name="customAnimationIn"] { will-change: transform, opacity; }
[data-animation-name="shake"] { will-change: transform; }
