.gg-darstellung-start { position:fixed; z-index:10050; right:20px; bottom:max(20px,env(safe-area-inset-bottom)); display:grid; place-items:center; width:58px; height:58px; padding:5px; border:2px solid #fff; border-radius:50%; background:#005437; color:#fff; box-shadow:0 5px 24px #00352230; cursor:pointer; }
.gg-darstellung-start[hidden] { display:none; }
.gg-darstellung-start svg { width:100%; height:100%; }
.gg-darstellung-tooltip { position:absolute; right:calc(100% + 12px); top:50%; translate:0 -50%; padding:10px 14px; border-radius:12px; background:#14221a; color:#fff; font:15px/1.4 sans-serif; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; }
.gg-darstellung-start:is(:hover,:focus-visible) .gg-darstellung-tooltip { opacity:1; visibility:visible; }
.gg-darstellung-start.gg-darstellung-entdecken .gg-darstellung-tooltip { opacity:1; visibility:visible; }
.gg-darstellung-tooltip { transition:opacity .2s ease; }
.gg-darstellung-start:focus-visible { outline:3px solid #fff17a; outline-offset:3px; }
.gg-darstellung { position:fixed; inset:16px 16px 16px auto; width:520px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); margin:auto 0; padding:0; border:1px solid #d6ddd8; border-radius:24px; background:#f5f6f3; color:#1f2a24; box-shadow:0 20px 80px #00261940; font:16px/1.5 system-ui,sans-serif; overflow:auto; }
.gg-darstellung::backdrop { background:#09251760; }
.gg-darstellung-kopf { position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:10px; padding:18px 20px; background:#005437; color:#fff; }
.gg-darstellung-kopf h2 { flex:1; margin:0; color:inherit; font:700 20px/1.3 system-ui,sans-serif; overflow-wrap:anywhere; }
.gg-darstellung-kopf button { flex:0 0 44px; width:44px; height:44px; border:0; border-radius:50%; background:#003b27; color:#fff; font:28px/1 system-ui; cursor:pointer; }
.gg-darstellung-inhalt { padding:22px; }
.gg-darstellung-gruppe { margin:0 0 24px; padding:0; border:0; min-width:0; }
.gg-darstellung-gruppe legend { margin:0 0 12px; padding:0; font-size:17px; font-weight:700; }
.gg-darstellung-raster { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.gg-darstellung-raster button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; min-height:110px; padding:12px 7px; border:2px solid #e1e7e1; border-radius:16px; background:#fff; color:#243b2e; font:14px/1.4 system-ui,sans-serif; cursor:pointer; overflow-wrap:anywhere; }
.gg-darstellung-raster button[aria-pressed=true] { border-color:#005437; background:#eaf3e6; box-shadow:inset 0 0 0 1px #005437; }
.gg-darstellung-symbol { display:grid; place-items:center; height:32px; color:#005437; font:28px/1 system-ui,sans-serif; }
.gg-darstellung-groesse { padding:16px; border:1px solid #d6ddd8; border-radius:16px; background:#fff; }
.gg-darstellung-groesse > div { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; }
.gg-darstellung-groesse button { width:48px; height:48px; border:0; border-radius:50%; background:#005437; color:#fff; font:28px/1 system-ui; cursor:pointer; }
.gg-darstellung-groesse output { font-weight:700; font-size:18px; }
.gg-darstellung-groesse button:disabled { opacity:.45; cursor:default; }
#gg-darstellung .gg-darstellung-groesse button { min-width:48px; min-height:48px; padding:0; aspect-ratio:1; border-radius:50% !important; display:grid; place-items:center; line-height:1; }
.gg-vorlesen-bedienung { display:flex; flex-wrap:wrap; gap:10px; }
#gg-darstellung .gg-vorlesen-bedienung button { min-height:48px; flex:1 1 160px; padding:12px 14px; border:1px solid #005437; border-radius:16px; background:#fff; color:#005437; font:600 15px/1.4 system-ui,sans-serif; cursor:pointer; }
#gg-darstellung .gg-vorlesen-bedienung [data-gg-read] { background:#005437; color:white; }
#gg-darstellung .gg-vorlesen-bedienung button:disabled { opacity:.5; cursor:default; }
.gg-vorlesen-status { margin:10px 0 0; color:#40564a; font:14px/1.5 system-ui,sans-serif; }
#primary article .gg-vorlesen-text { cursor: pointer; }
#primary article .gg-vorlesen-text:focus-within { outline: 3px solid rgba(0,84,55,.22); outline-offset: 4px; }
#primary article .gg-beitrag-vorlesen { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:0 0 22px; padding:10px 16px; border:1px solid #005437; border-radius:999px; background:#005437; color:#fff; font:700 15px/1.2 system-ui,sans-serif; cursor:pointer; }
#primary article .gg-beitrag-vorlesen:hover { background:#003f29; }
#primary article .gg-beitrag-vorlesen:focus-visible { outline:3px solid #9be15d; outline-offset:3px; }
#primary article .gg-beitrag-vorlesen.is-reading { background:#fff; color:#005437; }
.gg-darstellung-einfach, .gg-darstellung-reset { display:flex; justify-content:center; align-items:center; width:100%; min-height:48px; margin-top:12px; padding:12px 16px; border:1px solid #005437; border-radius:14px; color:#005437; background:#fff; font:700 16px/1.4 system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.gg-darstellung-reset { background:#005437; color:#fff; }
.gg-darstellung-hinweis { margin:18px 0 0; color:#51645a; font-size:13px; }
.gg-darstellung :is(button,a):focus-visible { outline:3px solid #005437; outline-offset:3px; }
.gg-darstellung-kopf button:focus-visible { outline-color:#fff17a; }
.gg-lesehilfe { position:fixed; z-index:10020; inset:50% 0 auto; height:3px; background:#005437; box-shadow:0 3px 0 #fff17a; pointer-events:none; }
html[data-gg-size] { font-size:calc(100% * var(--gg-text-scale,1)) !important; }
html[data-gg-size] #page :is(h1,h2,h3,h4,p,a,li) { overflow-wrap:anywhere; }
html[data-gg-size] #page .navbar-nav { flex-wrap:wrap !important; }
html[data-gg-font] #page :is(h1,h2,h3,h4,h5,h6,p,a,li,span,label,button,input,textarea,select) { font-family:Arial,system-ui,sans-serif !important; }
html[data-gg-letters] #primary :is(h1,h2,h3,h4,p,li,a,label) { letter-spacing:.12em !important; word-spacing:.16em !important; }
html[data-gg-lines] #primary :is(p,li,label) { line-height:1.9 !important; }
html[data-gg-lines] #primary :is(h1,h2,h3,h4) { line-height:1.4 !important; }
html[data-gg-bold] #primary :is(p,li,a,label) { font-weight:700 !important; }
html[data-gg-left] #primary :is(h1,h2,h3,h4,p,li) { text-align:left !important; }
html[data-gg-headings] #primary :is(h1,h2,h3,h4) { text-decoration:underline !important; text-decoration-color:currentColor !important; text-underline-offset:.2em; text-decoration-thickness:2px; }
html[data-gg-links] #page a { text-decoration:underline !important; text-decoration-thickness:2px !important; text-underline-offset:4px; }
html[data-gg-dark] #page { --gg-a-bg:#12261a; --gg-a-text:#fff; --gg-a-link:#fff17a; }
html[data-gg-light] #page { --gg-a-bg:#fff; --gg-a-text:#17261d; --gg-a-link:#005437; }
html[data-gg-contrast] #page { --gg-a-bg:#fff; --gg-a-text:#000; --gg-a-link:#002c1b; }
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page,
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page :is(.site-footer,.navbar-main,.gg-news,.gg-thema,.gg-ratskarte,.gg-termin,.gg-termin__personen,.gg-profil__grid>.wp-block-column,.gg-kreis-news__karte,.gg-start-termin,.gg-weg,.gg-kalender__steuerung,.gg-kalender__export,.gg-kalender__leer,.gg-sitze,.gg-termin__karte-links) { background-color:var(--gg-a-bg) !important; color:var(--gg-a-text) !important; border:1px solid currentColor !important; }
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page :is(p,h1,h2,h3,h4,h5,h6,legend,label,.gg-kreis-news__quelle,.gg-termin__personen strong,.gg-termin__personen small) { color:var(--gg-a-text) !important; }
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page a:not(.wp-block-button__link):not(.gg-kalender__export-link):not(.gg-social__link) { color:var(--gg-a-link) !important; }
html[data-gg-dark] #page .wp-block-cover { background:#12261a !important; }
html[data-gg-dark] #page :is(input,textarea,select) { background:#fff !important; color:#17261d !important; }
html[data-gg-vivid] #primary img { filter:saturate(1.5); }
html[data-gg-soft] #primary img { filter:saturate(.5); }
html[data-gg-mono] #primary img { filter:grayscale(1); }
html[data-gg-motion] { scroll-behavior:auto !important; }
html[data-gg-motion] *,html[data-gg-motion] *::before,html[data-gg-motion] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
html[data-gg-motion] #page :is(.gg-news,.gg-thema,.gg-ratskarte,.gg-profil__grid>.wp-block-column) { opacity:1 !important; translate:none !important; }
html[data-gg-cursor] #page,html[data-gg-cursor] #page * { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewBox='0 0 40 48'%3E%3Cpath d='M3 2v35l10-9 8 17 8-4-8-17h14Z' fill='%23fff' stroke='%23005437' stroke-width='3'/%3E%3C/svg%3E") 3 2,auto !important; }
@media(max-width:540px) { .gg-darstellung { inset:12px; max-width:calc(100vw - 24px); width:auto; max-height:calc(100dvh - 24px); margin:auto; border-radius:20px; } .gg-darstellung-inhalt { padding:18px; } .gg-darstellung-kopf { padding:16px; } .gg-darstellung-kopf h2 { font-size:17px; } .gg-darstellung-start { right:14px; width:54px; height:54px; } .gg-darstellung-tooltip { max-width:calc(100vw - 90px); white-space:normal; width:210px; } }

html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page .wp-block-cover { background:var(--gg-a-bg) !important; }
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page .wp-block-cover :is(.wp-block-cover__image-background,.wp-block-cover__background) { display:none !important; }
html[data-gg-motion] #page :is(.gg-news,.gg-thema,.gg-termin,.wp-block-button__link):hover,html[data-gg-motion] #page .gg-thema:hover img { transform:none !important; }

/* Dialog auf schmalen Displays und bei Browser-Zoom gut bedienbar halten. */
html[data-gg-dialog-open], html[data-gg-dialog-open] body { overflow: hidden; }
.gg-darstellung { overscroll-behavior: contain; }
@media (max-width: 380px) {
  .gg-darstellung-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gg-darstellung-inhalt { padding: 14px; }
  .gg-darstellung-raster button { min-height: 96px; }
}
/* Kalender bleibt auch in den persönlichen Farbmodi lesbar. */
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page .gg-kalender { color:var(--gg-a-text) !important; }
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page .gg-kalender :is(button,.gg-kalender__wochentag) {
  color:var(--gg-a-link) !important;
  background:var(--gg-a-bg) !important;
  border:1px solid currentColor;
}
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page .gg-kalender button:is([aria-pressed="true"],:hover) {
  color:var(--gg-a-bg) !important;
  background:var(--gg-a-link) !important;
}
html:is([data-gg-dark],[data-gg-light],[data-gg-contrast]) #page .gg-kalender__tag small { color:inherit !important; }
