/* ==========================================================================
   Grüne Gangelt – modernes Design (Zusatz-CSS für Theme Sunflower 2.2.x)
   --------------------------------------------------------------------------
   Einbau:  Design → Customizer → Zusätzliches CSS → diesen Text einfügen
   Rückbau: Text dort wieder löschen → Veröffentlichen → 10Web-Cache leeren
   Am Theme, an Inhalten und an Plugins wird nichts verändert.
   Jeder Abschnitt ist einzeln entfernbar.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) GRUNDLAGEN – Farben (Grünen-CD), Rundungen, Schatten, Typografie
   -------------------------------------------------------------------------- */
:root {
  --gg-tanne: #005437;
  --gg-klee: #008939;
  --gg-klee-dunkel: #006E2E;
  --gg-sand: #F5F1E9;
  --gg-sonne: #FFF17A;
  --gg-akzent: #008939; /* Striche und Porträt-Ringe (Klee-Grün) */
  --gg-text: #1f2a24;
  --gg-radius: 18px;
  --gg-radius-klein: 10px;
  --gg-radius-gross: 28px;                    /* Köpfe, Panels, große Karten */
  --gg-h1: clamp(2.1rem, 4.2vw, 3.2rem);       /* alle Seitentitel */
  --gg-h2: clamp(1.6rem, 3vw, 2.1rem);         /* Abschnittsüberschriften */
  --gg-kopf-hoehe: 310px;
  --gg-abstand-s: 16px;   /* zusammengehörige Karten */
  --gg-abstand-m: 28px;   /* Überschrift/Kopf → Inhalt */
  --gg-abstand-l: 64px;   /* zwischen Abschnitten */
  --gg-schatten: 0 1px 2px rgba(0, 40, 25, .06), 0 8px 24px rgba(0, 40, 25, .08);
  --gg-schatten-hover: 0 2px 4px rgba(0, 40, 25, .08), 0 16px 40px rgba(0, 40, 25, .14);
}

html body {
  color: var(--gg-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

/* Überschriften: GrueneType bleibt (CD), aber gerade gesetzt und luftiger */
html h1, html h2, html h3, html .h1, html .h2, html .h3, html .h4 {
  letter-spacing: -.01em;
  line-height: 1.1;
  color: var(--gg-tanne);
}

/* Links im Fließtext mit ruhiger Unterstreichung */
html .entry-content p a {
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Alle Buttons: rund (Pille), klare Zustände */
html .wp-block-button__link,
html .wp-element-button,
html .btn,
html #sunflower-contact-form button,
html #sunflower-contact-form input[type="submit"] {
  border-radius: 999px !important;
  padding: .7em 1.5em;
  font-weight: 700;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
html .wp-block-button__link:hover,
html .wp-element-button:hover,
html .btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--gg-schatten);
}

/* Sichtbarer Tastatur-Fokus (Barrierefreiheit) */
html a:focus-visible,
html button:focus-visible,
html input:focus-visible,
html textarea:focus-visible {
  outline: 3px solid var(--gg-sonne);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--gg-tanne);
}

/* --------------------------------------------------------------------------
   2) KOPFBEREICH – ruhiges Tannengrün, kompakter Absender, klare Navigation
   -------------------------------------------------------------------------- */
html .topmenu,
html .bloginfo.bg-primary {
  background-color: var(--gg-tanne) !important;
}
html .topmenu {
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
html .bloginfo .container {
  padding-top: 14px;
  padding-bottom: 14px;
  gap: 4px;
}
html .bloginfo .bloginfo-name {
  font-size: 1.35rem;
  letter-spacing: .01em;
}
html .bloginfo .bloginfo-description {
  color: var(--gg-sonne) !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .85rem;
}

/* Hauptnavigation */
html .navbar-main {
  border-bottom: 1px solid rgba(0, 84, 55, .08);
  box-shadow: 0 6px 20px rgba(0, 40, 25, .05);
}
html .navbar-main .nav-link {
  border-radius: 999px;
  padding: .45rem .95rem !important;
  color: var(--gg-tanne) !important;
  font-weight: 700;
  transition: background-color .15s ease, color .15s ease;
}
html .navbar-main .nav-link:hover,
html .navbar-main .show > .nav-link {
  background-color: var(--gg-sand);
}
html .navbar-main .current-menu-item > .nav-link,
html .navbar-main .current-menu-parent > .nav-link,
html .navbar-main .active > .nav-link {
  background-color: var(--gg-tanne);
  color: #fff !important;
}
html .navbar-main .dropdown-menu {
  border: 0;
  border-radius: var(--gg-radius-klein);
  box-shadow: var(--gg-schatten-hover);
  padding: .5rem;
}
html .navbar-main .dropdown-item {
  border-radius: 8px;
  padding: .5rem .85rem;
}
html .navbar-main .dropdown-item:hover {
  background-color: var(--gg-sand);
  color: var(--gg-tanne);
}
/* Kopf etwas kompakter */
html .topmenu .container { min-height: 36px; }
html .bloginfo .container { padding-top: 10px; padding-bottom: 10px; }
html .bloginfo .img-container img { max-height: 56px; width: auto; }

/* --------------------------------------------------------------------------
   3) STARTSEITE – Willkommens-Bühne in Tanne mit Sonnen-Akzent
   (wirkt nur auf der Startseite: body.home)
   -------------------------------------------------------------------------- */
html #page { overflow-x: clip; }

html .home #primary > article > .entry-header,
html .home #primary > article > .entry-content > .wp-block-group:first-child {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  background-color: var(--gg-tanne);
}
html .home #primary > article > .entry-header {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: clamp(48px, 8vw, 104px);
  padding-bottom: 12px;
}
html .home #primary > article > .entry-header::before {
  content: "Bündnis 90/Die Grünen Gangelt";
  content: "Bündnis 90/Die Grünen Gangelt" / "";
  display: inline-block;
  margin-bottom: 14px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255, 241, 122, .15);
  color: var(--gg-sonne);
  font-weight: 700;
  font-size: .85rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html .home #primary > article > .entry-header .entry-title {
  color: #fff;
  font-size: clamp(2.6rem, 6vw, 4.5rem);
  margin: 0;
}
html .home #primary > article > .entry-content > .wp-block-group:first-child {
  padding-top: 20px;
  padding-bottom: clamp(48px, 7vw, 88px);
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
}
/* Sanfter Übergang Tanne → Sand */
html .home #primary > article > .entry-content > .wp-block-group:first-child::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 28px;
  background: var(--gg-sand);
  border-radius: 28px 28px 0 0;
}
/* Buttons auf der Bühne: 1. Sonne gefüllt, 2. weiß umrandet */
html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button__link {
  font-size: 1rem;
}
html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button:first-child .wp-block-button__link {
  background: var(--gg-sonne) !important;
  color: var(--gg-tanne) !important;
}
html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button:not(:first-child) .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85);
}

/* Restliche Startseite auf Sand */
html .home #primary > article > .entry-content {
  background: var(--gg-sand);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  padding-bottom: 64px;
}
html .home #primary > article > .entry-content > h1.wp-block-heading,
html .home #primary > article > .entry-content > h2.wp-block-heading {
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  margin-top: 48px;
}
html .home .latest-posts.has-background {
  background: transparent !important;
  padding: 0 !important;
}

/* --------------------------------------------------------------------------
   4) BEITRAGSKARTEN – einheitliche Bildformate, Rundungen, Hover
   (gilt für Startseite, Archiv und Kategorien)
   -------------------------------------------------------------------------- */
html article.has-shadow.post {
  border-radius: var(--gg-radius);
  overflow: hidden;
  box-shadow: var(--gg-schatten) !important;
  transition: transform .2s ease, box-shadow .2s ease;
  height: calc(100% - 1.5rem);
  display: flex;
  flex-direction: column;
}
html article.has-shadow.post > div { display: flex; flex-direction: column; flex: 1; }
html article.has-shadow.post:hover {
  box-shadow: var(--gg-schatten-hover) !important;
}
/* Einheitliches Bildformat (nur Ausschnitt, Bild bleibt unverändert) */
html article.has-shadow.post .post-thumbnail {
  width: 100%;
  height: auto;            /* Originalformat – nichts wird abgeschnitten */
  display: block;
}
html article.has-shadow.post a[aria-label="Post Thumbnail"] { display: block; overflow: hidden; }

html article.has-shadow.post .p-45 {
  padding: 22px 24px 20px !important;
  display: flex;
  flex-direction: column;
  flex: 1;
}
html article.has-shadow.post .entry-footer { margin-top: auto; }
html article.has-shadow.post .card-title { font-size: 1.45rem; }
html article.has-shadow.post .card-title a {
  color: var(--gg-tanne);
  text-decoration: none;
}
html article.has-shadow.post .entry-meta {
  font-size: .85rem;
  font-weight: 700;
  color: var(--gg-klee-dunkel);
  text-transform: uppercase;
  letter-spacing: .05em;
}
html article.has-shadow.post .entry-content,
html article.has-shadow.post .entry-content a {
  background: transparent; color: #3b463f; text-decoration: none; font-size: 1rem; }

/* Kategorien und Schlagwörter als kleine Marken */
html article.has-shadow.post .cat-links a,
html article.has-shadow.post .tags-links a {
  display: inline-block;
  margin: 0 4px 6px 0;
  padding: 2px 10px;
  border-radius: 999px;
  background: var(--gg-sand);
  color: var(--gg-tanne);
  text-decoration: none;
  font-size: .78rem;
  font-weight: 700;
}
html article.has-shadow.post .tags-links a { background: transparent; box-shadow: inset 0 0 0 1px rgba(0, 84, 55, .25); }
html article.has-shadow.post .cat-links,
html article.has-shadow.post .tags-links { font-size: 0; }
html article.has-shadow.post .entry-footer br { display: none; }

html article.has-shadow.post .continue-reading {
  color: var(--gg-klee-dunkel);
  font-weight: 700;
  text-decoration: none;
}
html article.has-shadow.post .continue-reading::after { content: " →"; content: " →" / ""; transition: margin .15s ease; }
html article.has-shadow.post:hover .continue-reading::after { margin-left: 4px; }

/* „zum Blog-Archiv“ als Pillen-Button statt breiter Balken */
html .latest-posts > .wp-block-group__inner-container > a.bg-primary,
html .latest-posts a.bg-primary.border-radius {
  display: block !important;
  width: fit-content;
  margin: 16px auto 0;
  border-radius: 999px !important;
  background: var(--gg-tanne) !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
html .latest-posts a.bg-primary.border-radius:hover { transform: translateY(-2px); box-shadow: var(--gg-schatten); }
html .latest-posts a.bg-primary.border-radius .p-45 { padding: 14px 32px !important; margin: 0; }
html .latest-posts a.bg-primary.border-radius .continue-reading { font-weight: 700; }
html .latest-posts a.bg-primary.border-radius .continue-reading::after { content: " →"; content: " →" / ""; }

/* --------------------------------------------------------------------------
   5) KREIS-NEWS (RSS) und KONTAKTFORMULAR
   -------------------------------------------------------------------------- */
html .wp-block-rss {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 12px;
}
html .wp-block-rss .wp-block-rss__item {
  background: #fff;
  border-radius: var(--gg-radius-klein);
  box-shadow: var(--gg-schatten);
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  border-left: 5px solid var(--gg-klee) !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
html .wp-block-rss .wp-block-rss__item-title { padding: 0 !important; margin: 0 !important; }
html .wp-block-rss .wp-block-rss__item:hover { transform: translateX(4px); box-shadow: var(--gg-schatten-hover); }
html .wp-block-rss .wp-block-rss__item-title a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  color: var(--gg-tanne);
  font-weight: 700;
  text-decoration: none;
  border: 0 !important;
}
html .wp-block-rss .wp-block-rss__item-title a::after { content: "↗"; content: "↗" / "(öffnet in neuem Fenster)"; color: var(--gg-klee-dunkel); font-size: 1.1em; }

/* Kontaktformular als helle Karte */
html .comment-respond {
  background: #fff;
  border-radius: var(--gg-radius);
  box-shadow: var(--gg-schatten);
  padding: clamp(24px, 4vw, 44px);
  margin-top: 56px;
}
html #contact-form-title { color: var(--gg-tanne); margin-bottom: 24px; }
html #sunflower-contact-form label { font-weight: 700; color: var(--gg-tanne); margin-bottom: 4px; }
html #sunflower-contact-form input[type="text"],
html #sunflower-contact-form input[type="email"],
html #sunflower-contact-form textarea {
  width: 100%;
  border: 1.5px solid #d9dfda;
  border-radius: var(--gg-radius-klein);
  padding: 10px 14px;
  background: #fbfaf7;
  transition: border-color .15s ease, background-color .15s ease;
}
html #sunflower-contact-form input:focus,
html #sunflower-contact-form textarea:focus { border-color: var(--gg-klee); background: #fff; }
html #sunflower-contact-form .form-submit { text-align: right; }
html #sunflower-contact-form input[type="submit"] {
  background: var(--gg-tanne);
  color: #fff;
  border: 0;
  text-transform: uppercase;
  letter-spacing: .04em;
}
html #sunflower-contact-form input[type="submit"]:hover { background: var(--gg-klee); }

/* --------------------------------------------------------------------------
   6) FUSSBEREICH – Tanne statt Fast-Schwarz, klare Spalten
   -------------------------------------------------------------------------- */
