/* Lebenshilfe Barrierefreiheit 2026 */
.lhbs-a11y-sr-only,
.lhbs-a11y-2026 .lhbs-a11y-sr-only {
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* Skip link – sichtbar sobald er per Tastatur fokussiert wird. */
.lhbs-a11y-2026 .skip-link,
.lhbs-a11y-2026 .lhbs-a11y-skip {
  position:fixed!important;left:1rem!important;top:1rem!important;z-index:999999!important;
  transform:translateY(-180%);padding:.8rem 1rem!important;background:#fff!important;color:#003b70!important;
  border:3px solid #003b70!important;border-radius:.4rem!important;font-weight:700!important;text-decoration:none!important;
}
.lhbs-a11y-2026 .skip-link:focus,
.lhbs-a11y-2026 .lhbs-a11y-skip:focus { transform:translateY(0); }

/* WCAG-konformer, deutlich sichtbarer Fokus – keine Entfernung des Browser-Fokus. */
.lhbs-a11y-2026 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid #ffbf47!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #1b1b1b!important;
}
.lhbs-a11y-2026 :where(a,button,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible) {
  outline:none;
}

/* Interaktive Ziele erhalten auf Touch-Geräten eine ausreichende Zielfläche, ohne Kartenlayout zu zerlegen. */
@media (pointer:coarse) {
  .lhbs-a11y-2026 :where(button,input[type="button"],input[type="submit"],.mobile-nav-toggle,.lhbs-submenu-toggle,.lhbs-access-fab) {
    min-width:44px;min-height:44px;
  }
}

/* Links bleiben ohne Farbwahrnehmung erkennbar, wenn sie fokussiert werden. */
.lhbs-a11y-2026 main a:not([class]):focus-visible,
.lhbs-a11y-2026 main a:not([class]):hover { text-decoration:underline; text-decoration-thickness:.12em; text-underline-offset:.16em; }

/* Reflow / Textabstände: lange Inhalte dürfen nicht abgeschnitten werden. */
.lhbs-a11y-2026 main,
.lhbs-a11y-2026 main * { overflow-wrap:anywhere; }
.lhbs-a11y-2026 img, .lhbs-a11y-2026 svg, .lhbs-a11y-2026 video { max-width:100%; }
.lhbs-a11y-2026 input, .lhbs-a11y-2026 textarea, .lhbs-a11y-2026 select, .lhbs-a11y-2026 button { font:inherit; }

/* Slider: Nicht aktive Folien werden auch für assistive Technik aus dem Bedienfluss genommen. */
.lhbs-a11y-2026 [data-lh150-slide][aria-hidden="true"] { visibility:hidden; }
.lhbs-a11y-2026 .lh150-dots button { min-width:20px; min-height:20px; position:relative; }
.lhbs-a11y-2026 .lh150-dots button::after { content:""; position:absolute; inset:-8px; }

/* Kartenalternative. */
.lhbs-a11y-2026 .lhbs-home-map[role="region"] { outline:none; }
.lhbs-a11y-2026 .lhbs-a11y-map-help { margin:.5rem 0 1rem; font-size:.95rem; }
.lhbs-a11y-2026 .lhbs-a11y-location-heading { margin-top:1.5rem; }

/* Erklärung zur Barrierefreiheit. */
.lhbs-a11y-statement { max-width:920px; margin-inline:auto; }
.lhbs-a11y-statement .lhbs-a11y-lead { font-size:1.12em; line-height:1.65; }
.lhbs-a11y-statement h2 { margin-top:2rem; }
.lhbs-a11y-statement li { margin:.45rem 0; }
.lhbs-a11y-home-link { display:inline-block; margin-top:1rem; font-weight:700; }

