/* Gewerbeverein Ergoldsbach: Anpassungen an das Modul „Barrierefreiheit“ (bavariapixel/contao-accessibility-bundle).
   Das Modul setzt Klassen am <html>; Schriftgröße (alle Schriften in rem), Textabstand, Lesefreundliche Schrift,
   Links, Fokus, Mauszeiger und Animationen wirken über das CSS des Moduls. Die Kontraste gestaltet das Theme selbst
   (data-a11y-theme="contrast" im Seitenlayout): über die Variablen aus site.css plus die fest codierten Farben. */

/* ---------- Widget im Look des Themes (eine im Modul eingetragene Farbe hat Vorrang) ---------- */
:root{--a11y-accent:#8A1F2D}

/* Speicherleiste im Profil: am Handy über dem Button, nicht dahinter */
@media (max-width:767px){
  body:has(.a11y) .savebar{bottom:84px}
}

/* Animationen angehalten: das Logo-Laufband lässt sich stattdessen von Hand scrollen */
html.a11y-motion .marquee{overflow-x:auto}

/* ---------- Größere Schrift: Hauptnavigation darf umbrechen, statt aus dem Kopf zu laufen ---------- */
@media (min-width:1081px){
  html.a11y-font .nav .wrap{flex-wrap:wrap;row-gap:12px}
  html.a11y-font .nav-links ul{flex-wrap:wrap;border-radius:24px}
}

/* ---------- Kontrast hoch: Schwarz auf Weiß, dunkle Flächen bleiben schwarz ---------- */
html.a11y-contrast-high{
  --bg:#fff;
  --bg-2:#fff;
  --surface:#fff;
  --ink:#000;
  --ink-2:#000;
  --muted:#2B2B2B;
  --line:#4D4D4D;
  --accent:#6E1623;
  --accent-ink:#4A0E17;
  --accent-soft:#F4E9E8;
  --dark:#000;
  --dark-2:#000;
  --dark-line:rgba(255,255,255,.55);
  --shadow:none;
}
html.a11y-contrast-high .nav.scrolled{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 2px 0 #000}
html.a11y-contrast-high .nav-links ul{background:#fff;border-color:#000}
html.a11y-contrast-high .network line{stroke:rgba(0,0,0,.35)}
html.a11y-contrast-high :is(.search input,.field input,.field textarea,.widget input,.widget textarea)::placeholder{color:#4D4D4D}
html.a11y-contrast-high :is(.btn-ghost,.field input,.field select,.widget input,.widget select,.widget textarea){border-color:#000}

/* ---------- Kontrast dunkel: Weiß auf Schwarz, Akzent Gelb ---------- */
html.a11y-contrast-dark{
  color-scheme:dark;
  --bg:#000;
  --bg-2:#1A1A1A;
  --surface:#0A0A0A;
  --ink:#fff;
  --ink-2:#fff;
  --muted:#E0E0E0;
  --line:#B3B3B3;
  --accent:#FFD500;
  --accent-ink:#FFE466;
  --accent-soft:#332B00;
  --on-accent:#000;
  --on-ink:#000;
  --dark:#000;
  --dark-2:#000;
  --dark-line:rgba(255,255,255,.55);
  --shadow:none;
}
html.a11y-contrast-dark .nav.scrolled{background:rgba(0,0,0,.94);box-shadow:0 1px 0 #fff}
html.a11y-contrast-dark .nav-links ul{background:transparent}
html.a11y-contrast-dark .network line{stroke:rgba(255,255,255,.3)}
html.a11y-contrast-dark :is(.search input,.field input,.field textarea,.widget input,.widget textarea)::placeholder{color:#C7C7C7}
html.a11y-contrast-dark :is(.btn-ghost,.field input,.field select,.widget input,.widget select,.widget textarea){border-color:#fff}
html.a11y-contrast-dark .btn-primary:hover{color:var(--on-accent)}
/* dunkle Flächen heben sich nur noch durch den Rahmen von der Seite ab */
html.a11y-contrast-dark :is(.termine,.gv-bg-dark,.cta-band,.net-tip,.savebar,.gs-pay){border:2px solid #fff}
html.a11y-contrast-dark .net-tip::after{border-right:2px solid #fff;border-bottom:2px solid #fff}
/* Logos und Gewerke-Symbole sind dunkel auf transparent: Logos auf weiße Fläche, Symbole weiß */
html.a11y-contrast-dark .logo-img,
html.a11y-contrast-dark :is(.member,.module-gv-member-logos .track>a,.module-gv-member-logos .track>span) img{padding:6px 10px;border-radius:8px;background:#fff;filter:none;opacity:1}
html.a11y-contrast-dark :is(.m-logo,.md-logo,.md-card-logo,.gv-news-member-logo,.logo-prev){background:#fff}
html.a11y-contrast-dark .tico{filter:brightness(0) invert(1)}
html.a11y-contrast-dark :is(.node.active,.node.solo,.gw-item a:hover .ic,.module-gv-trade-list .gw-grid a[href]:hover .ic,.gw-filter .on .ic) .tico{filter:brightness(0)}
html.a11y-contrast-dark .node.solo{background:#fff;border-color:#fff;color:#000}
/* Meldungen ohne eigene Fläche: helle Varianten von Rot und Grün */
html.a11y-contrast-dark :is(.field .err,.widget p.error,.field label .counter.warn,.hdel:hover,.up-err,.gs-err){color:#FF8A80}
html.a11y-contrast-dark :is(.own-news .st-online,.gv-voucher-filter i,.todo li.ok i){color:#7BD88F}

/* ---------- beide Kontraste: Grautöne auf dunklen Flächen werden weiß ---------- */
html:is(.a11y-contrast-high,.a11y-contrast-dark) :is(.termine,.gv-bg-dark,.cta-band,.savebar,.gs-pay,.net-tip){color:#fff}
html:is(.a11y-contrast-high,.a11y-contrast-dark) :is(
  .termine .eyebrow,.termine .muted,.t-date span,.t-info,.t-info i,.t-badge,
  .gv-bg-dark .eyebrow,.gv-bg-dark .muted,.gv-bg-dark .content-text :is(p,li,address,ul,ol),
  .cta-band p,.net-tip small,.savebar .btn-ghost,.gs-pay i,.mod_eventlist .empty
){color:#fff}
html:is(.a11y-contrast-high,.a11y-contrast-dark) :is(.termine,.gv-bg-dark,.cta-band,.savebar) .btn-ghost{border-color:#fff}
html:is(.a11y-contrast-high,.a11y-contrast-dark) .t-item:hover{background:rgba(255,255,255,.08)}
html:is(.a11y-contrast-high,.a11y-contrast-dark) .cta-band::after,
html:is(.a11y-contrast-high,.a11y-contrast-dark) .network::before{display:none}
html:is(.a11y-contrast-high,.a11y-contrast-dark) .member img,
html:is(.a11y-contrast-high,.a11y-contrast-dark) .module-gv-member-logos .track img{opacity:1}
/* Text in Inhalten immer unterstrichen erkennbar */
html:is(.a11y-contrast-high,.a11y-contrast-dark) .content-text a:not(.btn):not(.link-arrow){text-decoration-thickness:2px}