html .bg-darkgreen {
  background-color: var(--gg-tanne) !important;
}
html #secondary.widget-area {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 32px 36px;
}
html #secondary .widget { margin: 0; }
html #secondary .widget h2,
html #secondary .wp-block-search__label {
  color: var(--gg-sonne) !important;
  font-size: 1.3rem;
  margin-bottom: 12px;
}
html #secondary ul { padding: 0; list-style: none; }
html #secondary li { border-bottom: 1px solid rgba(255, 255, 255, .12); padding: 6px 0; }
html #secondary a { color: #fff; text-decoration: none; }
html #secondary a:hover { color: var(--gg-sonne); }
html #secondary .wp-block-search__input {
  border-radius: 999px 0 0 999px;
  border: 0;
  padding: 8px 14px;
}
html #secondary .wp-block-search__button {
  border-radius: 0 999px 999px 0 !important;
  margin-left: 0;
  background: var(--gg-sonne);
  color: var(--gg-tanne);
  border: 0;
}
html .site-footer {
  background-color: #003d28 !important;
}
html .site-footer a { color: rgba(255, 255, 255, .85); }
html .site-footer a:hover { color: var(--gg-sonne); }
html #secondary .wp-block-search__inside-wrapper { display: flex; }
html #secondary .wp-block-search__input { flex: 1; min-width: 0; background: #fff; color: var(--gg-text); }
html #secondary .wp-block-latest-comments { padding-left: 0; }
html #secondary .wp-block-latest-comments__comment { margin: 0; }
html #secondary .wp-block-latest-comments__comment-meta { margin-left: 0 !important; }

/* --------------------------------------------------------------------------
   7) SMARTPHONE & TABLET
   -------------------------------------------------------------------------- */
/* Tablet und Handy (Menü als Klappmenü, unter 992 px) */
@media (max-width: 991.98px) {
  /* Kopf: weiße Menüleiste verschmilzt mit dem grünen Absender */
  html body .navbar-main.bg-white {
    background-color: var(--gg-tanne) !important;
    border-bottom: 0;
    box-shadow: none;
    padding-top: 0;
    padding-bottom: 8px;
  }
  html .navbar-main .navbar-toggler {
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, .5);
    border-radius: 999px;
    width: 48px;
    height: 48px;
    margin-left: auto;
  }
  html .navbar-main .navbar-toggler i { color: #fff; }
  html .navbar-main .navbar-brand img { max-height: 44px; width: auto; }
  /* Menü-Knopf neben den Absender holen (nur ohne Mitscrollen) */
  html body .navbar-main.bg-white:not(.stuck) {
    margin-top: -86px;
    padding-bottom: 38px; /* 48 px Knopf + 38 px = die 86 px, die die Leiste hochrückt */
    position: relative;
    z-index: 5;
    background: linear-gradient(transparent 0 86px, var(--gg-tanne) 86px) !important;
  }
  html .bloginfo .container { padding-right: 72px; }

  /* Aufgeklapptes Menü: große Tippflächen (mind. 48 px) */
  html #mainmenu-container {
    background: #fff;
    border-radius: var(--gg-radius);
    margin-top: 10px;
    padding: 10px;
    box-shadow: var(--gg-schatten-hover);
  }
  html #mainmenu .nav-link {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: .6rem 1rem !important;
  }
  html #mainmenu .dropdown-menu { box-shadow: none; background: var(--gg-sand); }
  html #mainmenu .dropdown-item { min-height: 44px; display: flex; align-items: center; white-space: normal; }

  /* Kontaktformular: Felder untereinander mit Luft */
  html #sunflower-contact-form .form-submit { text-align: left; }
  html #sunflower-contact-form input[type="submit"] { width: 100%; min-height: 50px; }

  /* Fußbereich: zwei Spalten auf Tablets */
  html #secondary.widget-area { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html #secondary .widget_search { grid-column: 1 / -1; }
}

/* Handy (unter 768 px) */
@media (max-width: 767.98px) {
  html .bloginfo .container { padding-top: 12px; padding-bottom: 4px; }
  html .bloginfo .img-container img { max-height: 44px; }
  html .bloginfo .bloginfo-name { font-size: 1.1rem; }
  html .bloginfo .bloginfo-description { font-size: .75rem; }

  html .home #primary > article > .entry-header { padding-top: 16px; }
  html body:not(.home) #content { padding-top: 28px; }
  html .home #primary > article > .entry-header::before { font-size: .72rem; }
  html .home #primary > article > .entry-header .entry-title { font-size: 2.4rem; }
  html .home #primary > article > .entry-content > .wp-block-group:first-child { padding-bottom: 52px; }
  html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-buttons { gap: 10px; }
  html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; }

  html .home #primary > article > .entry-content > h1.wp-block-heading,
  html .home #primary > article > .entry-content > h2.wp-block-heading { margin-top: 32px; }

  html article.has-shadow.post .p-45 { padding: 18px 18px 16px !important; }
  html article.has-shadow.post .card-title { font-size: 1.3rem; }
  html .wp-block-rss .wp-block-rss__item-title a { padding: 14px 16px; font-size: 1rem; }
  html .comment-respond { border-radius: var(--gg-radius-klein); padding: 20px 16px; }

  html .bg-darkgreen.p-5 { padding: 40px 20px !important; }
  html #secondary.widget-area { grid-template-columns: 1fr; gap: 28px; }
}

/* Touch-Geräte: kein „Abheben“ beim Antippen, Links leicht antippbar */
@media (hover: none) {
  html article.has-shadow.post:hover,
  html .wp-block-rss .wp-block-rss__item:hover,
  html .wp-block-button__link:hover { transform: none; }
  html article.has-shadow.post:hover .post-thumbnail { transform: none; }
  html #secondary li a { display: inline-block; padding: 6px 0; }
}



/* --------------------------------------------------------------------------
   9) ANIMATION & FEINSCHLIFF – dezent, ohne JavaScript
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }
html ::selection { background: var(--gg-sonne); color: var(--gg-tanne); }

/* Bühne: weiches Licht statt Fläche (eigenes Gangelter Motiv).
   Beide Lichtflecke laufen vor der Nahtstelle Titel/Buttons aus → keine Kante */
html .home #primary > article > .entry-header {
  background:
    radial-gradient(620px 260px at 88% 25%, rgba(138, 189, 36, .28), transparent 70%),
    var(--gg-tanne);
}
html .home #primary > article > .entry-content > .wp-block-group:first-child {
  background:
    radial-gradient(520px 200px at 8% 115%, rgba(255, 241, 122, .14), transparent 70%),
    var(--gg-tanne);
}
@media (max-width: 991.98px) {
  html .home #primary > article > .entry-header,
  html .home #primary > article > .entry-content > .wp-block-group:first-child { background: var(--gg-tanne); }
}

/* ---- Bewegungssprache im Apple-Stil ------------------------------------
   Weiche Federn statt linearer Bewegungen, Unschärfe-Einblendungen,
   Milchglas-Navigation. Animiert werden nur opacity/filter und die
   eigenständigen Eigenschaften translate/scale – so bleiben Hover-Effekte
   (transform) unabhängig und alles läuft flüssig über die Grafikkarte. */
:root {
  --gg-ease: cubic-bezier(.25, .1, .25, 1);          /* Apple-Standardkurve */
  --gg-ease-out: cubic-bezier(.16, 1, .3, 1);        /* sanftes Abbremsen */
  --gg-spring: cubic-bezier(.34, 1.36, .64, 1);      /* Ersatz, falls linear() fehlt */
}
@supports (transition-timing-function: linear(0, 1)) {
  :root {
    /* gedämpfte Feder (ca. 4 % Überschwingen) */
    --gg-spring: linear(0, .06 2.4%, .23 5.3%, .52 10%, .79 15.7%, .94 21.4%, 1.02 27.5%, 1.045 33%, 1.04 39.6%, 1.015 50%, 1.002 62%, .998 75%, 1);
  }
}

/* Bühne: Text tritt beim Laden aus der Unschärfe hervor – gestaffelt */
@keyframes gg-auftritt {
  from { opacity: 0; translate: 0 22px; filter: blur(10px); }
  to   { opacity: 1; translate: 0 0; filter: blur(0); }
}
html .home #primary > article > .entry-header::before { animation: gg-auftritt .9s .05s var(--gg-ease-out) both; }
html .home #primary > article > .entry-header .entry-title { animation: gg-auftritt 1.1s .15s var(--gg-ease-out) both; }
html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button { animation: gg-auftritt .9s .32s var(--gg-ease-out) both; }
html .home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button + .wp-block-button { animation-delay: .4s; }

/* Sonnenblume im Kopf: federnde Drehung beim Darüberfahren */
html .bloginfo .custom-logo { transition: transform .9s var(--gg-spring); }
html .bloginfo .custom-logo-link:hover .custom-logo { transform: rotate(30deg) scale(1.06); }

/* Abschnittsüberschriften mit Sonnen-Akzent */
html .home #primary > article > .entry-content > h1.wp-block-heading::after,
html .home #primary > article > .entry-content > h2.wp-block-heading::after,
html #contact-form-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 5px;
  margin-top: 12px;
  border-radius: 999px;
  background: var(--gg-akzent);
    transform-origin: left center;
}
html #contact-form-title::after { margin-left: auto; margin-right: auto; transform-origin: center; }

/* Milchglas-Navigation beim Mitscrollen */
html body .navbar-main.stuck {
  box-shadow: 0 1px 0 rgba(0, 40, 25, .06), 0 10px 30px rgba(0, 40, 25, .10);
  transition: background-color .4s var(--gg-ease), box-shadow .4s var(--gg-ease);
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html body .navbar-main.bg-white.stuck {
    background-color: rgba(255, 255, 255, .8) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
  }
  @media (max-width: 991.98px) {
    html body .navbar-main.bg-white.stuck { background: rgba(0, 84, 55, .86) !important; }
  }
}

/* Buttons und Karten: federnd anheben, beim Antippen leicht nachgeben */
html .wp-block-button__link,
html .wp-element-button,
html #sunflower-contact-form input[type="submit"],
html .latest-posts a.bg-primary.border-radius {
  transition: transform .5s var(--gg-spring), box-shadow .4s var(--gg-ease), background-color .3s var(--gg-ease), color .3s var(--gg-ease);
}
html .wp-block-button__link:active,
html .wp-element-button:active,
html #sunflower-contact-form input[type="submit"]:active,
html .latest-posts a.bg-primary.border-radius:active { transform: scale(.96); transition-duration: .12s; }
html article.has-shadow.post { transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease); }
html article.has-shadow.post:hover { transform: translateY(-6px); }
html article.has-shadow.post:active { transform: scale(.985); transition-duration: .15s; }
html .navbar-main .nav-link { transition: background-color .3s var(--gg-ease), color .3s var(--gg-ease), transform .4s var(--gg-spring); }
html .navbar-main .nav-link:active { transform: scale(.95); }
html .wp-block-rss .wp-block-rss__item { transition: transform .5s var(--gg-spring), box-shadow .4s var(--gg-ease); }

/* Untermenü (Desktop) und Klappmenü (Handy) öffnen mit Feder */
@keyframes gg-aufklappen {
  from { opacity: 0; scale: .96; translate: 0 -6px; }
  to   { opacity: 1; scale: 1; translate: 0 0; }
}
@media (min-width: 992px) {
  html .navbar-main .dropdown-menu.show { transform-origin: top left; animation: gg-aufklappen .45s var(--gg-spring) both; }
}
@media (max-width: 991.98px) {
  html #mainmenu-container.show { transform-origin: top right; animation: gg-aufklappen .5s var(--gg-spring) both; }
}

/* Scroll-Choreografie – nur wo der Browser Scroll-Zeitachsen kann,
   sonst ist alles einfach sofort sichtbar */
@keyframes gg-rein {
  from { opacity: 0; translate: 0 40px; scale: .96; filter: blur(8px); }
  to   { opacity: 1; translate: 0 0; scale: 1; filter: blur(0); }
}
@keyframes gg-strich {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@keyframes gg-zuruecktreten {
  from { scale: 1; }
  to   { scale: .9; }
}
@supports (animation-timeline: view()) {
  /* Theme setzt overflow auf html UND body → body wird eigener Scroll-Container
     und die Scroll-Animation misst dort statt am Fenster. clip verhindert
     weiterhin seitliches Verrutschen, ohne Scroll-Container zu sein. */
  html body { overflow-x: clip; overflow-y: visible; }

  /* Inhalte treten beim Hereinscrollen aus der Unschärfe hervor */
  html .latest-posts article.has-shadow.post,
  html .wp-block-rss .wp-block-rss__item,
  html .comment-respond,
  html .entry-content > .wp-block-image,
  html .entry-content > figure,
  html .entry-content > .wp-block-cover,
  html .entry-content > .wp-block-group.is-layout-grid > .wp-block-cover {
    animation: gg-rein linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 55%;
  }
  /* zweite Spalte minimal versetzt – wirkt wie eine Welle */
  html .latest-posts .col-md-6:nth-child(even) article.has-shadow.post { animation-range: entry 8% entry 63%; }
  /* gelber Akzentstrich zeichnet sich */
  html .home #primary > article > .entry-content > h1.wp-block-heading::after,
  html .home #primary > article > .entry-content > h2.wp-block-heading::after,
  html #contact-form-title::after {
    animation: gg-strich linear both;
    animation-timeline: view();
    animation-range: entry 40% cover 40%;
  }
  /* Willkommens-Titel tritt beim Wegscrollen zurück */
  html .home #primary > article > .entry-header .entry-title {
    animation: gg-auftritt 1.1s .15s var(--gg-ease-out) both, gg-zuruecktreten linear both;
    animation-timeline: auto, view();
    animation-range: normal, exit 0% exit 100%;
    transform-origin: left bottom;
  }
}

/* Weniger Bewegung, wenn im System so eingestellt */
@media (prefers-reduced-motion: reduce) {
  html *, html *::before, html *::after {
    transition: none !important;
    animation: none !important;
  }
  html { scroll-behavior: auto; }
}

/* --------------------------------------------------------------------------
   10) FUSSZEILE – eigener Copyright-Vermerk statt Theme-Hinweis
   (Theme bleibt technisch Sunflower; der Hinweis ist laut Lizenz nicht Pflicht.
   Originaltext wird nur ausgeblendet – auch für Screenreader.)
   -------------------------------------------------------------------------- */
