/* Opt-in layer for the homepage modules. Load after style.css.php. */
:root { --lwik-ink: #0c2233; --lwik-paper: #f2f4f3; --lwik-line: rgba(10,50,85,.16); --lwik-signal: #f58714; }
.lwik-kicker { color: #f58714; }
.lwik-feature .lwik-kicker, .lwik-final-cta .lwik-kicker { color: #f58714; }
.lwik-hero { isolation: isolate; overflow: clip; }
.lwik-hero picture, .lwik-hero img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.lwik-region-map { position: relative; min-width: 0; overflow: clip; background: var(--lwik-paper); border: 1px solid var(--lwik-line); }
.lwik-region-map__visual { display: block; width: 100%; height: auto; }
.lwik-region-map__places { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 24px 0 0; }
.lwik-region-map__places h3 { margin: 0 0 8px; color: var(--lwik-ink); font-size: 1rem; line-height: 1.25; }
.lwik-region-map__places p { max-width: 38ch; margin: 0; line-height: 1.6; }
.lwik-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; position: relative; }
.lwik-process::before { content: ""; position: absolute; z-index: 0; top: 28px; left: 12.5%; right: 12.5%; height: 3px; background: repeating-linear-gradient(90deg,var(--lwik-signal) 0 10px,var(--lwik-ink) 10px 17px); }
.lwik-process > * { position: relative; z-index: 1; min-width: 0; }
.lwik-process__marker { width: 56px; height: 56px; display: grid; place-items: center; border: 3px solid var(--lwik-ink); border-radius: 50%; background: var(--lwik-paper); color: var(--lwik-ink); font-weight: 700; }
.lwik-quick-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lwik-quick-links a { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border: 1px solid var(--lwik-line); color: var(--lwik-ink); text-decoration: none; }
/* Pfeil kommt aus dem Markup, kein zweiter Pfeil per ::after */
.lwik-quick-links a:hover::after, .lwik-quick-links a:focus-visible::after { transform: translateX(4px); }
.lwik-hero a, .lwik-quick-links a, .lwik-process a { min-height: 44px; }
.lwik-hero :focus-visible, .lwik-region-map :focus-visible, .lwik-process :focus-visible, .lwik-quick-links :focus-visible { outline: 3px solid var(--lwik-signal); outline-offset: 4px; }
.back-to-top svg { width: 24px; height: 24px; color: #fff; stroke: currentColor; }
.back-to-top:focus-visible { outline: 3px solid var(--lwik-ink); outline-offset: 4px; }
@media (min-width: 1200px) { .site-navigation .dropdown-menu.show { top: 100%; visibility: visible; opacity: 1; } }
@media (max-width: 767px) { .lwik-region-map__visual { display: none; } .lwik-region-map::before { content: "Hannover"; display: grid; place-items: center; width: 64px; height: 64px; margin: 24px auto 0; border: 3px solid var(--lwik-ink); border-radius: 50%; background: var(--lwik-signal); color: var(--lwik-ink); font-size: .75rem; font-weight: 700; } .lwik-region-map__places, .lwik-process, .lwik-quick-links { grid-template-columns: 1fr; } .lwik-process::before { top: 28px; bottom: 28px; left: 27px; right: auto; width: 3px; height: auto; background: repeating-linear-gradient(180deg,var(--lwik-signal) 0 10px,var(--lwik-ink) 10px 17px); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
