/* ============================================================
   LSV Grenzland – Design-Upgrade v2  (nur Testkopie)
   Poppins-Headlines, Inter-Text, kraftvoller Hero,
   einheitliche Vereinsfarben, moderne Karten/Buttons.
   ============================================================ */

:root{
  --lsv-blau:      #2D6CA6;
  --lsv-blau-d:    #234f74;
  --lsv-blau-hell: #eaf2f9;
  --lsv-gruen:     #43a047;
  --lsv-gruen-d:   #327e36;
  --lsv-text:      #16202b;
  --lsv-grau:      #55636f;
  --lsv-bg:        #f4f8fb;
  --lsv-linie:     #e2eaf1;
  --lsv-radius:    16px;
  --lsv-schatten:  0 8px 26px rgba(24,52,82,.10);
  --lsv-schatten-h:0 18px 40px rgba(24,52,82,.20);
}

/* ---------- Typografie ---------- */
body,.entry-content,p,li,td,input,select,textarea,button{
  font-family:'Inter',"Segoe UI",-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
body{ color:var(--lsv-text); font-size:17.5px; line-height:1.72; -webkit-font-smoothing:antialiased; }
.entry-content{ font-size:1.05rem; }
.entry-content p{ margin-bottom:1.15em; color:#37454f; }

h1,h2,h3,h4,h5,.entry-title,.site-title{
  font-family:'Poppins','Inter',sans-serif !important;
  color:var(--lsv-blau);
  font-weight:800;
  line-height:1.14;
  letter-spacing:-.02em;
}
h1,.entry-title{ font-size:clamp(2.1rem,4.4vw,3.2rem); }
h2{ font-size:clamp(1.7rem,3.2vw,2.5rem); margin-top:.15em; }
h3{ font-size:clamp(1.3rem,2.1vw,1.7rem); }

/* Grüner Akzentstrich – nur unter Überschriften MIT Text */
.entry-content h2:not(:empty){ position:relative; padding-bottom:.4em; }
.entry-content h2:not(:empty)::after{
  content:""; position:absolute; left:0; bottom:0;
  width:66px; height:4px; border-radius:3px; background:var(--lsv-gruen);
}
.entry-content h2:empty{ display:none; }           /* leere Strich-Überschriften weg */
.entry-content .has-text-align-center h2::after,
.entry-content h2.has-text-align-center:not(:empty)::after{ left:50%; transform:translateX(-50%); }

/* ============================================================
   HERO – bewusst zurueckhaltend (wie im Original), nur der
   weisse Text bekommt einen dezenten Schatten fuer Lesbarkeit.
   KEINE Groessen-/Hoehen-/Overlay-Aenderung.
   ============================================================ */
/* ------------------------------------------------------------
   HERO-HOEHE deckeln – deckt ALLE auf der Seite genutzten
   Hero-Mechanismen ab (Cover, Astra-Beitragsbild, Full-Width-
   Bild, Gruppe-mit-Hintergrund). Kein zu grosses Hero mehr.
   ------------------------------------------------------------ */

/* 1) Gutenberg Cover-Block (auch in Gruppe verschachtelt) */
.entry-content .wp-block-cover:first-of-type,
.entry-content > .wp-block-group:first-child .wp-block-cover:first-of-type,
.entry-content > .wp-block-cover.alignfull:first-child{
  min-height:60vh !important;
  max-height:72vh !important;
}

/* 2) Astra-Beitragsbild-Banner ueber dem Inhalt (haeufigster Fall,
      v.a. bei hochformatigen Bildern sonst bildschirmfuellend) */
.ast-single-post-featured-section img.wp-post-image,
.ast-article-image-container img,
.ast-article-image-container--wide img{
  max-height:64vh !important;
  width:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;   /* Banner ueber volle Breite ohne Ecken */
}

/* 3) Erstes Full-Width-/Grossbild direkt im Inhalt als Hero */
.entry-content > figure.wp-block-image:first-child img,
.entry-content > .wp-block-image.alignfull:first-child img,
.entry-content > .wp-block-image.size-full:first-child img{
  max-height:66vh; width:100%; object-fit:cover;
}

/* 4) Gruppe mit Hintergrundbild als Hero */
.entry-content > .wp-block-group.has-background:first-child,
.entry-content > .wp-block-group.alignfull.has-background:first-child{
  max-height:72vh !important; overflow:hidden;
}
.wp-block-cover__inner-container :is(h1,h2){
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
  max-width:54%;              /* Titel bleibt links, ragt nicht in helle Bildmitte */
}
@media(max-width:782px){
  .wp-block-cover__inner-container :is(h1,h2){ max-width:100%; }
  .entry-content .wp-block-cover:first-of-type{ min-height:56vh !important; }
}
.wp-block-cover__inner-container p{
  color:#ffffff !important;
  font-weight:500;
  text-shadow:0 1px 4px rgba(0,0,0,.6);
}
/* Rechte Hero-Spalte: dezente Milchglas-Unterlage, damit der weisse
   Text auch ueber hellem Rumpf/Kanzel klar lesbar bleibt. */
.wp-block-cover__inner-container .wp-block-columns > .wp-block-column:last-child > p{
  background:rgba(20,32,43,.42);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  padding:.7em 1.05em !important;
  border-radius:14px;
  box-shadow:0 6px 22px rgba(0,0,0,.16);
}

/* ============================================================
   CONTENT-STANDARD – ein einheitlicher Lese-Rhythmus auf ALLEN
   Seiten: gleiche Abschnitts-Trennung + Ueberschriften-System,
   egal wie die einzelne Seite gebaut ist.
   ============================================================ */

/* H2 = Hauptabschnitt: dezente Haarlinie darueber + klarer Abstand
   (die "Linien zwischen den Abschnitten"). Gruener Akzent bleibt. */
.entry-content h2:not(:first-child){
  margin-top:2.5em !important;
  padding-top:1.35em;
  border-top:1px solid var(--lsv-linie);
}
/* H3 + H4 + H5 = Unterabschnitt: einheitlicher dezenter gruener Strich links
   (Seiten nutzen h3/h4/h5 gemischt fuer Abschnitte -> alle gleich, damit
   keine Abschnitts-Ueberschrift ohne Marker bleibt). */
.entry-content :is(h3,h4,h5){
  margin-top:1.7em;
  border-left:3px solid var(--lsv-gruen);
  padding-left:.65em;
}
.entry-content h4{ font-size:clamp(1.1rem,1.7vw,1.35rem); }
.entry-content h5{ font-size:clamp(1rem,1.4vw,1.15rem); }

/* AUSNAHMEN: Hero-Titel und Ueberschriften in Spalten/Spectra-
   Containern/Info-Boxen bekommen KEINE Trennlinie/Strich
   (sonst Doppellinien bzw. Chaos im mehrspaltigen Layout). */
.wp-block-cover__inner-container :is(h2,h3,h4,h5),
.wp-block-uagb-container :is(h2,h3,h4,h5),
.wp-block-columns :is(h2,h3,h4,h5),
.wp-block-column :is(h2,h3,h4,h5),
.wp-block-uagb-info-box :is(h2,h3,h4,h5),
.uagb-ifb-title{
  border-top:none !important;
  border-left:none !important;
  padding-top:0 !important;
  padding-left:0 !important;
}

/* ---------- Buttons ---------- */
.wp-block-button__link,.ast-button,.button,.woocommerce a.button,
.woocommerce button.button,.wp-element-button,input[type="submit"],
.ast-custom-button,.wpforms-submit,button[type="submit"].wpforms-submit{
  background:var(--lsv-blau) !important; color:#fff !important; border:none !important;
  border-radius:999px !important; padding:.8em 1.9em !important;
  font-family:'Poppins',sans-serif !important; font-weight:600 !important; font-size:1rem !important;
  box-shadow:0 6px 18px rgba(45,108,166,.34);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.wp-block-button__link:hover,.ast-button:hover,.button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.wp-element-button:hover,input[type="submit"]:hover,.ast-custom-button:hover,
.wpforms-submit:hover{
  background:var(--lsv-blau-d) !important; transform:translateY(-2px); box-shadow:var(--lsv-schatten-h);
}
.is-style-outline .wp-block-button__link{ background:var(--lsv-gruen) !important; box-shadow:0 6px 18px rgba(67,160,71,.34); }
.is-style-outline .wp-block-button__link:hover{ background:var(--lsv-gruen-d) !important; }

/* ---------- Bilder & Karten ---------- */
.entry-content img:not(.custom-logo):not(.emoji){ border-radius:var(--lsv-radius); }
.wp-block-image img,figure.wp-block-image img{
  box-shadow:var(--lsv-schatten); transition:transform .25s ease, box-shadow .25s ease;
}
.wp-block-image:hover img{ transform:translateY(-5px); box-shadow:var(--lsv-schatten-h); }

/* ---------- Tabellen ---------- */
.entry-content table{
  border-collapse:separate; border-spacing:0; width:100%;
  border-radius:var(--lsv-radius); overflow:hidden; box-shadow:var(--lsv-schatten); border:none;
}
.entry-content table th{
  background:var(--lsv-blau); color:#fff; font-family:'Poppins',sans-serif; font-weight:600;
  text-align:left; padding:.9em 1.15em; border:none;
}
.entry-content table td{ padding:.82em 1.15em; border:none; border-top:1px solid var(--lsv-linie); }
.entry-content table tr:nth-child(even) td{ background:var(--lsv-blau-hell); }

/* ---------- Rhythmus & Farb-Korrekturen ---------- */
.entry-content > .wp-block-group,.entry-content > .wp-block-columns{ margin-top:2.6em; margin-bottom:2.6em; }
[style*="#2563eb"],[style*="#3340d3"]{ color:var(--lsv-blau) !important; }
a{ color:var(--lsv-blau); } a:hover{ color:var(--lsv-blau-d); }
.site-footer{ background:var(--lsv-text); }

/* ============================================================
   KOMPONENTEN-ANGLEICHUNG  –  Schritt zur Vereinheitlichung
   Spectra (UAGB) + Kadence Bausteine in EINEN Design-Ton
   bringen, damit die ganze Seite wie aus einem Guss wirkt.
   Font/Form/Schatten hart (!important); FARBEN bei Text/
   Ueberschriften bewusst WEICH (kein !important) -> bewusst
   gesetzte Farben (z.B. weiss auf dunklem Container) bleiben.
   ============================================================ */

/* --- Ueberschriften der Zusatz-Baukaesten wie native H2/H3 --- */
.uagb-heading-text,
.wp-block-uagb-advanced-heading .uagb-heading-text,
.kt-blocks-accordion-title,
.wp-block-kadence-infobox .kt-blocks-info-box-title,
.uagb-ifb-title{
  font-family:'Poppins','Inter',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-.02em;
  color:var(--lsv-blau);            /* weich: Autor-Farbe gewinnt */
}

/* --- Buttons aus Kadence & Spectra = LSV-Pill (blau, Hover-Lift) --- */
.kb-button,.kt-button,.wp-block-kadence-singlebtn .kt-button,
.wp-block-kadence-advancedbtn .kt-button,
.uagb-cta__button-wrapper a,.uagb-cta__button,
.wp-block-uagb-buttons-child a{
  background:var(--lsv-blau) !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  padding:.72em 1.7em !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:600 !important;
  box-shadow:0 6px 18px rgba(45,108,166,.34);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.kb-button:hover,.kt-button:hover,
.uagb-cta__button-wrapper a:hover,.uagb-cta__button:hover,
.wp-block-uagb-buttons-child a:hover{
  background:var(--lsv-blau-d) !important;
  transform:translateY(-2px); box-shadow:var(--lsv-schatten-h);
}
.kb-button .kt-btn-inner-text,.kt-button .kt-btn-inner-text{ color:#fff !important; }

/* --- Bilder aus Spectra & Kadence = gleiche runde Ecken + Schatten --- */
.wp-block-uagb-image img,.wp-block-uagb-image__figure img,
.wp-block-kadence-image img,.kb-img{
  border-radius:var(--lsv-radius);
  box-shadow:var(--lsv-schatten);
  transition:transform .25s ease, box-shadow .25s ease;
}
.wp-block-uagb-image:hover img,.wp-block-kadence-image:hover img{
  transform:translateY(-5px); box-shadow:var(--lsv-schatten-h);
}

/* --- Info-Box / Call-to-Action (Spectra) = einheitliche Karte --- */
.wp-block-uagb-info-box .uagb-infobox,
.uagb-cta__outer-wrap{
  border-radius:var(--lsv-radius) !important;
  box-shadow:var(--lsv-schatten);
}
.uagb-ifb-desc,.uagb-ifb-desc *{ color:#37454f; }   /* weich */
.uagb-ifb-icon svg,.uagb-ifb-icon-wrap svg{ fill:var(--lsv-gruen); }

/* --- Kadence-Akkordeon (z.B. FAQ) = einheitlicher, ruhiger Look --- */
.kt-blocks-accordion-header{
  background:var(--lsv-blau-hell) !important;
  border:1px solid var(--lsv-linie) !important;
  border-radius:12px !important;
  font-family:'Poppins',sans-serif !important;
  transition:background .16s ease;
}
.kt-blocks-accordion-header:hover,
.kt-blocks-accordion-header[aria-expanded="true"]{ background:#dbe8f4 !important; }
.kt-accordion-panel-inner{ background:#fff; }

/* --- Core "Details"-Block = nativer Ersatz fuers Kadence-Akkordeon,
       im gleichen ruhigen Look (Poppins, hellblau, gerundet). --- */
.entry-content .wp-block-details{
  border:1px solid var(--lsv-linie);
  border-radius:12px;
  margin-bottom:.6em;
  background:#fff;
  overflow:hidden;
}
.entry-content .wp-block-details > summary{
  position:relative;
  background:var(--lsv-blau-hell);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  color:var(--lsv-blau);
  padding:.85em 2.6em .85em 1.1em;
  cursor:pointer;
  list-style:none;
  transition:background .16s ease;
}
.entry-content .wp-block-details > summary::-webkit-details-marker{ display:none; }
.entry-content .wp-block-details > summary::after{
  content:"\25BE";                 /* ▾ */
  position:absolute; right:1.05em; top:50%;
  transform:translateY(-55%);
  color:var(--lsv-blau);
  transition:transform .2s ease;
}
.entry-content .wp-block-details[open] > summary::after{ transform:translateY(-55%) rotate(180deg); }
.entry-content .wp-block-details > summary:hover,
.entry-content .wp-block-details[open] > summary{ background:#dbe8f4; }
.entry-content .wp-block-details > :not(summary){ padding-left:1.1em; padding-right:1.1em; }
.entry-content .wp-block-details > summary + *{ padding-top:.9em; }
.entry-content .wp-block-details > :last-child{ padding-bottom:.9em; }
.entry-content .wp-block-details[open]{ box-shadow:var(--lsv-schatten); }

/* --- Spectra-Container: gleicher vertikaler Rhythmus wie native --- */
.entry-content .wp-block-uagb-container.uagb-is-root-container{
  margin-top:2.4em; margin-bottom:2.4em;
}