html .site-footer .site-info .col-8 > p.small,
html .site-footer .site-info .col-md-10 > p.small {
  visibility: hidden;
  position: relative;
  min-height: 1.5em;
}
html .site-footer .site-info .col-8 > p.small::before,
html .site-footer .site-info .col-md-10 > p.small::before {
  content: "© Bündnis 90/Die Grünen Gangelt";
  visibility: visible;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, .85);
  font-weight: 700;
  letter-spacing: .02em;
}

/* --------------------------------------------------------------------------
   11) BARRIEREFREIHEIT – folgt automatisch den Bedienungshilfen des Geräts
   (Bedienungshilfen; vollständige WCAG-Prüfung zusätzlich erforderlich)
   -------------------------------------------------------------------------- */
/* „Zum Inhalt springen“-Link sichtbar, sobald er per Tastatur erreicht wird */
html .skip-link:focus,
html .skip-link:focus-visible {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 100000;
  width: auto;
  height: auto;
  clip: auto !important;
  clip-path: none !important;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--gg-sonne);
  color: var(--gg-tanne);
  font-weight: 700;
  text-decoration: none;
  box-shadow: var(--gg-schatten-hover);
}

/* Mindest-Tippfläche 24 px (WCAG 2.5.8) */
html .bloginfo .bloginfo-name,
html .bloginfo .bloginfo-description { min-height: 24px; display: flex !important; align-items: center; }
html #topbar-search { min-height: 32px; }

/* Links im Fließtext immer unterstrichen (nicht nur über Farbe erkennbar) */
html .entry-content p a,
html .entry-content li a { text-decoration: underline; }

/* Lesbarkeit langer Texte */
html .single .entry-content p,
html .page:not(.home) .entry-content p { line-height: 1.7; max-width: 70ch; }

/* Gerät wünscht MEHR KONTRAST (macOS/iOS/Windows „Kontrast erhöhen“) */
@media (prefers-contrast: more) {
  :root {
    --gg-text: #000;
    --gg-schatten: 0 0 0 2px #000;
    --gg-schatten-hover: 0 0 0 3px #000;
  }
  html .home #primary > article > .entry-header,
  html .home #primary > article > .entry-content > .wp-block-group:first-child { background: #00301f !important; }
  html article.has-shadow.post .entry-content,
  html article.has-shadow.post .entry-content a { color: #000; }
  html article.has-shadow.post .entry-meta,
  html article.has-shadow.post .continue-reading { color: var(--gg-tanne); }
  html a { text-decoration: underline !important; }
  html .navbar-main .nav-link,
  html .wp-block-button__link,
  html article.has-shadow.post .cat-links a { text-decoration: none !important; box-shadow: inset 0 0 0 2px currentColor; }
  html .wp-block-button__link::after { display: none; }
  html article.has-shadow.post .entry-content a { text-decoration: none !important; }
}

/* Windows-Kontrastmodus / erzwungene Farben: Formen über Rahmen sichtbar halten */
@media (forced-colors: active) {
  html .wp-block-button__link,
  html .navbar-main .nav-link,
  html article.has-shadow.post,
  html .wp-block-rss .wp-block-rss__item,
  html .comment-respond,
  html article.has-shadow.post .cat-links a,
  html article.has-shadow.post .tags-links a { border: 2px solid ButtonText !important; forced-color-adjust: auto; }
  html .home #primary > article > .entry-content > .wp-block-group:first-child::after,
  html .wp-block-button__link::after { display: none; }
  html a:focus-visible, html button:focus-visible, html input:focus-visible, html textarea:focus-visible { outline: 3px solid Highlight; }
}

/* --------------------------------------------------------------------------
   11b) SCHUTZ – kaputter Instagram-Feed
   Der Feed zeigt derzeit „Error: rest_forbidden …“ (Plugin-Schnittstelle 401).
   Solange das Plugin eine Fehlermeldung (.instagram-gallery__alert) anzeigt,
   werden Feed und Überschrift ausgeblendet. Ist der Feed repariert, verschwindet
   die Fehlermeldung und alles erscheint automatisch wieder.
   (Jede Regel einzeln: eine ungültige Regel kann so keine andere mitreißen.)
   -------------------------------------------------------------------------- */
html .instagram-gallery-feed:has(.instagram-gallery__alert) { display: none !important; }
html .wp-block-heading:has(+ .wp-block-spacer + .instagram-gallery-feed .instagram-gallery__alert) { display: none !important; }
html .wp-block-heading:has(+ .instagram-gallery-feed .instagram-gallery__alert) { display: none !important; }
html .wp-block-heading:has(+ .wp-block-spacer + .instagram-gallery-feed .instagram-gallery__alert) + .wp-block-spacer { display: none !important; }

/* --------------------------------------------------------------------------
   14) ALLE INHALTSSEITEN IM NEUEN STIL
   Seiten, Beiträge, Archive, Suche, 404 – gleiche Formensprache wie die Startseite
   -------------------------------------------------------------------------- */

/* Menü: Theme-Unterstrich beim Hover entfällt – die Pille zeigt den Zustand */
@media (min-width: 992px) {
  html #mainmenu > li,
  html #mainmenu > li:hover { border-bottom: 0 !important; }
}

/* Seitenkopf als Sand-Bühne (alle Unterseiten, Beiträge, Archive, Suche, 404) */
html body:not(.home) #primary > article > .entry-header,
html body.archive #primary > .page-header,
html body.search #primary > .page-header,
html body.error404 #primary > .page-header {
  margin: 0 calc(50% - 50vw) 44px;
  padding: clamp(40px, 6vw, 72px) calc(50vw - 50%) clamp(28px, 4vw, 44px);
  background: var(--gg-sand);
  border-radius: 0 0 32px 32px;
}
/* Seiten ohne Titel (z. B. Themenübersicht): keine leere Bühne */
html body:not(.home) #primary > article > .entry-header:not(:has(.entry-title)) { display: none; }
html body:not(.home) #primary .entry-title,
html body:not(.home) #primary .page-title {
  color: var(--gg-tanne);
  font-size: var(--gg-h1);
  line-height: 1.05;
  margin: 0;
  animation: gg-auftritt 1s .05s var(--gg-ease-out) both;
}
html body:not(.home) #primary .entry-title::after,
html body:not(.home) #primary .page-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 5px;
  margin-top: 16px;
  border-radius: 999px;
  background: var(--gg-akzent);
  }
html body.error404 #primary .page-title::after { margin-left: auto; margin-right: auto; }
html body.search #primary .page-title span { color: var(--gg-klee-dunkel); }
/* Datum unter dem Beitragstitel als kleine Marke */
html body.single #primary > article > .entry-header .entry-meta { margin: 14px 0 0 !important; }
html body.single #primary > article > .entry-header .posted-on time.published {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--gg-klee-dunkel);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  box-shadow: var(--gg-schatten);
}
html body.single #primary > article > .entry-header .posted-on time.updated { display: none; }

/* Fließtext */
html body:not(.home) #primary .entry-content { font-size: 1.08rem; }
html body:not(.home) #primary .entry-content > h1.wp-block-heading,
html body:not(.home) #primary .entry-content > h2.wp-block-heading,
html body:not(.home) #primary .entry-content > h3.wp-block-heading {
  color: var(--gg-tanne);
  margin: 1.8em 0 .6em;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
}
html body:not(.home) #primary .entry-content > h3.wp-block-heading { font-size: 1.45rem; }
html body:not(.home) #primary .entry-content p a,
html body:not(.home) #primary .entry-content li a {
  color: var(--gg-klee-dunkel);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: color .2s var(--gg-ease), text-decoration-color .2s var(--gg-ease);
}
html body:not(.home) #primary .entry-content p a:hover,
html body:not(.home) #primary .entry-content li a:hover { color: var(--gg-tanne); text-decoration-color: var(--gg-sonne); }
html body:not(.home) #primary .entry-content p:empty { display: none; }

/* Aufzählungen mit runden Klee-Punkten */
html #primary .entry-content ul.wp-block-list { list-style: none; padding-left: 0; }
html #primary .entry-content ul.wp-block-list > li { position: relative; padding-left: 1.5em; margin: .35em 0; }
html #primary .entry-content ul.wp-block-list > li::before {
  content: "";
  position: absolute;
  left: .35em;
  top: .62em;
  width: .45em;
  height: .45em;
  border-radius: 50%;
  background: var(--gg-klee);
}
html #primary .entry-content ol.wp-block-list > li::marker { color: var(--gg-klee-dunkel); font-weight: 700; }

/* Zitate und Trennlinien */
html #primary .entry-content .wp-block-quote {
  margin: 2em 0;
  padding: 20px 24px;
  background: var(--gg-sand);
  border: 0;
  border-left: 6px solid var(--gg-sonne);
  border-radius: 0 var(--gg-radius) var(--gg-radius) 0;
  color: var(--gg-tanne);
}
html #primary .entry-content .wp-block-separator {
  width: 56px !important;
  height: 5px;
  margin: 2.4em auto;
  border: 0;
  border-radius: 999px;
  background: var(--gg-akzent);
  opacity: 1;
}

/* Bilder, Plakate, Galerien */
html body:not(.home) #primary .entry-content .wp-block-image img,
html body:not(.home) #primary .entry-content .wp-block-gallery img,
html body:not(.home) #primary .post-thumbnail img,
html body.single #primary img.wp-post-image {
  border-radius: var(--gg-radius);
  box-shadow: var(--gg-schatten);
}
html #primary .entry-content figcaption,
html #primary .entry-content .wp-element-caption {
  margin-top: 10px;
  color: #5b665f;
  font-size: .88rem;
  text-align: center;
}

/* Tabellen */
html #primary .entry-content .wp-block-table {
  margin: 1.6em 0;
  overflow-x: auto;
  border-radius: var(--gg-radius);
  box-shadow: var(--gg-schatten);
  -webkit-overflow-scrolling: touch;
}
html #primary .entry-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: .98rem;
}
html #primary .entry-content .wp-block-table th,
html #primary .entry-content .wp-block-table td {
  border: 0 !important;
  padding: 12px 16px;
  text-align: left;
  vertical-align: top;
}
html #primary .entry-content .wp-block-table thead th {
  background: var(--gg-tanne);
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}
html #primary .entry-content .wp-block-table tbody tr:nth-child(even) td { background: var(--gg-sand); }
html #primary .entry-content .wp-block-table tbody td:first-child { font-weight: 700; color: var(--gg-tanne); }

/* Download-Block als Karte */
html #primary .entry-content .wp-block-file {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin: 1.6em 0;
  padding: 18px 20px;
  background: var(--gg-sand);
  border-radius: var(--gg-radius);
}
html #primary .entry-content .wp-block-file::before {
  content: "↓";
  content: "↓" / "";
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--gg-tanne);
  color: var(--gg-sonne);
  font-weight: 700;
  font-size: 1.2rem;
}
html #primary .entry-content .wp-block-file > a:not(.wp-block-file__button) {
  flex: 1 1 200px;
  color: var(--gg-tanne);
  font-weight: 700;
  text-decoration: none;
}
html #primary .entry-content .wp-block-file .wp-block-file__button { margin: 0; background: var(--gg-tanne); color: #fff; }

/* Bildkacheln (Cover-Blöcke) – z. B. Themenübersicht */
html #primary .entry-content > .wp-block-group.is-layout-grid {
  width: min(1100px, 100vw - 32px);
  max-width: none !important;
  margin-left: calc(50% - min(550px, 50vw - 16px)) !important;
  margin-right: 0 !important;
  gap: 16px;
}
html #primary .entry-content > .wp-block-group.is-layout-grid:empty { display: none; }
/* zentriertes Raster: 4 Kacheln je Reihe, kürzere Reihen mittig */
html #primary .entry-content > .wp-block-group.is-layout-grid:has(> .wp-block-cover) {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}
html #primary .entry-content > .wp-block-group.is-layout-grid > .wp-block-cover { flex: 0 1 calc(25% - 12px); margin: 0 !important; }
html #primary .entry-content .wp-block-cover {
  border-radius: var(--gg-radius);
  overflow: hidden;
  box-shadow: var(--gg-schatten);
  isolation: isolate;
}
html #primary .entry-content .wp-block-cover .wp-block-cover__image-background { transition: transform .9s var(--gg-ease-out); }
html #primary .entry-content .wp-block-cover:has(a) {
  aspect-ratio: 3 / 4;
  min-height: 0 !important;
  align-items: flex-end;
  justify-content: flex-start;
  transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease);
}
html #primary .entry-content .wp-block-cover:has(a) .wp-block-cover__background {
  background: linear-gradient(to top, rgba(0, 54, 36, .88) 0%, rgba(0, 54, 36, .25) 55%, rgba(0, 54, 36, .05) 100%) !important;
  opacity: 1 !important;
}
html #primary .entry-content .wp-block-cover:has(a):hover { transform: translateY(-6px); box-shadow: var(--gg-schatten-hover); }
html #primary .entry-content .wp-block-cover:has(a):hover .wp-block-cover__image-background { transform: scale(1.06); }
html #primary .entry-content .wp-block-cover:has(a) .wp-block-cover__inner-container { padding: 18px 20px; width: 100%; }
html #primary .entry-content .wp-block-cover:has(a) p {
  margin: 0;
  text-align: left !important;
  font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit) !important;
  font-weight: 400;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
  line-height: 1.05;
  hyphens: auto;
}
html body #primary .entry-content .wp-block-cover:has(a) p a { color: #fff; text-decoration: none; text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
html #primary .entry-content .wp-block-cover:has(a) a::after { content: ""; position: absolute; inset: 0; } /* ganze Kachel klickbar */
html #primary .entry-content .wp-block-cover:has(a) a:focus-visible { outline: none; box-shadow: none; }
html #primary .entry-content .wp-block-cover:has(a):has(a:focus-visible) { outline: 3px solid var(--gg-sonne); outline-offset: 3px; }