/* Nutzerwunsch „Bewegung reduzieren“ respektieren. */
@media (prefers-reduced-motion: reduce) {
  .lhbs-a11y-2026 *,
  .lhbs-a11y-2026 *::before,
  .lhbs-a11y-2026 *::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Windows High Contrast / Forced Colors. */
@media (forced-colors: active) {
  .lhbs-a11y-2026 :where(a,button,input,select,textarea,summary) { forced-color-adjust:auto; }
  .lhbs-a11y-2026 :where(.btn,.lh150-btn,.lhbs-access-fab,.lhbs-door-toggle) { border:2px solid ButtonText!important; }
}

/* 320px-Reflow: horizontales Abschneiden vermeiden. */
@media (max-width:480px) {
  .lhbs-a11y-2026 .lh150-wrap,
  .lhbs-a11y-2026 .container { max-width:100%; }
  .lhbs-a11y-2026 table { display:block; max-width:100%; overflow-x:auto; }
}


/* 1.0.1: robust text spacing and zoom support without fixed-height clipping. */
.lhbs-a11y-2026 :where(p,li,dd,dt,blockquote,label,input,textarea,select,button) {
  line-height:1.5;
}
.lhbs-a11y-2026 :where(p,li) { max-width:none; }
.lhbs-a11y-2026 :where(.lh150-feature,.lh150-mini,[class*="card"]) {
  height:auto;
}

/* Do not communicate state by color alone on slider dots. */
.lhbs-a11y-2026 .lh150-dots button[aria-current="true"]::before {
  content:"";
  position:absolute;
  width:6px;height:6px;border-radius:50%;
  left:50%;top:50%;transform:translate(-50%,-50%);
  background:currentColor;
}

/* 1.0.2 – robuste Textvergrößerung: Layout darf bei 130 % nicht abschneiden. */
.lhbs-a11y-2026.lhbs-a11y-text-scaled :where(p,li,dt,dd,blockquote,figcaption,h1,h2,h3,h4,h5,h6,a,button,label,input,select,textarea,summary) {
  overflow-wrap:anywhere;
}
.lhbs-a11y-2026.lhbs-a11y-text-scaled :where(.container,.lh150-wrap,.lh150-feature,.lh150-mini,.contextual-copy,.page-content,.site-footer,.lhbs-access-panel) {
  min-width:0;
}

/* 1.0.3 – Barrierefreiheit + Leichte Sprache sichtbar im Header */
.lhbs-a11y-2026 .access-strip .access-inner{gap:.55rem!important;flex-wrap:wrap}
.lhbs-a11y-2026 .access-strip .access-inner a{display:inline-flex;align-items:center;min-height:32px;padding:.15rem .25rem;text-decoration:underline;text-underline-offset:.16em}
.lhbs-a11y-2026 .lhbs-a11y-header-sep{opacity:.65}
.lhbs-a11y-2026 .access-strip a[aria-current="page"]{font-weight:800;text-decoration-thickness:.16em}

/* 1.0.3 – Dunkler Modus: gesamte Website statt nur einzelner Karten. */
body.lhbs-dark-mode{--lhbs-dark-bg:#121619;--lhbs-dark-surface:#1c2328;--lhbs-dark-surface-2:#252e34;--lhbs-dark-text:#f4f7f8;--lhbs-dark-muted:#d1d8dc;--lhbs-dark-line:#59666e;--lhbs-dark-link:#8fcfff;background:var(--lhbs-dark-bg)!important;color:var(--lhbs-dark-text)!important;color-scheme:dark}
body.lhbs-dark-mode :where(.site-header,.access-strip,.main-header,.page-content,main,section,.lh150-section,.lh150-offers,.lh150-locations,.lh150-about,.lh150-support,.lh150-news,.lh150-team,.lh150-contact,.content-layout,.contextual-copy,.site-footer,.footer-bottom,.footer-inner){background-color:var(--lhbs-dark-bg)!important;color:var(--lhbs-dark-text)!important}
body.lhbs-dark-mode :where(.feature-card,.news-card,.location-card,.lhbs-content-card,.lh150-feature,.lh150-mini,.lh150-entry-card,.lh150-location-card,.lh150-support-card,.lh150-news-card,.lh150-contact-card,.kita-contact-card,.offers-area,.lhbs-card,.card,.lhbs-access-panel,.lhbs-mega,.header-search){background:var(--lhbs-dark-surface)!important;color:var(--lhbs-dark-text)!important;border-color:var(--lhbs-dark-line)!important;box-shadow:none!important}
body.lhbs-dark-mode :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,strong,small,span,figcaption,.lh150-heading span,.lh150-heading p,.lhbs-mega small){color:inherit!important}
body.lhbs-dark-mode :where(p,li,dt,dd,small,.muted,.lh150-heading span,.lhbs-mega small){color:var(--lhbs-dark-muted)!important}
body.lhbs-dark-mode :where(a:not(.btn):not(.lh150-btn),.lh150-link){color:var(--lhbs-dark-link)!important}
body.lhbs-dark-mode :where(.lhbs-nav-link,.mobile-nav-toggle,.lhbs-submenu-toggle){color:var(--lhbs-dark-text)!important;background-color:transparent!important}
body.lhbs-dark-mode :where(.lhbs-nav-link:hover,.lhbs-nav-item.is-open>.lhbs-nav-link,.mobile-nav-toggle:hover){background:var(--lhbs-dark-surface-2)!important;color:#fff!important}
body.lhbs-dark-mode .contact-strip{background:#073f68!important;color:#fff!important}
body.lhbs-dark-mode .contact-strip a{color:#fff!important}
body.lhbs-dark-mode :where(input,textarea,select){background:#11171a!important;color:#fff!important;border-color:#87949b!important}
body.lhbs-dark-mode :where(input,textarea)::placeholder{color:#c4ccd0!important;opacity:1}
body.lhbs-dark-mode table{color:var(--lhbs-dark-text)!important;border-color:var(--lhbs-dark-line)!important}
body.lhbs-dark-mode :where(th,td){background:var(--lhbs-dark-surface)!important;border-color:var(--lhbs-dark-line)!important}
body.lhbs-dark-mode :where(hr){border-color:var(--lhbs-dark-line)!important}
body.lhbs-dark-mode .leaflet-container{background:#20282d!important}
body.lhbs-dark-mode .leaflet-control-zoom a,body.lhbs-dark-mode .leaflet-control-attribution{background:#20282d!important;color:#eef4f7!important}
body.lhbs-dark-mode .leaflet-control-attribution a{color:#9bd3ff!important}
body.lhbs-dark-mode .lhbs-access-panel button{background:var(--lhbs-dark-surface-2)!important;color:#fff!important;border-color:#77848b!important}
body.lhbs-dark-mode .lhbs-access-panel button[aria-pressed="true"]{outline:3px solid #ffbf47!important;outline-offset:2px!important}
body.lhbs-dark-mode img{filter:brightness(.88) contrast(1.04)}
body.lhbs-dark-mode .custom-logo,body.lhbs-dark-mode .lhbs-primary-logo img{filter:none!important;background:#fff;border-radius:8px;padding:3px}
body.lhbs-dark-mode .lh150-hero img,body.lhbs-dark-mode .home-hero img{filter:brightness(.78) contrast(1.06)}

@media(max-width:820px){
  .lhbs-a11y-2026 .access-strip .access-inner{justify-content:center!important}
  .lhbs-a11y-2026 .access-strip .access-inner a{min-height:40px}
}