/* Personenkarten (z. B. Fraktion): Gruppen mit Aufzählung */
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(> ul) {
  margin: 18px 0;
  padding: 22px 24px 14px;
  background: #fff;
  border-radius: var(--gg-radius);
  box-shadow: var(--gg-schatten);
}
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(> ul) > * { max-width: none; margin-left: 0; margin-right: 0; }
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(> ul) > h2 { margin: 0 0 4px; font-size: 1.5rem; color: var(--gg-tanne); }
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(> ul) > p { margin: .5em 0 .2em; }
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(> ul) > ul { margin: 0 0 .6em; }

/* Runde Porträts rechts in den Personenkarten (Plugin „Website-Ergänzungen“) */
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(> ul) { display: flow-root; }
html body.page:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(.gg-portrait) > * { clear: none; } /* Theme setzt clear:both auf Überschriften */
/* Name als fette Zeile (sachkundige Bürger:innen) sieht aus wie die Überschrift der Ratsmitglieder */
html body.page:not(.home) #primary .entry-content > .wp-block-group:has(.gg-portrait) > p:first-of-type > strong:only-child {
  display: block;
  margin-bottom: 4px;
  color: var(--gg-tanne);
  font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1;
}
html #primary .gg-portrait {
  float: right;
  width: 104px;
  height: 104px;
  margin: 2px 0 14px 20px !important;
  border-radius: 50%;
  overflow: hidden;
  background: var(--gg-sand);
  box-shadow: 0 0 0 4px var(--gg-akzent), var(--gg-schatten);
  shape-outside: circle(50%);
  transition: transform .7s var(--gg-spring), box-shadow .4s var(--gg-ease);
}
html #primary .gg-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: var(--gg-x, 50%) var(--gg-y, 25%);
  scale: var(--gg-z, 1);
  transform-origin: var(--gg-x, 50%) var(--gg-y, 25%);
  border-radius: 0;
  box-shadow: none;
}
/* Porträt mit Kontakt-/Social-Icons darunter (Foto bleibt frei) */
html #primary .gg-person-medien {
  float: right;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 104px;
  margin: 2px 0 14px 20px;
}
html #primary .gg-person-medien > .gg-portrait { float: none; margin: 0 !important; }
html #primary .gg-social { display: flex; justify-content: center; gap: 6px; }
html #primary .gg-social__link {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--gg-sand);
  color: var(--gg-tanne);
  text-decoration: none;
  transition: transform .5s var(--gg-spring), background-color .3s var(--gg-ease), color .3s var(--gg-ease);
}
html #primary .gg-social__link:hover,
html #primary .gg-social__link:focus-visible { background: var(--gg-tanne); color: #fff; transform: scale(1.1); }
html #primary .gg-social__link svg { width: 17px; height: 17px; display: block; }
html #primary .gg-person .gg-person-medien { float: none; margin: 0 0 14px !important; }
@media (max-width: 575.98px) {
  html #primary .gg-person-medien { width: 76px; margin-left: 14px; }
  html #primary .gg-social__link { width: 32px; height: 32px; }
}
html #primary .gg-portrait--initialen {
  display: grid;
  place-items: center;
  background: var(--gg-tanne);
  color: var(--gg-sonne);
  font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit);
  font-size: 2.3rem;
  line-height: 1;
}
html body.page:not(.home) #primary .entry-content > .wp-block-group:has(.gg-portrait):hover .gg-portrait {
  transform: scale(1.06) rotate(-3deg);
  box-shadow: 0 0 0 4px var(--gg-akzent), var(--gg-schatten-hover);
}
@media (max-width: 575.98px) {
  html #primary .gg-portrait { width: 76px; height: 76px; margin-left: 14px !important; }
  html #primary .gg-portrait--initialen { font-size: 1.7rem; }
}

/* Ausschüsse und Gremien mit Icons (Plugin „Website-Ergänzungen“) */
html #primary .entry-content ul.wp-block-list > li.gg-gremium {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 0;
  margin: 8px 0;
}
html #primary .entry-content ul.wp-block-list > li.gg-gremium::before { display: none; }
html #primary .gg-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--gg-sand);
  color: var(--gg-tanne);
  transition: transform .5s var(--gg-spring), background-color .3s var(--gg-ease), color .3s var(--gg-ease);
}
html #primary .gg-icon svg { width: 20px; height: 20px; display: block; }
html #primary li.gg-gremium:hover .gg-icon { transform: scale(1.1) rotate(-6deg); background: var(--gg-tanne); color: #fff; }
html #primary .gg-gremium__name { line-height: 1.35; }
html #primary .gg-vertretung {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 9px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1.5px rgba(0, 84, 55, .3);
  color: var(--gg-klee-dunkel);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  vertical-align: 1px;
  white-space: nowrap;
}
/* in der Tabelle */
html #primary .gg-gremium--zelle { display: inline-flex; align-items: center; gap: 10px; }
html #primary .wp-block-table .gg-icon { width: 32px; height: 32px; background: #fff; box-shadow: 0 0 0 1.5px rgba(0, 84, 55, .15); }
html #primary .wp-block-table tbody tr:nth-child(even) .gg-icon { background: #fff; }
html #primary .wp-block-table .gg-icon svg { width: 17px; height: 17px; }
html #primary .entry-content .wp-block-table:has(.gg-icon) td { vertical-align: middle; }
html #primary .entry-content .wp-block-table { padding: 0; }
html #primary .entry-content .wp-block-table table { margin: 0; }

/* Mitmachen-Seite (Inhalt aus inhalte/mitmachen-de.html) */
html #primary .entry-content > .gg-mitmachen-buehne {
  width: auto;
  max-width: none !important;
  margin: 8px 0 40px !important;
  translate: none;
  min-height: clamp(220px, 26vw, 310px) !important;
  padding: clamp(20px, 3vw, 32px) !important;
  border-radius: var(--gg-radius-gross);
  overflow: hidden;
  box-shadow: var(--gg-schatten);
}
/* Grundaufbau des Cover-Blocks selbst sichern (WordPress lädt dessen CSS nur, wo es den Block schon gab) */
html #primary .gg-mitmachen-buehne { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; overflow: hidden; background: var(--gg-tanne); }
html #primary .gg-mitmachen-buehne > .wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; border-radius: 0; box-shadow: none; z-index: 0; }
html #primary .gg-mitmachen-buehne > .wp-block-cover__background { position: absolute; inset: 0; z-index: 1; }
html #primary .gg-mitmachen-buehne > .wp-block-cover__inner-container { position: relative; z-index: 2; color: #fff; }
html #primary .gg-mitmachen-buehne .wp-block-cover__background { background: linear-gradient(to top, rgba(0, 54, 36, .92) 10%, rgba(0, 54, 36, .35) 70%, rgba(0, 54, 36, .15)) !important; opacity: 1 !important; }
html #primary .gg-mitmachen-buehne .wp-block-cover__inner-container { width: 100%; max-width: none; margin: 0; }
html #primary .gg-mitmachen-buehne .wp-block-cover__inner-container > * { margin-left: 0 !important; max-width: none; }
html #primary .gg-mitmachen-buehne h1 { margin: 6px 0 8px; color: #fff; font-size: clamp(2.2rem, 4.6vw, 3.4rem); line-height: 1; animation: gg-auftritt 1s .05s var(--gg-ease-out) both; }
html #primary .gg-mitmachen-buehne p { margin: 0; color: #fff; }
html #primary .gg-mitmachen-buehne .gg-dachzeile {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255, 241, 122, .18);
  color: var(--gg-sonne);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html body:not(.home) #primary > article:has(.gg-mitmachen-buehne) > .entry-header { display: none; }
html #primary .gg-einleitung { max-width: 62ch; font-size: 1.2rem !important; line-height: 1.6; color: var(--gg-text); }
html #primary .entry-content > .gg-wege {
  width: auto !important;
  max-width: none !important;
  margin: 28px 0 0 !important;
  translate: none !important;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)) !important;
}
@media (min-width: 992px) { html #primary .gg-weg--mitglied { grid-column: span 2; } }
html #primary .gg-weg {
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  padding: 24px 24px 22px;
  border-radius: var(--gg-radius);
  background: #fff;
  box-shadow: var(--gg-schatten);
  transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease);
}
html #primary .gg-weg:hover { transform: translateY(-5px); box-shadow: var(--gg-schatten-hover); }
html #primary .gg-weg > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
html #primary .gg-weg h2 { margin: 0 0 8px !important; color: var(--gg-tanne); font-size: 1.5rem !important; }
html #primary .gg-weg p { flex: 1; margin: 0 0 16px; font-size: 1rem; color: #3b463f; }
html #primary .gg-weg h2::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--gg-sand) center / 24px no-repeat;
}
html #primary .gg-weg--mitglied h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005437' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.7-3.6 3.2-5.5 6.5-5.5s5.8 1.9 6.5 5.5'/%3E%3Cpath d='M19 8v6M16 11h6'/%3E%3C/svg%3E"); }
html #primary .gg-weg--kontakt h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005437' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='M3.5 7l8.5 6 8.5-6'/%3E%3C/svg%3E"); }
html #primary .gg-weg--termine h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005437' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3Ccircle cx='12' cy='15' r='1.4' fill='%23005437'/%3E%3C/svg%3E"); }
html #primary .gg-weg--rat h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005437' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5 12 4l9 5.5'/%3E%3Cpath d='M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20.5h18'/%3E%3C/svg%3E"); }
html #primary .gg-weg--social h2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005437' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1' fill='%23005437' stroke='none'/%3E%3C/svg%3E"); }
html #primary .gg-weg .wp-block-buttons { margin: 0; }
html #primary .gg-weg--kontakt .wp-block-button__link,
html #primary .gg-weg--social .wp-block-button__link { text-transform: none !important; letter-spacing: 0 !important; }
html #primary .entry-content > .gg-wege,
html #primary .entry-content > .gg-zahlen { padding-top: 0 !important; padding-bottom: 0 !important; }
html #primary .gg-weg--mitglied { background: var(--gg-tanne); }
html #primary .gg-weg--mitglied h2 { color: #fff; }
html #primary .gg-weg--mitglied p { color: rgba(255, 255, 255, .88); }
html #primary .gg-weg--mitglied h2::before { background-color: rgba(255, 255, 255, .14); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF17A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.7-3.6 3.2-5.5 6.5-5.5s5.8 1.9 6.5 5.5'/%3E%3Cpath d='M19 8v6M16 11h6'/%3E%3C/svg%3E"); }
html #primary .gg-weg--mitglied .wp-block-button__link { background: var(--gg-sonne) !important; color: var(--gg-tanne) !important; }
html #primary .gg-weg:not(.gg-weg--mitglied) .wp-block-button__link { background: transparent !important; color: var(--gg-tanne) !important; box-shadow: inset 0 0 0 2px var(--gg-tanne); }
html #primary .gg-weg:not(.gg-weg--mitglied) .wp-block-button__link:hover { background: var(--gg-tanne) !important; color: #fff !important; }
html #primary .entry-content > .gg-zahlen {
  gap: 14px;
  margin: 40px 0 64px;
}
html #primary .gg-zahlen p {
  flex: 1 1 180px;
  margin: 0;
  padding: 18px 20px;
  border-radius: var(--gg-radius);
  background: var(--gg-sand);
  color: var(--gg-tanne);
  text-align: center;
  font-size: .95rem;
}
html #primary .gg-zahlen strong {
  display: block;
  font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.05;
}
@supports (animation-timeline: view()) {
  html #primary .gg-weg, html #primary .gg-zahlen p { animation: gg-rein linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
}

/* Sitzverteilung im Gemeinderat – halber Ring im Apple-Stil (Kurzcode [gg_sitzverteilung]) */
html #primary .gg-sitze {
  margin: 8px 0 48px;
  padding: clamp(24px, 4.5vw, 48px) clamp(18px, 4vw, 48px) clamp(20px, 3vw, 32px);
  border-radius: var(--gg-radius-gross);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 40, 25, .05), 0 24px 60px -24px rgba(0, 40, 25, .22);
  text-align: center;
}
html #primary .gg-sitze__kopf { display: flex; flex-direction: column; gap: 6px; margin-bottom: clamp(18px, 3vw, 30px); }
html #primary .gg-sitze__titel { color: var(--gg-tanne); font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit); font-size: clamp(1.6rem, 3.2vw, 2.2rem); line-height: 1.05; }
html #primary .gg-sitze__unter { color: #5c6860; font-size: .92rem; letter-spacing: .01em; }
html #primary .gg-sitze__buehne { position: relative; max-width: 520px; margin: 0 auto; }
html #primary .gg-sitze__plan { display: block; width: 100%; height: auto; overflow: visible; }
html #primary .gg-ring__spur { fill: none; stroke: #f1efe9; stroke-width: 30; stroke-linecap: round; }
html #primary .gg-ring__seg { fill: none; stroke-width: 24; stroke-linecap: round; stroke: #d3d8d4; stroke-dasharray: 100 100; stroke-dashoffset: 0; }
html #primary .gg-ring__seg--cdu    { stroke: #c4cbc6; }
html #primary .gg-ring__seg--spd    { stroke: #dccfcf; }
html #primary .gg-ring__seg--fw     { stroke: #d4d0de; }
html #primary .gg-ring__seg--fraktion { stroke: #e2d3da; }
html #primary .gg-ring__seg--gruene { stroke: url(#gg-ring-gruen); stroke: var(--gg-klee); filter: drop-shadow(0 6px 14px rgba(0, 137, 57, .38)); }
/* Mitte: große Zahl wie bei Apple */
html #primary .gg-sitze__wir { position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; display: flex; flex-direction: column; align-items: center; line-height: 1; }
html #primary .gg-sitze__wir-zahl { color: var(--gg-klee); font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit); font-size: clamp(4rem, 13vw, 6.4rem); letter-spacing: -.02em; }
html #primary .gg-sitze__wir-von { margin-top: 2px; color: var(--gg-tanne); font-size: clamp(.95rem, 2vw, 1.1rem); font-weight: 700; }
html #primary .gg-sitze__wir-text { margin-top: 4px; color: #5c6860; font-size: .8rem; letter-spacing: .02em; }
/* Legende als ruhige Liste */
html #primary .gg-sitze__legende { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2px 18px; max-width: 560px; margin: clamp(22px, 3.5vw, 34px) auto 0; padding: 0; list-style: none; text-align: left; }
html #primary .gg-sitze__eintrag { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 9px 2px !important; border-bottom: 1px solid #eeece6; color: var(--gg-text); font-size: .93rem; }
html #primary .gg-sitze__eintrag::before { display: none !important; }
html #primary .gg-sitze__name { flex: 1; }
html #primary .gg-sitze__punkt { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: #c4cbc6; }
html #primary .gg-sitze__eintrag--spd .gg-sitze__punkt { background: #dccfcf; }
html #primary .gg-sitze__eintrag--fw .gg-sitze__punkt { background: #d4d0de; }
html #primary .gg-sitze__eintrag--fraktion .gg-sitze__punkt { background: #e2d3da; }
html #primary .gg-sitze__eintrag--gruene .gg-sitze__punkt { background: var(--gg-klee); box-shadow: 0 0 0 4px rgba(0, 137, 57, .15); }
html #primary .gg-sitze__eintrag--gruene { color: var(--gg-tanne); font-weight: 700; }
html #primary .gg-sitze__zahl { color: #5c6860; font-weight: 700; font-variant-numeric: tabular-nums; }
html #primary .gg-sitze__eintrag--gruene .gg-sitze__zahl { color: var(--gg-klee); }
html #primary .gg-sitze__quelle { margin: 18px 0 0; font-size: .78rem; }
html #primary .gg-sitze__quelle a { color: #5c6860; text-decoration-thickness: 1px; }

/* Animation: EINE durchgehende Bewegung legt den Halbkreis frei (kreisförmige Maske, nur ein
   Winkel wird animiert, flüssig auch auf Handys). Danach hebt sich Grün federnd ab;
   Zahl und Legende gleiten nur über Transparenz und Bewegung herein (keine Filter). */
@property --gg-sweep { syntax: "<angle>"; inherits: false; initial-value: 200deg; }
@keyframes gg-ring-sweep { from { --gg-sweep: 0deg; } to { --gg-sweep: 200deg; } }
@keyframes gg-ring-heben { 0% { stroke-width: 24; } 100% { stroke-width: 30; } }
@keyframes gg-sitze-zahl { from { opacity: 0; translate: 0 14px; scale: .94; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes gg-sitze-zeile { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
html #primary .gg-sitze__plan {
  /* Mittelpunkt des Halbkreises: x 50 %, y 200/222; 10° Vorlauf/Nachlauf für die runden Enden */
  -webkit-mask-image: conic-gradient(from -100deg at 50% 90.09%, #000 0deg, #000 calc(var(--gg-sweep) - 8deg), transparent var(--gg-sweep));
          mask-image: conic-gradient(from -100deg at 50% 90.09%, #000 0deg, #000 calc(var(--gg-sweep) - 8deg), transparent var(--gg-sweep));
  animation: gg-ring-sweep 1.7s .2s cubic-bezier(.5, 0, .15, 1) both;
}
html #primary .gg-ring__seg--gruene { animation: gg-ring-heben .9s 1.55s var(--gg-spring) both; }
html #primary .gg-sitze__wir { animation: gg-sitze-zahl .9s .75s var(--gg-ease-out) both; }
html #primary .gg-sitze__eintrag { animation: gg-sitze-zeile .6s calc(1.25s + var(--n, 0) * 60ms) var(--gg-ease-out) both; }
html #primary .gg-sitze__eintrag:nth-child(2) { --n: 1; } html #primary .gg-sitze__eintrag:nth-child(3) { --n: 2; }
html #primary .gg-sitze__eintrag:nth-child(4) { --n: 3; } html #primary .gg-sitze__eintrag:nth-child(5) { --n: 4; }
/* Skript hält alles an, bis die Grafik ins Bild scrollt (ohne Skript läuft es sofort) */
html #primary .gg-sitze.gg-warte .gg-sitze__plan,
html #primary .gg-sitze.gg-warte .gg-ring__seg,
html #primary .gg-sitze.gg-warte .gg-sitze__wir,
html #primary .gg-sitze.gg-warte .gg-sitze__eintrag { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { html #primary .gg-sitze__plan, html #primary .gg-ring__seg, html #primary .gg-sitze__wir, html #primary .gg-sitze__eintrag { animation: none !important; } }
@media (max-width: 575.98px) { html #primary .gg-sitze__legende { grid-template-columns: 1fr 1fr; gap: 0 14px; } html #primary .gg-sitze__eintrag { font-size: .85rem; } }

/* Ortsverband-Seite (Inhalt aus inhalte/ortsverband-de.html) */
html #primary .entry-content > .gg-zahlen + h2,
html #primary .entry-content > .gg-vorstand + h2,
html #primary .entry-content > .gg-ov-aufruf { margin-top: 56px; }
html body #primary .entry-content > .wp-block-group.gg-vorstand {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(170px, 100%), 1fr)) !important;
  gap: 16px;
  width: auto !important; max-width: none !important; margin: 18px 0 0 !important; padding: 0 !important; translate: none !important;
}
html #primary .gg-person {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 26px 16px 22px; border-radius: var(--gg-radius); background: #fff; box-shadow: var(--gg-schatten); text-align: center;
  transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease);
}
html #primary .gg-person:hover { transform: translateY(-5px); box-shadow: var(--gg-schatten-hover); }
html #primary .gg-person .gg-portrait,
html #primary .gg-person .gg-person-medien { float: none; margin: 0 0 14px !important; }
html #primary .gg-person:hover .gg-portrait { transform: scale(1.05); }
html #primary .gg-person__name { margin: 0; color: var(--gg-tanne); font-family: "GrueneType Neue", var(--wp--preset--font-family--gruenetypeneue, inherit); font-size: 1.35rem; line-height: 1.1; }
html #primary .gg-person__rolle { margin: 4px 0 0; color: var(--gg-klee-dunkel); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
/* Zeitleiste */
html #primary .entry-content ul.gg-zeitleiste { position: relative; margin: 20px 0 0; padding: 0 0 0 30px !important; list-style: none; }
html #primary .entry-content ul.gg-zeitleiste::before { content: ""; position: absolute; left: 8px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: linear-gradient(var(--gg-klee), var(--gg-sand)); }
html #primary .entry-content ul.gg-zeitleiste > li { position: relative; margin: 0 0 18px; padding: 0 !important; line-height: 1.5; }
html #primary .entry-content ul.gg-zeitleiste > li::before { left: -28px !important; top: .3em !important; width: 15px !important; height: 15px !important; background: #fff !important; box-shadow: inset 0 0 0 4px var(--gg-klee); }
html #primary .entry-content ul.gg-zeitleiste > li:nth-child(3)::before { background: var(--gg-klee) !important; box-shadow: 0 0 0 5px rgba(0, 137, 57, .18); }
html #primary .entry-content ul.gg-zeitleiste strong { display: block; color: var(--gg-tanne); font-size: .82rem; letter-spacing: .05em; text-transform: uppercase; }
@supports (animation-timeline: view()) {
  html #primary .gg-person, html #primary ul.gg-zeitleiste > li { animation: gg-rein linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
}
/* Aufruf am Ende */
html body #primary .entry-content > .wp-block-group.gg-ov-aufruf {
  max-width: none !important; margin-left: 0 !important; margin-right: 0 !important;
  padding: clamp(28px, 4vw, 44px) !important; border-radius: var(--gg-radius-gross); background: var(--gg-tanne); text-align: center;
}
html #primary .gg-ov-aufruf > * { margin-left: auto !important; margin-right: auto !important; }
html #primary .gg-ov-aufruf h2 { margin: 0 0 8px !important; color: #fff !important; }
html #primary .gg-ov-aufruf h2::after { display: none !important; }
html #primary .gg-ov-aufruf p { color: rgba(255, 255, 255, .88); }
html #primary .gg-ov-aufruf .wp-block-buttons { justify-content: center; }
html #primary .gg-ov-aufruf .wp-block-button__link { background: var(--gg-sonne) !important; color: var(--gg-tanne) !important; }

/* Team-Karussell (Plugin) */
html .sptp-member-name { color: var(--gg-tanne) !important; font-size: 1.25rem !important; }
html .sptp-member-profession { color: var(--gg-klee-dunkel) !important; text-transform: uppercase; letter-spacing: .05em; font-size: .8rem !important; font-weight: 700; }
html .sptp-member-avatar-img img { border-radius: var(--gg-radius) !important; }
html .sptp-button-next,
html .sptp-button-prev {
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--gg-tanne) !important;
  box-shadow: var(--gg-schatten);
  transition: transform .4s var(--gg-spring), box-shadow .3s var(--gg-ease);
}
html .sptp-button-next:hover,
html .sptp-button-prev:hover { transform: scale(1.08); box-shadow: var(--gg-schatten-hover); }
html .sptp-pagination .swiper-pagination-bullet { background: rgba(0, 84, 55, .25) !important; opacity: 1 !important; transition: width .4s var(--gg-spring); }
html .sptp-pagination .swiper-pagination-bullet-active { width: 22px !important; border-radius: 999px !important; background: var(--gg-tanne) !important; }

/* Bild-Slider (Plugin) mit Rundungen */
html #primary .n2-section-smartslider { border-radius: var(--gg-radius); overflow: hidden; }

/* Beitragsende: Kategorien als Marken */
html body.single #primary > article .entry-footer .cat-links { font-size: 0; }
html body.single #primary > article .entry-footer .cat-links a {
  display: inline-block;
  margin: 0 6px 8px 0;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--gg-sand);
  color: var(--gg-tanne);
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
}
html body.single #primary > article .entry-footer .cat-links a:hover { background: var(--gg-tanne); color: #fff; }

/* Kommentarbereich: Sand-Fläche, Formular als Karte (gleich wie Kontaktformular) */
html body.single .bg-lightgreen { background: var(--gg-sand) !important; border-radius: 32px 32px 0 0; }
html body.single .bg-lightgreen > .container > h4 { color: var(--gg-tanne); }
html body.single #reply-title {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; /* doppelte Überschrift nur für Screenreader */
}
html #commentform label { font-weight: 700; color: var(--gg-tanne); }
html #commentform input[type="text"],
html #commentform input[type="email"],
html #commentform input[type="url"],
html #commentform textarea {
  width: 100%;
  border: 1.5px solid #d9dfda;
  border-radius: var(--gg-radius-klein);
  padding: 10px 14px;
  background: #fbfaf7;
}
html #commentform input:focus,
html #commentform textarea:focus { border-color: var(--gg-klee); background: #fff; }
html #commentform .form-submit { text-align: right; }
html #commentform input[type="submit"] {
  border: 0;
  border-radius: 999px;
  padding: .7em 1.6em;
  background: var(--gg-tanne);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: transform .5s var(--gg-spring), background-color .3s var(--gg-ease);
}
html #commentform input[type="submit"]:hover { background: var(--gg-klee); }
html #commentform input[type="submit"]:active { transform: scale(.96); }

html body.single #comments.comments-area:empty,
html body.single #comments.comments-area:not(:has(*)) { display: none; }
/* Vor/Zurück zwischen Beiträgen als Karten */
html .sunflower-post-navigation { margin-top: 32px; }
html .sunflower-post-navigation a {
  display: block;
  height: 100%;
  padding: 18px 22px;
  border: 0 !important;
  border-radius: var(--gg-radius);
  background: #fff;
  box-shadow: var(--gg-schatten);
  color: var(--gg-tanne);
  font-weight: 700;
  text-decoration: none;
  transition: transform .5s var(--gg-spring), box-shadow .4s var(--gg-ease);
}
html .sunflower-post-navigation a:hover { transform: translateY(-4px); box-shadow: var(--gg-schatten-hover); }
html .sunflower-post-navigation .announce {
  margin-top: 6px;
  color: var(--gg-klee-dunkel);
  font-size: .8rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html .sunflower-post-navigation a[rel="prev"] .announce::before { content: "← "; content: "← " / ""; }
html .sunflower-post-navigation a[rel="next"] { text-align: right; }
html .sunflower-post-navigation a[rel="next"] .announce::after { content: " →"; content: " →" / ""; }

/* Kategorie-Filter im Archiv als Pillen */
html body .sunflower-categories ul.wp-block-categories-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  padding: 0;
  list-style: none;
}
html body .sunflower-categories ul.wp-block-categories-list li.cat-item { margin: 0; padding: 0; border: 0 !important; }
html body .sunflower-categories ul.wp-block-categories-list li.cat-item a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 6px 16px;
  border: 0 !important;
  border-radius: 999px;
  background: var(--gg-sand);
  color: var(--gg-tanne);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  transition: background-color .25s var(--gg-ease), color .25s var(--gg-ease), transform .4s var(--gg-spring);
}
html body .sunflower-categories ul.wp-block-categories-list li.cat-item a:hover { background: #ebe4d6; transform: translateY(-2px); }
html body .sunflower-categories ul.wp-block-categories-list li.current-cat > a { background: var(--gg-tanne); color: #fff; }

/* Seitenzahlen */
html #primary .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  margin: 0 3px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--gg-sand);
  color: var(--gg-tanne);
  font-weight: 700;
  text-decoration: none;
  transition: background-color .25s var(--gg-ease), transform .4s var(--gg-spring);
}
html #primary a.page-numbers:hover { background: #ebe4d6; transform: translateY(-2px); }
html #primary .page-numbers.current { background: var(--gg-tanne); color: #fff; }
html #primary .page-numbers.dots { background: transparent; }

/* Suchfelder (404, Suche) wie im Fußbereich */
html #primary .search-form { display: inline-flex; max-width: 100%; margin-top: 14px; }
html #primary .search-form label { margin: 0; }
html #primary .search-form .search-field {
  width: min(320px, 60vw);
  min-height: 48px;
  padding: 10px 18px;
  border: 1.5px solid #d9dfda;
  border-right: 0;
  border-radius: 999px 0 0 999px;
  background: #fff;
}
html #primary .search-form .search-submit {
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 0 999px 999px 0;
  background: var(--gg-tanne);
  color: #fff;
  font-weight: 700;
}
html body.error404 #primary > .col-12 { font-size: 1.1rem; color: #3b463f; }

/* Mobil: Seitenkopf etwas flacher, Tabellen wischbar */
@media (max-width: 767.98px) {
  html body:not(.home) #primary > article > .entry-header,
  html body.archive #primary > .page-header,
  html body.search #primary > .page-header,
  html body.error404 #primary > .page-header { border-radius: 0 0 24px 24px; margin-bottom: 28px; }
  html body:not(.home) #content { padding-top: 0 !important; }
  html #primary .entry-content .wp-block-table thead th { white-space: normal; }
  html #primary .entry-content > .wp-block-group.is-layout-grid > .wp-block-cover { flex-basis: calc(50% - 8px); }
  html #primary .entry-content .wp-block-cover:has(a) { padding: 0 !important; }
  html #primary .entry-content .wp-block-cover:has(a) .wp-block-cover__inner-container { padding: 12px 14px; }
  html #primary .entry-content .wp-block-cover:has(a) p { font-size: 1.08rem !important; hyphens: auto; -webkit-hyphens: auto; }
}

/* --------------------------------------------------------------------------
   12) MEHRSPRACHIGKEIT – Sprachumschalter (Polylang-Menüpunkt) + Texte je Sprache
   Polylang erzeugt li.lang-item; html lang="en-GB" / "nl-NL" steuert :lang()
   -------------------------------------------------------------------------- */
html #mainmenu .lang-item > .nav-link {
  min-width: 44px;
  justify-content: center;
  padding: .35rem .7rem !important;
  letter-spacing: .06em;
  border-radius: 0;
  background: transparent;
  box-shadow: inset 0 0 0 1.5px rgba(0, 84, 55, .35);
}
html #mainmenu .lang-item { margin: 0 !important; padding: 0; border: 0 !important; }
html #mainmenu .lang-item > .nav-link { margin: 0 !important; }
html #mainmenu .lang-item-de { margin-left: 16px !important; }
html #mainmenu .lang-item-de > .nav-link { border-radius: 999px 0 0 999px; }
html #mainmenu .lang-item:last-child > .nav-link { border-radius: 0 999px 999px 0; }
html #mainmenu .lang-item + .lang-item > .nav-link { margin-left: -1.5px; }
html #mainmenu .lang-item.current-lang > .nav-link {
  background: var(--gg-tanne);
  color: #fff !important;
  box-shadow: inset 0 0 0 1.5px var(--gg-tanne);
}
html #mainmenu .lang-item > .nav-link:hover { background: var(--gg-sand); }
html #mainmenu .lang-item.current-lang > .nav-link:hover { background: var(--gg-tanne); }
html #mainmenu .lang-item img { display: none; } /* Polylang-Flaggen aus: Sprache ≠ Land */
/* Polylang gibt den vollen Namen aus („Deutsch“) – sichtbar das Kürzel, Screenreader lesen den Namen */
html #mainmenu .lang-item > .nav-link { font-size: 0 !important; }
html #mainmenu .lang-item > .nav-link > span { font-size: 0 !important; margin: 0 !important; }
html #mainmenu .lang-item > .nav-link::before { font-size: .85rem; line-height: 1; }
html #mainmenu .lang-item-de > .nav-link::before { content: "DE"; content: "DE" / ""; }
html #mainmenu .lang-item-en > .nav-link::before { content: "EN"; content: "EN" / ""; }
html #mainmenu .lang-item-nl > .nav-link::before { content: "NL"; content: "NL" / ""; }
@media (max-width: 991.98px) { html #mainmenu .lang-item > .nav-link::before { font-size: 1rem; } }

@media (max-width: 991.98px) {
  html #mainmenu { flex-direction: row; flex-wrap: wrap; }
  html #mainmenu > li:not(.lang-item) { flex: 0 0 100%; }
  html #mainmenu .lang-item { flex: 1 1 0; margin-top: 12px !important; }
  html #mainmenu .lang-item-de { margin-left: 0 !important; }
  html #mainmenu .lang-item > .nav-link { min-height: 48px; width: 100%; }
  html #mainmenu .lang-item::before, html #mainmenu .lang-item::after { display: none; }
}

/* CSS-Texte in der jeweiligen Sprache */
html:lang(en) .wp-block-rss .wp-block-rss__item-title a::after { content: "↗"; content: "↗" / "(opens in a new window)"; }
html:lang(nl) .wp-block-rss .wp-block-rss__item-title a::after { content: "↗"; content: "↗" / "(opent in een nieuw venster)"; }

/* Menü passt auch mit Sprachumschalter in eine Zeile (gemessen 992–1440 px, DE/EN/NL) */
@media (min-width: 992px) {
  html .navbar-main .container { max-width: min(1320px, 100% - 32px); }
  html #mainmenu { flex-wrap: nowrap; align-items: center; gap: 2px; }
  html #mainmenu > li { margin: 0 !important; }
  html #mainmenu > li > .nav-link { margin: 0 !important; padding: .45rem .75rem !important; white-space: nowrap; }
  html #mainmenu .submenu-opener { margin: 0 2px !important; min-width: 24px; min-height: 24px; } /* Tippfläche ≥ 24 px (WCAG 2.5.8) */
}
@media (min-width: 992px) and (max-width: 1279.98px) {
  html #mainmenu > li > .nav-link { font-size: .9rem; padding: .4rem .55rem !important; }
  html #mainmenu .lang-item > .nav-link { min-width: 38px; padding: .3rem .5rem !important; }
  html #mainmenu .lang-item-de { margin-left: 8px !important; }
}
@media (min-width: 992px) {
  html #mainmenu .lang-item + .lang-item { margin-left: -3.5px !important; } /* gap (2px) + Rahmen überlappen */
  html #mainmenu .lang-item > .nav-link { min-height: 34px; min-width: 42px; }
}
html #mainmenu .lang-item > .nav-link { display: inline-flex !important; align-items: center; justify-content: center; }
html body #primary .entry-content > .wp-block-group.gg-wege { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; }


/* ==========================================================================
   SYSTEM: Feature-Kopf (Mitmachen, Ortsverband, künftige Seiten)
   Foto links vollständig im Format 16:9, Titel im grünen Feld rechts;
   auf dem Handy untereinander. Eine Höhe für alle Seiten.
   ========================================================================== */
html #primary .entry-content > .gg-mitmachen-buehne {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  border-radius: var(--gg-radius-gross);
  background: var(--gg-tanne);
}
html #primary .gg-mitmachen-buehne:not(.gg-ov-buehne) > .wp-block-cover__image-background { object-position: 50% 78%; }
html #primary .gg-mitmachen-buehne > .wp-block-cover__image-background { position: relative !important; inset: auto; width: 100%; height: 100%; max-height: var(--gg-kopf-hoehe); aspect-ratio: 16 / 9; object-fit: cover; }
html #primary .gg-mitmachen-buehne > .wp-block-cover__background { display: none !important; }
html #primary .gg-mitmachen-buehne > .wp-block-cover__inner-container { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(20px, 3vw, 32px) !important; background: var(--gg-tanne); }
html #primary .gg-mitmachen-buehne h1 { font-size: var(--gg-h1) !important; }
@media (max-width: 767.98px) {
  html #primary .entry-content > .gg-mitmachen-buehne { display: block !important; }
  html #primary .gg-mitmachen-buehne > .wp-block-cover__image-background { height: auto; max-height: none; }
}

/* SYSTEM: Abschnittsüberschriften auf allen Seiten gleich (Größe + grüner Strich) */
html body:not(.home) #primary .entry-content > h2.wp-block-heading { font-size: var(--gg-h2); }
html body:not(.home) #primary .entry-content > h2.wp-block-heading::after,
html body:not(.home) #primary .entry-content > h1.wp-block-heading::after {
  content: ""; display: block; width: 56px; height: 5px; margin-top: 12px; border-radius: 999px; background: var(--gg-akzent);
}
html body.home #primary > article > .entry-content > h2.wp-block-heading,
html body.home #primary > article > .entry-content > h1.wp-block-heading { font-size: var(--gg-h2); }

/* SYSTEM: alle Unterseiten gleich breit – auch mit Theme-Option „gestyltes Layout“ (Startseite bleibt breit) */
html body:not(.home) #content.styled-layout { max-width: 900px; }
html body:not(.home) #content.styled-layout .wp-block-group { padding-top: 0; padding-bottom: 0; }
html body:not(.home) #content.styled-layout .h1, html body:not(.home) #content.styled-layout .h2 { margin-top: 0; }

/* SYSTEM: vertikaler Rhythmus auf allen Unterseiten (drei Stufen, siehe Tokens) */
html body:not(.home) #primary .entry-content > :is(h1, h2).wp-block-heading,
html body:not(.home) #primary .entry-content > :is(.gg-zahlen, .gg-ov-aufruf, .gg-sitze, .gg-wege, .wp-block-table, .gg-zeitleiste, .gg-vorstand, .gg-mitmachen-buehne, .gg-presse) { margin-bottom: 0 !important; }
html body:not(.home) #primary .entry-content > * + :is(h1, h2).wp-block-heading,
html body:not(.home) #primary .entry-content > * + :is(.gg-zahlen, .gg-ov-aufruf, .wp-block-table) { margin-top: var(--gg-abstand-l) !important; }
html body:not(.home) #primary .entry-content > :is(h1, h2).wp-block-heading + *,
html body:not(.home) #primary .entry-content > .gg-mitmachen-buehne + *,
html body:not(.home) #primary .entry-content > .gg-sitze + *,
html body:not(.home) #primary .entry-content > .gg-einleitung + * { margin-top: var(--gg-abstand-m) !important; }
html body:not(.home) #primary .entry-content > .gg-sitze + :is(h1, h2).wp-block-heading { margin-top: var(--gg-abstand-l) !important; }
html body:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(.gg-portrait) + .wp-block-group { margin-top: var(--gg-abstand-s) !important; }
html body:not(.home) #primary .entry-content > :first-child { margin-top: 0 !important; }
html body:not(.home) #primary .entry-content { padding-bottom: var(--gg-abstand-l); }
html #primary .gg-vorstand, html #primary .gg-wege { gap: var(--gg-abstand-s) !important; }
html #primary .gg-zahlen { gap: var(--gg-abstand-s) !important; }
html body:not(.home) #primary .entry-content > .wp-block-group.is-layout-constrained:has(.gg-portrait) { margin-bottom: 0 !important; }

/* SYSTEM: Feature-Kopf ohne Bild (z. B. Presse) – nur das grüne Feld */
html #primary .entry-content > .gg-buehne--ohne-bild { display: block !important; }
html #primary .gg-buehne--ohne-bild > .wp-block-cover__inner-container { min-height: 0; padding: clamp(26px, 4vw, 40px) !important; }

/* Presse: Artikelkarten */
html body #primary .entry-content > .wp-block-group.gg-presse { display: grid; gap: var(--gg-abstand-s); max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }
html body #primary .gg-presse > .gg-artikel {
  margin: 0 !important; padding: 24px 26px; border-radius: var(--gg-radius); background: #fff; box-shadow: var(--gg-schatten);
  border-left: 5px solid var(--gg-klee); transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease);
}
html #primary .gg-artikel:hover { transform: translateY(-4px); box-shadow: var(--gg-schatten-hover); }
html #primary .gg-artikel > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
html #primary .gg-artikel__quelle { margin: 0 0 6px !important; color: var(--gg-klee-dunkel); font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
html #primary .gg-artikel h2 { margin: 0 0 8px !important; color: var(--gg-tanne); font-size: 1.45rem !important; line-height: 1.15; }
html #primary .gg-artikel p { margin: 0 0 16px; color: #3b463f; }
html #primary .gg-artikel .wp-block-button__link { background: transparent !important; color: var(--gg-tanne) !important; box-shadow: inset 0 0 0 2px var(--gg-tanne); }
html #primary .gg-artikel .wp-block-button__link::after { content: " ↗"; content: " ↗" / ""; }
html #primary .gg-artikel .wp-block-button__link:hover { background: var(--gg-tanne) !important; color: #fff !important; }
html #primary .gg-pressekontakt .wp-block-button__link { text-transform: none !important; letter-spacing: 0 !important; }
@supports (animation-timeline: view()) { html #primary .gg-artikel { animation: gg-rein linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; } }
html body #primary .entry-content .wp-block-group.gg-weg { padding: 24px 24px 22px !important; }
html body #primary .entry-content .wp-block-group.gg-ov-aufruf { padding: clamp(28px, 4vw, 44px) !important; }

/* Keine Dachzeile „Bündnis 90/Die Grünen Gangelt“ über Titeln (Wunsch Ortsverband) */
html #primary .gg-dachzeile { display: none !important; }
html .home #primary > article > .entry-header::before { content: none !important; display: none !important; }

/* ==========================================================================
   SYSTEM: Abschnittsüberschriften mit Icon
   Standard linksbündig (Icon in der Zeile). Zentriert nur, wo darunter ein
   Raster/Karussell folgt – dort wirkt die Mittelachse ruhig. Fließtext,
   Listen, Zeitleiste, Personenkarten und Tabellen bleiben linksbündig.
   ========================================================================== */
html #primary .gg-abschnitt-icon {
  display: inline-grid; place-items: center; width: 44px; height: 44px; margin: 0 14px 0 0; border-radius: 50%;
  background: var(--gg-sand); color: var(--gg-tanne); vertical-align: middle; translate: 0 -3px;
}
html #primary .gg-abschnitt-icon svg { width: 22px; height: 22px; display: block; }
/* zentriert: Überschrift direkt über Raster (Vorstand, Themen, neueste Beiträge, Instagram) */
html #primary .entry-content > :is(h1, h2).wp-block-heading:has(+ :is(.gg-vorstand, .latest-posts, .wp-block-group.is-layout-grid, .instagram-gallery-feed)),
html #primary .entry-content > :is(h1, h2).wp-block-heading:has(+ .wp-block-spacer + :is(.latest-posts, .wp-block-group.is-layout-grid, .instagram-gallery-feed)) { text-align: center; }
html #primary .entry-content > :is(h1, h2).wp-block-heading:has(+ :is(.gg-vorstand, .latest-posts, .wp-block-group.is-layout-grid, .instagram-gallery-feed))::after,
html #primary .entry-content > :is(h1, h2).wp-block-heading:has(+ .wp-block-spacer + :is(.latest-posts, .wp-block-group.is-layout-grid, .instagram-gallery-feed))::after { margin-left: auto !important; margin-right: auto !important; }
html #primary .entry-content > :is(h1, h2).wp-block-heading:has(+ :is(.gg-vorstand, .latest-posts, .wp-block-group.is-layout-grid)) .gg-abschnitt-icon,
html #primary .entry-content > :is(h1, h2).wp-block-heading:has(+ .wp-block-spacer + :is(.latest-posts, .wp-block-group.is-layout-grid)) .gg-abschnitt-icon { display: grid; width: 52px; height: 52px; margin: 0 auto 14px; translate: none; }
/* Panels (Aufruf, Pressekontakt): mittig, Icon oben */
html #primary .gg-ov-aufruf .gg-abschnitt-icon { display: grid; width: 52px; height: 52px; margin: 0 auto 14px; translate: none; background: rgba(255, 255, 255, .14); color: var(--gg-sonne); }
html body.home #primary .entry-content > :is(h1, h2) .gg-abschnitt-icon { background: #fff; box-shadow: var(--gg-schatten); }
/* Lesetexte linksbündig mit angenehmer Zeilenlänge */
html #primary .gg-einleitung { max-width: 62ch; text-align: left; margin-left: 0 !important; }
html #primary .gg-ov-aufruf p { max-width: 52ch; }
@media (prefers-reduced-motion: no-preference) {
  html #primary .gg-abschnitt-icon { transition: transform .6s var(--gg-spring); }
  html #primary :is(h1, h2):hover > .gg-abschnitt-icon { transform: rotate(-8deg) scale(1.08); }
}

/* Instagram-Feed (Plugin „Social Feed Gallery“, Layout Karussell) im System-Stil
   – greift, sobald der Feed repariert ist; bis dahin bleibt er ausgeblendet (11b) */
html #primary .instagram-gallery-item { border-radius: var(--gg-radius); overflow: hidden; box-shadow: var(--gg-schatten); transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease); }
html #primary .instagram-gallery-item:hover { transform: translateY(-5px); box-shadow: var(--gg-schatten-hover); }
html #primary .instagram-gallery-item__media { transition: transform .9s var(--gg-ease-out); }
html #primary .instagram-gallery-item:hover .instagram-gallery-item__media { transform: scale(1.04); }
html #primary .instagram-gallery__button { border-radius: 999px !important; background: var(--gg-tanne) !important; color: #fff !important; font-weight: 700; }
html #primary .instagram-gallery-feed .swiper-pagination-bullet { background: rgba(0, 84, 55, .25); opacity: 1; transition: width .4s var(--gg-spring); }
html #primary .instagram-gallery-feed .swiper-pagination-bullet-active { width: 22px; border-radius: 999px; background: var(--gg-tanne); }
html #primary .instagram-gallery-feed .swiper-button-next, html #primary .instagram-gallery-feed .swiper-button-prev { width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--gg-tanne); box-shadow: var(--gg-schatten); }
html #primary .instagram-gallery-feed .swiper-button-next::after, html #primary .instagram-gallery-feed .swiper-button-prev::after { font-size: 16px; font-weight: 700; }
/* Keine Abschnitts-Icons im Seitenkopf (Aufmacher) */
html #primary .gg-mitmachen-buehne .gg-abschnitt-icon { display: none !important; }

/* Instagram-Hinweis unter „Neueste Beiträge“ (Plugin „Website-Ergänzungen“) */
html #primary .gg-insta-hinweis {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin: var(--gg-abstand-m) 0 0; padding: 18px 22px; border-radius: var(--gg-radius);
  background: #fff; box-shadow: var(--gg-schatten);
}
html #primary .gg-insta-hinweis__icon { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: var(--gg-tanne); color: #fff; }
html #primary .gg-insta-hinweis__icon svg { width: 24px; height: 24px; display: block; }
html #primary .gg-insta-hinweis__text { flex: 1 1 220px; margin: 0; color: var(--gg-text); line-height: 1.35; }
html #primary .gg-insta-hinweis__text strong { display: block; color: var(--gg-tanne); font-size: 1.1rem; }
html #primary .gg-insta-hinweis__text span { color: #5c6860; }
html #primary .gg-insta-hinweis__knopf {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border-radius: 999px;
  background: var(--gg-tanne); color: #fff !important; font-weight: 700; text-decoration: none;
  transition: transform .5s var(--gg-spring), background-color .3s var(--gg-ease);
}
html #primary .gg-insta-hinweis__knopf:hover { background: var(--gg-klee); transform: translateY(-2px); }
html #primary .gg-insta-hinweis__knopf:active { transform: scale(.96); }

/* Vorschau des neuesten Instagram-Beitrags (über dem Instagram-Hinweis) */
html #primary .gg-insta-neu {
  display: grid; grid-template-columns: 132px 1fr; gap: 18px; align-items: center;
  margin: var(--gg-abstand-m) 0 0; padding: 12px; border-radius: var(--gg-radius);
  background: #fff; box-shadow: var(--gg-schatten); color: var(--gg-text); text-decoration: none;
  transition: transform .6s var(--gg-spring), box-shadow .5s var(--gg-ease);
}
html #primary .gg-insta-neu:hover { transform: translateY(-4px); box-shadow: var(--gg-schatten-hover); }
html #primary .gg-insta-neu img { width: 132px; height: 132px; object-fit: cover; border-radius: 12px; display: block; }
html #primary .gg-insta-neu__label { display: block; margin-bottom: 6px; color: var(--gg-klee-dunkel); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
html #primary .gg-insta-neu__caption { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: #3b463f; line-height: 1.45; }
html #primary .gg-insta-neu + .gg-insta-hinweis { margin-top: var(--gg-abstand-s); }
@media (max-width: 575.98px) {
  html #primary .gg-insta-neu { grid-template-columns: 96px 1fr; }
  html #primary .gg-insta-neu img { width: 96px; height: 96px; }
}
/* E-Mail-Adressen nie mit Trennstrich umbrechen (der würde wie Teil der Adresse aussehen) */
html #primary a[href^="mailto:"] { hyphens: none; -webkit-hyphens: none; overflow-wrap: anywhere; }

/* Abstand oben: Seiten, die direkt mit dem Aufmacher-Kasten oder einer Überschrift beginnen
   (Mitmachen, Ortsverband, Themen, Presse …), kleben auf Handy/Tablet nicht am Kopfbereich */
@media (max-width: 991.98px) {
  html body:not(.home) #primary .entry-content > :is(.gg-mitmachen-buehne, h1.wp-block-heading, h2.wp-block-heading):first-child { margin-top: var(--gg-abstand-m) !important; }
}


/* --------------------------------------------------------------------------
   16) HARMONIE & BEDIENUNG – ruhige Gestaltung und robuste Fokuszustände
   -------------------------------------------------------------------------- */
html { scroll-padding-block-start: 6rem; }
html #primary :is(h1, h2, h3, h4) { text-wrap: balance; overflow-wrap: break-word; }
html #primary :is(p, li) { overflow-wrap: break-word; }
html #primary .entry-content :is(input, textarea, select) { font-size: 1rem; }
html #primary .entry-content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) { min-height: 48px; }
html :is(.wp-block-button__link, .wp-element-button, .navbar-toggler, .gg-social__link, .gg-insta-hinweis__knopf) {
  min-height: 44px;
  min-width: 44px;
}
html article.has-shadow.post .entry-content { line-height: 1.65; }
html #primary .entry-content :is(.gg-vorstand, .gg-wege, .gg-insta-neu) > * { min-width: 0; }
html #primary .gg-insta-neu { grid-template-columns: 132px minmax(0, 1fr); }
html #primary .gg-insta-neu__caption { overflow-wrap: anywhere; }
html #primary .entry-content :is(p, li) a:hover { text-decoration-thickness: 3px; }

/* Fokus auch für Auswahlfelder, Kalender und durch Tab erreichbare Bausteine.
   Der zweifarbige Ring bleibt auf hellen und dunklen Flächen erkennbar. */
html body :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--gg-sonne) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--gg-tanne) !important;
  scroll-margin-block: 6rem;
}
html body #primary .entry-content .wp-block-cover:has(a:focus-visible) {
  outline: 3px solid var(--gg-tanne);
  outline-offset: 6px;
}
html body .gg-kalender :is(button, select) { min-height: 44px; }
html body .gg-kalender__navigation button:first-child,
html body .gg-kalender__navigation button:last-child { min-width: 44px; }

/* Karten reagieren über Schatten statt großer Sprünge oder Bild-Zooms. */
html body article.has-shadow.post:hover,
html body #primary :is(.gg-artikel, .gg-insta-neu, .gg-weg, .instagram-gallery-item):hover {
  transform: none !important;
}
html body article.has-shadow.post:hover img,
html body #primary .instagram-gallery-item:hover .instagram-gallery-item__media { transform: none !important; }
html body #primary :is(h1, h2):hover > .gg-abschnitt-icon { transform: none; }

@media (max-width: 575.98px) {
  html #primary .gg-insta-neu { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
  html #primary .gg-insta-neu img { width: 80px; height: 80px; }
  html #primary .gg-insta-hinweis { gap: 12px; padding: 18px; }
  html #primary .gg-insta-hinweis__knopf { justify-content: center; }
  html article.has-shadow.post .p-45 { padding: 20px !important; }
}

/* Am Ende des Stylesheets: überschreibt auch später definierte Hover-Effekte. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  html body *, html body *::before, html body *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  html body :is(a, button, article, figure, img, .wp-block-cover, .wp-block-group):hover {
    transform: none !important;
    translate: none !important;
    scale: none !important;
  }
}
@media (forced-colors: active) {
  html body :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline-color: Highlight !important;
    box-shadow: none !important;
  }
  html body :is(input, textarea, select, .gg-kalender__tag, .gg-insta-hinweis__knopf) {
    border: 1px solid ButtonText;
  }
}

/* Inhalte beim Laden sofort sichtbar statt verzögerter Titel-Einblendung. */
html body.home #primary > article > .entry-header .entry-title,
html body.home #primary > article > .entry-content > .wp-block-group:first-child .wp-block-button {
  animation: none !important;
  opacity: 1;
}

/* --------------------------------------------------------------------------
   17) REDAKTION – eine Formensprache für Nachrichten, Themen und Rückwege
   -------------------------------------------------------------------------- */
:root { --gg-linie: #dbe5df; --gg-text-leise: #52645a; }
html body #primary .gg-redaktion { --gg-redaktion-gap: clamp(20px, 3vw, 28px); max-width: 1120px; margin-inline: auto; }
html body #primary .gg-redaktion__kopf {
  padding: clamp(28px, 5vw, 56px); border-radius: var(--gg-radius-gross);
  background: var(--gg-tanne); color: #fff;
}
html body #primary .gg-redaktion__claim { max-width: 16ch !important; margin: 0 0 18px; color: #fff; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.12 !important; text-wrap: balance; }
html body #primary .gg-redaktion__kopf > p:not(.gg-redaktion__claim) { max-width: 58ch !important; margin: 0; color: #fff; font-size: 1.08rem; line-height: 1.65; }
html body #primary .gg-redaktion__wege { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
html body #primary .gg-redaktion__wege a { display: inline-flex; gap: 12px; align-items: center; justify-content: center; min-height: 48px; padding: 10px 22px; border: 1px solid #fff; border-radius: 999px; color: #fff; font-weight: 700; text-decoration: none; }
html body #primary .gg-redaktion__wege a:first-child { background: var(--gg-sonne); border-color: var(--gg-sonne); color: var(--gg-tanne); }
html body #primary .gg-redaktion__wege a:hover { box-shadow: 0 0 0 2px #fff; }
html body #primary .gg-redaktion__abschnitt { margin-top: clamp(40px, 6vw, 72px); scroll-margin-top: 7rem; }
html body #primary .gg-redaktion__abschnitt > h2 { margin: 0 0 24px; font-size: var(--gg-h2); text-align: left; }
html body #primary .gg-redaktion__intro { max-width: 62ch !important; margin: 0 0 32px; font-size: 1.2rem; line-height: 1.6; color: var(--gg-text-leise); }
html body #primary :is(.gg-news-grid, .gg-themen-grid) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gg-redaktion-gap); }
html body #primary :is(.gg-news, .gg-thema) { min-width: 0; overflow: hidden; margin: 0; border: 1px solid var(--gg-linie); border-radius: var(--gg-radius); background: #fff; box-shadow: 0 4px 16px rgba(0, 40, 25, .04); }
html body #primary .gg-news { display: flex; flex-direction: column; }
html body #primary :is(.gg-news__bild, .gg-thema__bild) { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--gg-sand); }
html body #primary :is(.gg-news__bild, .gg-thema__bild) img { display: block; width: 100%; height: 100%; object-fit: cover; }
html body #primary .gg-thema__bild--grafik { display: grid; place-items: center; background: #e8efdf; color: var(--gg-tanne); }
html body #primary .gg-thema__bild--grafik svg { width: 100px; height: 75px; }
html body #primary .gg-news__platzhalter { display: grid; width: 100%; height: 100%; place-items: center; color: var(--gg-tanne); font-size: 1.6rem; font-weight: 700; letter-spacing: .12em; background: linear-gradient(135deg, #e8efdf, var(--gg-sand)); }
html body #primary :is(.gg-news__inhalt, .gg-thema__inhalt) { display: flex; flex-direction: column; flex: 1; padding: 24px; }
html body #primary .gg-news time { margin-bottom: 12px; color: var(--gg-text-leise); font-size: .85rem; font-weight: 600; }
html body #primary :is(.gg-news, .gg-thema) h3 { margin: 0 0 12px; font-size: 1.45rem; line-height: 1.2; }
html body #primary .gg-news h3 a { color: var(--gg-tanne); text-decoration: none; }
html body #primary .gg-news h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
html body #primary :is(.gg-news, .gg-thema) p { max-width: none !important; margin: 0 0 20px; color: var(--gg-text-leise); font-size: 1rem; line-height: 1.65; }
html body #primary :is(.gg-news__link, .gg-thema__link) { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; min-height: 44px; margin-top: auto; color: var(--gg-tanne); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
html body #primary .gg-thema { display: flex; flex-direction: column; color: inherit; text-decoration: none; }
html body #primary :is(.gg-thema:hover, .gg-news:focus-within) { border-color: var(--gg-tanne); box-shadow: var(--gg-schatten); }
html body #primary .gg-thema:hover .gg-thema__link { text-decoration-thickness: 3px; }
html body #primary .gg-redaktion__pagination { margin-top: 32px; }
html body #primary .gg-redaktion__pagination ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
html body #primary .gg-redaktion__pagination li { padding: 0; }
html body #primary .gg-redaktion__pagination .page-numbers { display: grid; min-width: 44px; min-height: 44px; place-items: center; border: 1px solid var(--gg-linie); border-radius: 50%; color: var(--gg-tanne); text-decoration: none; }
html body #primary .gg-redaktion__pagination .current { background: var(--gg-tanne); color: #fff; border-color: var(--gg-tanne); }
html body #primary .gg-breadcrumb { margin-bottom: 28px; font-size: .9rem; }
html body #primary .gg-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 0; margin: 0; list-style: none; }
html body #primary .gg-breadcrumb li { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 0; color: var(--gg-text-leise); }
html body #primary .gg-breadcrumb li + li::before { content: '/'; color: var(--gg-text-leise); }
html body #primary .gg-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--gg-tanne); text-decoration: underline; text-underline-offset: 4px; }
html body #primary .gg-breadcrumb [aria-current] { overflow-wrap: anywhere; }
/* Echte Kürzel im HTML statt ausschließlich CSS-Inhalt; voller Name als aria-label. */
html body #mainmenu .gg-language > .nav-link::before { content: none; }
html body #mainmenu .gg-language > .nav-link > span { font-size: .85rem !important; }
html body #mainmenu .lang-item > .nav-link { min-height: 44px; min-width: 44px; }
@media (min-width: 992px) {
  html body #content:has(.gg-redaktion) > .row { display: block; }
  html body #content:has(.gg-redaktion) #primary { flex: 0 0 100%; max-width: 100%; width: 100%; }
  html body #content:has(.gg-redaktion) #secondary { display: none; }
}
@media (max-width: 991.98px) and (min-width: 600px) {
  html body #primary :is(.gg-news-grid, .gg-themen-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599.98px) {
  html body #primary :is(.gg-news-grid, .gg-themen-grid) { grid-template-columns: minmax(0, 1fr); }
  html body #primary :is(.gg-news__inhalt, .gg-thema__inhalt) { padding: 22px; }
  html body #primary .gg-redaktion__wege { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: no-preference) {
  html body #primary :is(.gg-thema, .gg-news) { transition: border-color .2s ease, box-shadow .2s ease; }
}
@media (forced-colors: active) {
  html body #primary :is(.gg-news, .gg-thema, .gg-redaktion__wege a, .page-numbers) { border: 1px solid ButtonText; }
}

html body #primary .gg-redaktion__suche { margin-top: 24px; padding: 22px 24px; background: var(--gg-sand); border-radius: var(--gg-radius); }
html body #primary .gg-redaktion__suche label { display: block; margin-bottom: 10px; color: var(--gg-tanne); font-weight: 700; }
html body #primary .gg-redaktion__suche > div { display: flex; gap: 10px; }
html body #primary .gg-redaktion__suche input[type="search"] { min-width: 0; flex: 1; width: 100%; min-height: 48px; padding: 10px 16px; border: 1px solid #81998c; border-radius: 10px; background: #fff; color: var(--gg-text); font: inherit; }
html body #primary .gg-redaktion__suche button { min-height: 48px; padding: 10px 24px; border: 1px solid var(--gg-tanne); border-radius: 999px; background: var(--gg-tanne); color: #fff; font: inherit; font-weight: 700; }
@media (max-width: 380px) { html body #primary .gg-redaktion__suche > div { flex-direction: column; } }

/* Orientierung ist sofort sichtbar, auch während Bilder nachladen. */
html body #primary :is(.entry-title, .page-title) { animation: none !important; opacity: 1; }

/* 18) Redaktion, Startseiten-Termine und Ratsmitglieder */
html #primary .gg-start-termine{margin:clamp(32px,5vw,64px) 0;padding:clamp(24px,4vw,40px);background:#f4f7f3;border:1px solid #dbe5df;border-radius:18px}
html #primary .gg-start-termine__kopf{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
html #primary .gg-start-termine__kopf h2{margin:0 0 8px;color:#005437;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}
html #primary .gg-start-termine__kopf p{margin:0;color:#52645a}
html #primary .gg-start-termine__alle{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:#005437;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
html #primary .gg-start-termine__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
html #primary .gg-start-termin{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:24px;background:#fff;border:1px solid #dbe5df;border-radius:14px}
html #primary .gg-start-termin h3{margin:0 0 8px;font-size:1.25rem;line-height:1.25;color:#005437;overflow-wrap:anywhere}
html #primary .gg-start-termin__datum{align-self:start;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 5px;border-radius:10px;background:#005437;color:#fff}
html #primary .gg-start-termin__datum span:first-child{font-size:2rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
html #primary .gg-start-termin__datum span:last-child{font-size:.75rem}
html #primary .gg-start-termin__zeit{font-weight:700;color:#005437}
html #primary .gg-start-termin p{margin:4px 0;line-height:1.5}
html #primary .gg-start-termin__ort,html #primary .gg-start-termin__text{color:#52645a}
html #primary .gg-start-termin__text{font-size:.9rem;margin-top:12px}
html #primary .gg-start-termine__leer{grid-column:1/-1;margin:0;color:#52645a}
html #primary .gg-ratsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 48px;align-items:stretch}
html #primary .gg-ratsgrid>.gg-ratskarte{min-width:0;margin:0!important;padding:28px 24px;background:#fff;border:1px solid #dbe5df;border-radius:18px;box-shadow:0 4px 20px rgba(0,54,35,.04)}
html #primary .gg-ratsgrid>.gg-ratskarte>*{max-width:none;margin-left:0;margin-right:0;clear:none}
html #primary .gg-ratsgrid .gg-ratskarte>:is(.gg-person-medien,.gg-portrait){float:none;width:116px;margin:0 0 24px!important}
html #primary .gg-ratsgrid .gg-ratskarte .gg-portrait{width:116px;height:116px;margin:0!important;box-shadow:0 0 0 4px #e9f3df;transform:none!important}
html #primary .gg-ratsgrid .gg-ratskarte .gg-person-medien{gap:14px;align-items:flex-start}
html #primary .gg-ratsgrid .gg-ratskarte h3,html #primary .gg-ratsgrid .gg-ratskarte>p:has(>strong:only-child){color:#005437;font-size:1.35rem;line-height:1.2;margin:0 0 12px;clear:none}
html #primary .gg-ratsgrid .gg-ratskarte>p{margin:16px 0 8px;line-height:1.5;color:#52645a;font-size:.95rem}
html #primary .gg-ratsgrid .gg-ratskarte>p:empty{display:none}
html #primary .gg-ratsgrid .gg-ratskarte>ul{padding:0;margin:0;list-style:none;font-size:.9rem}
html #primary .gg-ratsgrid .gg-gremium{padding:10px 0!important;border-bottom:1px solid #eef2ef;display:flex;align-items:flex-start;gap:10px;line-height:1.5}
html #primary .gg-ratsgrid .gg-gremium:last-child{border-bottom:0}
html #primary .gg-ratsgrid .gg-gremium .gg-icon{flex:0 0 20px;margin-top:2px}
html #primary .gg-ratsgrid .gg-gremium__name{min-width:0;overflow-wrap:anywhere;hyphens:auto}
html #primary .gg-ratsgrid .gg-social__link{min-width:44px;min-height:44px;transform:none}
html #primary .gg-ratsgrid .gg-social__link--email{display:inline-flex;gap:8px;width:auto;padding:0 12px;border-radius:8px}
html #primary .gg-ratsgrid .gg-social__link--email::after{content:"E-Mail";font-size:.8rem;font-weight:700}
html #primary .gg-sitze__plan{-webkit-mask-image:none;mask-image:none;animation:none!important}
html #primary .gg-ring__seg,html #primary .gg-sitze__wir,html #primary .gg-sitze__eintrag{animation:none!important}
html #primary .gg-ring__seg--gruene{stroke-width:30;filter:drop-shadow(0 3px 8px rgba(0,137,57,.32))}
html #primary .gg-sitze__wir{width:210px;bottom:2px;padding:14px 12px;border-radius:16px;background:#005437;color:#fff;box-shadow:0 8px 24px rgba(0,84,55,.12)}
html #primary .gg-sitze__wir-zahl{font-size:clamp(2.8rem,8vw,4.6rem);color:#fff17a}
html #primary .gg-sitze__wir-von,html #primary .gg-sitze__wir-text{color:#fff}
html #primary .gg-sitze__wir-text{font-size:.75rem}
html #primary .gg-sitze__eintrag--gruene{order:-1;grid-column:1/-1;padding:14px 16px!important;margin-bottom:8px!important;background:#e9f3df;border:1px solid #a4cc83;border-radius:10px}
html #primary .gg-sitze__eintrag--gruene .gg-sitze__zahl{font-size:1.25rem;color:#005437}
/* Ein einmaliger Lichtzug hinter dem Begrüßungstext, ohne Ablenkung beim Lesen. */
html .home #primary>article>.entry-header{position:relative;isolation:isolate;overflow:hidden}
html .home #primary>article>.entry-header::after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-50% -10%;background:radial-gradient(ellipse at 70% 50%,rgba(138,189,36,.2),transparent 55%);animation:gg-willkommenslicht 4.8s ease-out both}
@keyframes gg-willkommenslicht{from{transform:translateX(-5%) scale(1.08);opacity:.35}to{transform:translateX(3%) scale(1);opacity:1}}
@media(max-width:991.98px){html #primary .gg-ratsgrid{grid-template-columns:repeat(2,minmax(0,1fr))}html #primary .gg-start-termine__kopf{align-items:flex-start;flex-direction:column}html #primary .gg-start-termine__grid{grid-template-columns:1fr}}
@media(max-width:599.98px){html #primary .gg-ratsgrid{grid-template-columns:1fr;gap:20px}html #primary .gg-start-termin{padding:20px;grid-template-columns:64px minmax(0,1fr);gap:14px}html #primary .gg-sitze__wir{width:170px;padding:10px 6px}html #primary .gg-sitze__wir-zahl{font-size:2.8rem}html #primary .gg-sitze__wir-von{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html .home #primary>article>.entry-header::after{animation:none!important;transform:none}}

/* Kompakter Seitenkopf: Hauptnavigation und Logo als Einstieg. */
html #masthead .topmenu, html #masthead .topmenu-container { display:none!important; }

html #primary :is(.gg-sitze,.gg-ratsgrid,.gg-start-termine),html .navbar-main .nav-link { animation:none!important;filter:none!important;opacity:1!important; }

/* Das grüne Profil ist als normale WordPress-Blöcke bearbeitbar. */
html #primary .gg-profil{padding:clamp(32px,5vw,56px) 0;margin:0 0 24px;animation:none!important;opacity:1!important;filter:none!important}
html #primary .gg-profil>h2{max-width:700px;margin:0 0 20px;font-size:clamp(2rem,4vw,3rem);line-height:1.1;color:#005437}
html #primary .gg-profil__eyebrow{margin:0 0 16px;color:#005437;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
html #primary .gg-profil__intro{max-width:66ch!important;font-size:1.08rem;line-height:1.7;color:#43544b;margin:0 0 32px}
html #primary .gg-profil__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 28px}
html #primary .gg-profil__grid>.wp-block-column{min-width:0;padding:24px;background:#f4f7f3;border:1px solid #dbe5df;border-radius:14px}
html #primary .gg-profil__grid h3{font-size:1.3rem;line-height:1.25;color:#005437;margin:0 0 12px}
html #primary .gg-profil__grid p{font-size:.95rem;line-height:1.6;color:#52645a;margin:0}
html #primary .gg-profil__massstab{font-weight:600;color:#005437;line-height:1.6;border-left:3px solid #008939;padding-left:20px;margin:0 0 28px}
html #primary .gg-profil .wp-block-buttons{gap:12px;justify-content:flex-start}
html #primary .gg-profil .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;padding:12px 20px;background:#005437;color:#fff;border:2px solid #005437;border-radius:8px;box-shadow:none;text-transform:none}
html #primary .gg-profil .is-style-outline .wp-block-button__link{background:transparent;color:#005437}
@media(max-width:782px){html #primary .gg-profil__grid{grid-template-columns:1fr}}
