/* ==========================================================================
   Weg zur Freiheit – Ergänzungen zum Elementra-Skin „Green Energy“
   Schriften kommen aus dem Skin, die Farben ebenfalls – mit Palette „Elementra dezent“ (unten):
   Grün nur für Buttons, Links und Akzente, Creme als Grund, Sand als zweite Farbe.
   Eigene Bausteine stehen in .wzf, damit sie nicht mit Elementra-Klassen kollidieren.
   ========================================================================== */

/* Palette „Elementra dezent“: überschreibt die Mint-Töne des Skins Green Energy */
html .scheme_default, html body.scheme_default {   /* „html“: gewinnt gegen das später geladene __custom.css des Skins */
  --theme-color-bg_color: #fffcf5;
  --theme-color-bg_color_0: rgba(255, 252, 245, 0);
  --theme-color-bg_color_02: rgba(255, 252, 245, .2);
  --theme-color-bg_color_05: rgba(255, 252, 245, .5);
  --theme-color-bg_color_07: rgba(255, 252, 245, .7);
  --theme-color-bg_color_09: rgba(255, 252, 245, .9);
  --theme-color-bd_color: #ebe3d5;
  --theme-color-text: #6e6960;
  --theme-color-meta: #a29b8f;
}

:root {
  --wzf-accent: var(--theme-color-link, #009165);
  --wzf-accent-2: var(--theme-color-hover, #00885F);
  --wzf-ink: var(--theme-color-title, #202823);
  --wzf-text: var(--theme-color-text, #909793);
  --wzf-text-2: #5f5a52;
  --wzf-meta: var(--theme-color-meta, #AEB6B1);
  --wzf-bg: var(--theme-color-bg_color, #F1F9F4);
  --wzf-card: #fff;
  --wzf-line: var(--theme-color-bd_color, #DDE9E1);
  --wzf-dark: var(--theme-color-alt_bg_color, #101814);
  --wzf-soft: #f3ebdd;        /* Sand: Flächen für Icons, Tags, Hover */
  --wzf-soft-ink: #5c4a2e;
  --wzf-radius: 18px;
  --wzf-ease: cubic-bezier(.2, .7, .2, 1);
  --wzf-shadow: 0 1px 2px rgb(16 24 20 / .05), 0 10px 30px -12px rgb(16 24 20 / .18);
  --wzf-shadow-lg: 0 2px 4px rgb(16 24 20 / .05), 0 26px 50px -18px rgb(16 24 20 / .3);
}

/* ---------- Allgemein ---------- */
.wzf { color: var(--wzf-text-2); }
.wzf h1, .wzf h2, .wzf h3 { color: var(--wzf-ink); }
.wzf a { transition: color .2s; }
.wzf .chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.wzf .chip {
  display: inline-flex; align-items: center; gap: .4em; padding: .45em 1.05em; border-radius: 999px; border: 1px solid var(--wzf-line);
  background: var(--wzf-card); color: var(--wzf-ink); font-size: .9rem; line-height: 1.3; text-decoration: none; white-space: nowrap;
  transition: all .25s var(--wzf-ease);
}
.wzf .chip:hover { border-color: var(--wzf-accent); color: var(--wzf-accent); transform: translateY(-2px); }
.wzf .chip.is-current { background: var(--wzf-accent); border-color: var(--wzf-accent); color: #fff; }
.wzf .chip small { opacity: .65; }
.wzf .chips--filter { margin: 0 0 2rem; }
.wzf .tag { display: inline-block; padding: .25em .7em; border-radius: 6px; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: var(--wzf-soft); color: var(--wzf-accent-2); }
.wzf .tag--fortgeschritten { background: #e6eef9; color: #2f5b8f; }
.wzf .tag--fachbuch { background: #efe9f7; color: #5b3f8a; }
.wzf .kicker, .wzf .eyebrow { display: flex; flex-wrap: wrap; gap: .6em; align-items: center; margin: 0 0 .8rem; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wzf-accent); }
.wzf .kicker a { color: inherit; }
.wzf .meta { color: var(--wzf-meta); font-size: .9rem; margin: 0; }
.wzf .link-arrow { display: inline-flex; align-items: center; gap: .4em; font-weight: 500; color: var(--wzf-accent); text-decoration: none; }
.wzf .link-arrow .icon { width: 18px; transition: transform .3s var(--wzf-ease); }
.wzf .link-arrow:hover .icon { transform: translateX(4px); }
.wzf .link-arrow--light { color: #8fe3c1; }
.wzf .wzf-more { margin: 1.5rem 0 0; }
.wzf .section { padding-block: clamp(32px, 6vw, 72px); }
.wzf .section:first-child { padding-top: 0; }
.wzf .wrap--text { max-width: 760px; margin-inline: auto; }
.wzf .empty { padding: 2.5rem 1.5rem; text-align: center; border: 1px dashed var(--wzf-line); border-radius: var(--wzf-radius); background: var(--wzf-card); }
.wzf .empty p { margin: 0; }
.wzf-btn, .wzf .wzf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; border: 0; border-radius: 40px; cursor: pointer;
  padding: var(--theme-font-button_padding, 14px 32px); background: var(--wzf-accent); color: #fff;
  font-family: var(--theme-font-button_font-family, inherit); font-weight: 500; font-size: 15px; line-height: 1.2;
  transition: background .25s, transform .25s var(--wzf-ease), box-shadow .25s;
}
.wzf-btn:hover { background: var(--wzf-accent-2); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px -10px var(--wzf-accent); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Kopf der Rubrikseiten ---------- */
.wzf .page-head { position: relative; padding: clamp(8px, 2vw, 24px) 0 clamp(28px, 4vw, 44px); margin-bottom: 1rem; }
.wzf .page-head__title { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.08; margin: 0 0 .4em; max-width: 18ch; }
.wzf .page-head__lead { font-size: 1.15rem; line-height: 1.6; max-width: 680px; }
.wzf .page-head__lead p:last-child { margin: 0; }
.wzf .page-head .wrap { position: relative; }
.wzf .breadcrumbs { font-size: .85rem; margin-bottom: 1rem; color: var(--wzf-meta); }
.wzf .breadcrumbs a { color: var(--wzf-text-2); }

/* ---------- Suche: Menüpunkt ---------- */
.wzf-menu-search .trx-addons-menu-link-text { display: inline-flex; align-items: center; gap: .45em; }
.wzf-menu-search .icon { width: 18px; height: 18px; transition: transform .3s var(--wzf-ease); }
.wzf-menu-search > a:hover .icon { transform: rotate(-12deg) scale(1.1); }
@media (min-width: 1280px) { .wzf-menu-search__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* ---------- Suche: Dialog ---------- */
.wzf-search-dialog {
  width: min(720px, calc(100% - 32px)); max-height: min(80vh, 680px); margin: 10vh auto auto; padding: 0;
  border: 1px solid var(--wzf-line); border-radius: 22px; background: #fff; color: var(--wzf-ink); box-shadow: var(--wzf-shadow-lg); overflow: hidden;
}
.wzf-search-dialog[open] { display: flex; flex-direction: column; animation: wzf-pop .35s var(--wzf-ease); }
.wzf-search-dialog::backdrop { background: rgb(16 24 20 / .5); backdrop-filter: blur(6px); animation: wzf-fade .3s; }
.wzf-search-dialog__form { display: flex; align-items: center; gap: .75rem; padding: 1rem 1rem 1rem 1.4rem; border-bottom: 1px solid var(--wzf-line); margin: 0; }
.wzf-search-dialog__form > .icon { color: var(--wzf-accent); flex-shrink: 0; }
.wzf-search-dialog__form input[type="search"] { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: none !important; box-shadow: none !important; padding: .3em 0 !important; font-size: 1.35rem; color: var(--wzf-ink); }
.wzf-icon-btn { display: grid; place-items: center; width: 40px; height: 40px; padding: 0 !important; border: 0; border-radius: 50%; background: transparent !important; color: var(--wzf-ink) !important; cursor: pointer; }
.wzf-icon-btn:hover { background: var(--wzf-bg) !important; }
.wzf-search-dialog__body { overflow-y: auto; padding: .5rem; }
.wzf-search-dialog__hint { padding: 1rem; }
.wzf-search-dialog__hint > p { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wzf-meta); margin: 0 0 .7rem; }
.wzf-search-dialog__keys { margin-top: 1.4rem !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; }
.wzf kbd { font: 600 .75rem/1 inherit; padding: .25em .5em; border: 1px solid var(--wzf-line); border-radius: 6px; background: var(--wzf-bg); }
.wzf-search-results { list-style: none; margin: 0; padding: 0; }
.wzf-search-results:empty { display: none; }
.wzf-search-results li { margin: 0; padding: 0; }
.wzf-search-results li::before { display: none; }
.wzf-search-results a { display: grid; grid-template-columns: 48px 1fr; gap: .9rem; align-items: center; padding: .75rem .9rem; border-radius: 14px; text-decoration: none; color: var(--wzf-ink); }
.wzf-search-results a:hover, .wzf-search-results a.is-active { background: var(--wzf-bg); }
.wzf-search-results__thumb { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; display: grid; place-items: center; background: var(--wzf-soft); color: var(--wzf-accent); font-weight: 600; font-size: 1.2rem; }
.wzf-search-results__type { font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wzf-accent); }
.wzf-search-results__title { display: block; font-weight: 600; font-size: 1.05rem; line-height: 1.3; margin: .15rem 0; }
.wzf-search-results__text { display: block; font-size: .85rem; line-height: 1.4; color: var(--wzf-text); }
.wzf-search-results mark { background: var(--wzf-soft); color: inherit; border-radius: 3px; }
.wzf-search-results__all a { display: block; text-align: center; color: var(--wzf-accent); font-weight: 500; padding: 1rem; }
.wzf-search-results__empty { padding: 1.5rem; text-align: center; color: var(--wzf-text); }

/* ---------- Suche: großes Feld (Startseite, [wzf_suche]) ---------- */
.wzf-search-band {
  position: relative; overflow: hidden; isolation: isolate; text-align: center; padding: clamp(40px, 7vw, 80px) clamp(20px, 5vw, 64px);
  border-radius: 28px; background: linear-gradient(135deg, #fff 0%, var(--wzf-soft) 100%); border: 1px solid var(--wzf-line);
}
.wzf-search-band::before, .wzf-search-band::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(60px); opacity: .55; animation: wzf-drift 18s ease-in-out infinite alternate; }
.wzf-search-band::before { width: 340px; height: 340px; background: #9fe0c4; top: -160px; right: -80px; }
.wzf-search-band::after { width: 260px; height: 260px; background: #c8eedd; bottom: -140px; left: -60px; animation-delay: -9s; }
.wzf-search-band__title { margin: 0 0 .4em; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.wzf-search-band__text { max-width: 560px; margin: 0 auto 1.8rem; font-size: 1.1rem; }
.wzf-search-band__chips { justify-content: center; margin-top: 1.4rem; }
.wzf-hero-search {
  display: flex; align-items: center; gap: .6rem; max-width: 680px; margin: 0 auto; padding: .45rem .45rem .45rem 1.3rem;
  background: #fff; border: 1px solid var(--wzf-line); border-radius: 999px; box-shadow: var(--wzf-shadow-lg);
  transition: box-shadow .3s, border-color .3s, transform .3s var(--wzf-ease);
}
.wzf-hero-search:focus-within { border-color: var(--wzf-accent); transform: translateY(-2px); box-shadow: var(--wzf-shadow-lg), 0 0 0 6px color-mix(in srgb, var(--wzf-accent) 14%, transparent); }
.wzf-hero-search > .icon { color: var(--wzf-accent); flex-shrink: 0; }
.wzf-hero-search input[type="search"] { flex: 1; min-width: 0; border: 0 !important; background: none !important; box-shadow: none !important; outline: 0; padding: .65em 0 !important; font-size: 1.05rem; color: var(--wzf-ink); }
.wzf-hero-search .wzf-btn { flex-shrink: 0; padding: 14px 28px; }
.wzf-hero-search--inline { margin: 0 0 1rem; max-width: 760px; }
@media (max-width: 480px) { .wzf-hero-search .wzf-btn { padding: 12px 16px; } .wzf-hero-search input[type="search"] { font-size: 1rem; } }

/* ---------- Rubrik-Kacheln ---------- */
.wzf-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.wzf-tile {
  position: relative; display: grid; gap: .3rem; padding: 1.6rem 1.6rem 1.4rem; border-radius: var(--wzf-radius); text-decoration: none;
  background: #fff; border: 1px solid var(--wzf-line); color: var(--wzf-text-2); overflow: hidden;
  transition: transform .4s var(--wzf-ease), box-shadow .4s var(--wzf-ease), border-color .3s;
}
.wzf-tile::before { content: ""; position: absolute; inset: auto -40% -60% auto; width: 220px; height: 220px; border-radius: 50%; background: var(--wzf-soft); transform: scale(.4); opacity: 0; transition: transform .6s var(--wzf-ease), opacity .4s; z-index: 0; }
.wzf-tile > * { position: relative; z-index: 1; }
.wzf-tile:hover { transform: translateY(-6px); box-shadow: var(--wzf-shadow-lg); border-color: color-mix(in srgb, var(--wzf-accent) 40%, var(--wzf-line)); color: var(--wzf-text-2); }
.wzf-tile:hover::before { transform: scale(1); opacity: 1; }
.wzf-tile__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: .6rem; border-radius: 14px; background: var(--wzf-soft); color: var(--wzf-accent); transition: background .3s, color .3s, transform .4s var(--wzf-ease); }
.wzf-tile__icon .icon { width: 26px; height: 26px; }
.wzf-tile:hover .wzf-tile__icon { background: var(--wzf-accent); color: #fff; transform: rotate(-6deg); }
.wzf-tile__title { font-size: 1.25rem; font-weight: 600; color: var(--wzf-ink); }
.wzf-tile__text { font-size: .95rem; }
.wzf-tile__count { position: absolute; top: 1.4rem; right: 1.5rem; font-size: .8rem; font-weight: 600; color: var(--wzf-accent); background: var(--wzf-soft); padding: .2em .65em; border-radius: 999px; }
.wzf-tile__arrow { position: absolute; right: 1.4rem; bottom: 1.3rem; color: var(--wzf-accent); opacity: 0; transform: translateX(-8px); transition: all .35s var(--wzf-ease); }
.wzf-tile:hover .wzf-tile__arrow { opacity: 1; transform: none; }

/* ---------- Bücher ---------- */
.wzf .shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: 2.4rem 1.8rem; }
.wzf .shelf--archive { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.wzf .book { display: flex; flex-direction: column; gap: 1rem; }
.wzf .book__cover {
  --cover: var(--wzf-accent); position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 3px 10px 10px 3px;
  background: var(--cover); box-shadow: inset 4px 0 0 rgb(0 0 0 / .18), inset 7px 0 0 rgb(255 255 255 / .08), var(--wzf-shadow);
  transform: perspective(900px) rotateY(0); transform-origin: left center; transition: transform .6s var(--wzf-ease), box-shadow .6s var(--wzf-ease);
}
.wzf .book__cover:hover { transform: perspective(900px) rotateY(-14deg) translateX(4px); box-shadow: inset 4px 0 0 rgb(0 0 0 / .18), 18px 18px 32px -10px rgb(16 24 20 / .4); }
.wzf .book__cover img { width: 100%; height: 100%; object-fit: cover; }
.wzf .book__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgb(255 255 255 / .2) 50%, transparent 60%); transform: translateX(-100%); transition: transform .9s var(--wzf-ease); }
.wzf .book__cover:hover::after { transform: translateX(100%); }
.wzf .book__fake { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 14% 12% 16%; color: #f4fbf7; text-align: center; background: linear-gradient(160deg, rgb(255 255 255 / .12), transparent 50%, rgb(0 0 0 / .25)); }
.wzf .book__fake::before { content: ""; position: absolute; inset: 7%; border: 1px solid rgb(190 240 215 / .5); border-radius: 2px; }
.wzf .book__fake-author { font-size: .62rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #bff0d7; }
.wzf .book__fake-title { font-size: 1.15rem; font-weight: 600; line-height: 1.15; }
.wzf .book__info { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; }
.wzf .book__title { font-size: 1.05rem; line-height: 1.3; margin: 0; }
.wzf .book__title a { text-decoration: none; color: var(--wzf-ink); }
.wzf .book__title a:hover { color: var(--wzf-accent); }
.wzf .book__author { margin: 0; font-size: .9rem; color: var(--wzf-text); }

.wzf-buy, .wzf .wzf-buy {
  display: inline-flex; align-items: center; gap: .15em; margin-top: .4rem; padding: .55em 1.1em; border-radius: 999px; text-decoration: none;
  background: var(--wzf-ink); color: #fff; font-size: .85rem; font-weight: 500; line-height: 1.2; transition: background .2s, transform .2s var(--wzf-ease);
}
.wzf-buy:hover { background: var(--wzf-accent); color: #fff; transform: translateY(-1px); }
.wzf-buy__star { color: #8fe3c1; }

.wzf-aff-note, .wzf .wzf-aff-note { font-size: .78rem; color: var(--wzf-text); text-decoration: none; white-space: nowrap; }
.wzf-aff-note:hover { color: var(--wzf-accent); text-decoration: underline; }
.wzf .wzf-aff-line { margin: .5rem 0; }
.wzf .book__excerpt { margin: .2rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--wzf-text-2); }
.wzf .book__buy { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .7rem; margin: .3rem 0 0; }
.wzf .book__buy .wzf-buy { margin-top: 0; }
.wzf .book-single__buy { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }

.wzf .book-single__grid { display: grid; grid-template-columns: minmax(220px, 340px) 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; padding-block: 1rem 2rem; }
@media (max-width: 760px) { .wzf .book-single__grid { grid-template-columns: 1fr; } .wzf .book-single__cover { max-width: 250px; margin: 0 auto; } }
.wzf .book-3d { --cover: var(--wzf-accent); position: relative; aspect-ratio: 2 / 3; perspective: 1200px; }
.wzf .book-3d__front {
  position: absolute; inset: 0; overflow: hidden; border-radius: 4px 12px 12px 4px; background: var(--cover);
  box-shadow: inset 6px 0 0 rgb(0 0 0 / .2), 30px 30px 60px -20px rgb(16 24 20 / .45);
  transform: rotateY(var(--ry, -16deg)) rotateX(var(--rx, 4deg)); transition: transform .25s ease-out;
}
.wzf .book-3d__front img { width: 100%; height: 100%; object-fit: cover; }
.wzf .book-3d .book__fake-title { font-size: clamp(1.4rem, 3vw, 2rem); }
.wzf .book-3d .book__fake-author { font-size: .75rem; }
.wzf .article__title { font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.1; margin: 0 0 .3em; }
.wzf .book-single__subtitle { font-size: 1.25rem; font-style: italic; }
.wzf .book-single__author { font-size: 1.05rem; }
.wzf .book-single__author a { color: var(--wzf-accent); }
.wzf .book-single__verdict { margin: 1.5rem 0; padding: 1.2rem 1.4rem; border-left: 4px solid var(--wzf-accent); border-radius: 0 var(--wzf-radius) var(--wzf-radius) 0; background: #fff; font-size: 1.15rem; line-height: 1.55; color: var(--wzf-ink); }
.wzf .book-single__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.wzf .book-single__buy .wzf-buy { margin: 0; padding: .95em 1.7em; font-size: 1rem; }
.wzf .see-also { padding: 1rem 1.2rem; border-radius: 12px; background: #fff; border: 1px solid var(--wzf-line); }
.wzf .see-also a { color: var(--wzf-accent); }

.wzf .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; margin: 1.5rem 0; background: var(--wzf-line); border: 1px solid var(--wzf-line); border-radius: 12px; overflow: hidden; }
.wzf .facts div { background: #fff; padding: .8rem 1rem; }
.wzf .facts dt { margin: 0 0 .3rem; font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wzf-meta); }
.wzf .facts dd { margin: 0; font-weight: 500; color: var(--wzf-ink); }

/* ---------- Glossar ---------- */
.wzf .glossary-mini { margin: 0; display: grid; border-top: 1px solid var(--wzf-line); }
.wzf .glossary-mini > div { display: grid; grid-template-columns: 13rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--wzf-line); }
@media (max-width: 600px) { .wzf .glossary-mini > div { grid-template-columns: 1fr; gap: .2rem; } }
.wzf .glossary-mini dt { font-weight: 600; font-size: 1.1rem; }
.wzf .glossary-mini dt a { color: var(--wzf-ink); text-decoration: none; }
.wzf .glossary-mini dt a:hover { color: var(--wzf-accent); }
.wzf .glossary-mini dd { margin: 0; }
.wzf .glossary-tools { position: sticky; top: calc(var(--fixed-rows-height, 0px) + 12px); z-index: 5; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-bottom: 2rem; padding: .8rem; border: 1px solid var(--wzf-line); border-radius: var(--wzf-radius); background: rgb(255 255 255 / .9); backdrop-filter: blur(10px); }
.wzf .glossary-tools .input { max-width: 320px; margin: 0; }
.wzf .alphabet { display: grid; grid-template-columns: repeat(13, 1fr); gap: 6px; }
.wzf .alphabet--small { display: flex; flex-wrap: wrap; gap: 4px; }
.wzf .alphabet__letter { display: grid; place-items: center; min-width: 34px; aspect-ratio: 1; border-radius: 10px; border: 1px solid var(--wzf-line); background: #fff; color: var(--wzf-ink); font-weight: 600; text-decoration: none; transition: all .25s var(--wzf-ease); }
.wzf a.alphabet__letter:hover { background: var(--wzf-accent); border-color: var(--wzf-accent); color: #fff; transform: translateY(-3px) rotate(-3deg); }
.wzf .glossary__group { display: grid; grid-template-columns: 5rem 1fr; gap: 1.5rem; padding-block: 1.5rem; border-top: 1px solid var(--wzf-line); }
.wzf .glossary__letter { margin: 0; font-size: 3rem; line-height: 1; color: var(--wzf-accent); position: sticky; top: 140px; align-self: start; }
.wzf .glossary__group dl { margin: 0; display: grid; gap: 1.5rem; }
.wzf .glossary__item dt { margin-bottom: .3rem; font-size: 1.25rem; font-weight: 600; }
.wzf .glossary__item dt a { color: var(--wzf-ink); text-decoration: none; }
.wzf .glossary__item dt a:hover { color: var(--wzf-accent); }
.wzf .glossary__item dd { margin: 0; }
.wzf [hidden] { display: none !important; }
@media (max-width: 600px) { .wzf .glossary__group { grid-template-columns: 1fr; gap: .5rem; } .wzf .glossary__letter { position: static; font-size: 2.2rem; } }

/* ---------- Zitate ---------- */
/* Zitate als Raster: Reihenfolge von links nach rechts, Karten einer Reihe gleich hoch */
.wzf .quotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 1.6rem; }
.wzf .quote-card { display: flex; flex-direction: column; margin: 0; padding: 1.8rem; border-radius: var(--wzf-radius); border: 1px solid var(--wzf-line); background: #fff; transition: transform .4s var(--wzf-ease), box-shadow .4s; }
.wzf .quote-card:hover { transform: translateY(-4px) rotate(-.4deg); box-shadow: var(--wzf-shadow-lg); }
.wzf .quote-card > .icon { width: 30px; height: 30px; margin-bottom: .8rem; color: var(--wzf-accent); }
.wzf .quote-card blockquote { margin: 0 0 1rem; padding: 0; border: 0; background: none; font-size: 1.2rem; line-height: 1.5; font-style: italic; color: var(--wzf-ink); }
.wzf .quote-card blockquote::before { display: none; }
.wzf .quote-card blockquote a { color: inherit; text-decoration: none; }
.wzf .quote-card blockquote p { margin: 0; padding: 0 !important; background: none !important; border-radius: 0 !important; box-shadow: none !important; overflow: visible; }
.wzf .quote-card blockquote { padding-left: .1em; }
.wzf .quote-card figcaption { margin-top: auto; padding: 0 !important; text-align: left; }
.wzf .quote-card figcaption { font-size: .85rem; font-weight: 600; color: var(--wzf-accent); }
.wzf .quote-card figcaption a { color: inherit; }
.wzf .quote-card cite { display: block; font-weight: 400; color: var(--wzf-meta); }
.wzf .quote-source { font-weight: 600; color: var(--wzf-accent); }

.wzf-quote-band { position: relative; overflow: hidden; padding: clamp(48px, 8vw, 96px) clamp(20px, 6vw, 80px); border-radius: 28px; background: var(--wzf-dark); color: #e9f3ee; text-align: center; }
.wzf-quote-band::before { content: "„"; position: absolute; top: -.2em; left: 4%; font-size: 20rem; line-height: 1; color: var(--wzf-accent); opacity: .18; pointer-events: none; }
.wzf .quote-rotator { display: grid; min-height: 11rem; align-items: center; }
.wzf .quote-rotator__item { grid-area: 1 / 1; margin: 0; opacity: 0; transform: translateY(16px); transition: opacity .8s var(--wzf-ease), transform .8s var(--wzf-ease); pointer-events: none; }
.wzf .quote-rotator__item.is-active { opacity: 1; transform: none; pointer-events: auto; }
.wzf .quote-rotator blockquote { margin: 0 0 1.2rem; padding: 0; border: 0; background: none; color: #fff; font-size: clamp(1.4rem, 3.2vw, 2.3rem); line-height: 1.35; font-style: italic; }
.wzf .quote-rotator blockquote::before { display: none; }
.wzf .quote-rotator blockquote p { margin: 0; color: inherit; }
.wzf .quote-rotator figcaption { font-size: .85rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8fe3c1; }
.wzf-quote-band .link-arrow { margin-top: 2rem; }

/* ---------- Termine ---------- */
.wzf .events { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.wzf .events li::before { display: none; }
.wzf .event { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: center; margin: 0; padding: 1rem; border-radius: var(--wzf-radius); border: 1px solid var(--wzf-line); background: #fff; transition: border-color .3s, transform .3s var(--wzf-ease); }
.wzf .event:hover { border-color: var(--wzf-accent); transform: translateX(4px); }
.wzf .event__date { display: grid; place-items: center; align-content: center; width: 74px; height: 74px; border-radius: 14px; background: var(--wzf-accent); color: #fff; text-align: center; }
.wzf .event__day { font-size: 1.8rem; font-weight: 600; line-height: 1; }
.wzf .event__month { font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.wzf .event__title { margin: 0 0 .2rem; font-size: 1.2rem; }
.wzf .event__title a { color: var(--wzf-ink); text-decoration: none; }
.wzf .events--past .event__date { background: var(--wzf-line); color: var(--wzf-text-2); }

/* ---------- Medien & Memes ---------- */
.wzf .grid { display: grid; gap: clamp(20px, 2.5vw, 30px); }
.wzf .grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.wzf .card { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--wzf-radius); border: 1px solid var(--wzf-line); background: #fff; transition: transform .4s var(--wzf-ease), box-shadow .4s var(--wzf-ease); }
.wzf .card:hover { transform: translateY(-6px); box-shadow: var(--wzf-shadow-lg); }
.wzf .card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, var(--wzf-soft), #fff); }
.wzf .card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--wzf-ease); }
.wzf .card:hover .card__media img { transform: scale(1.06); }
.wzf .card__placeholder { display: grid; place-items: center; height: 100%; color: var(--wzf-accent); }
.wzf .card__placeholder .icon { width: 40px; height: 40px; opacity: .25; }
.wzf .card__play { position: absolute; inset: 0; margin: auto; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--wzf-accent); color: #fff; box-shadow: 0 10px 24px -8px var(--wzf-accent); transition: transform .35s var(--wzf-ease); }
.wzf .card__play .icon { width: 24px; height: 24px; fill: currentColor; margin-left: 3px; }
.wzf .card:hover .card__play { transform: scale(1.12); }
.wzf .card__body { padding: 1.2rem 1.4rem 1.4rem; }
.wzf .card__title { margin: 0 0 .4rem; font-size: 1.2rem; line-height: 1.3; }
.wzf .card__title a { color: var(--wzf-ink); text-decoration: none; }
.wzf .card__title a::after { content: ""; position: absolute; inset: 0; }
.wzf .masonry { columns: 3 260px; column-gap: 1.2rem; }
.wzf .meme { position: relative; display: block; break-inside: avoid; margin-bottom: 1.2rem; overflow: hidden; border-radius: var(--wzf-radius); box-shadow: var(--wzf-shadow); }
.wzf .meme img { width: 100%; transition: transform .7s var(--wzf-ease); }
.wzf .meme:hover img { transform: scale(1.04); }
.wzf .meme__title { position: absolute; inset: auto 0 0; padding: 2rem 1rem .9rem; background: linear-gradient(transparent, rgb(16 24 20 / .8)); color: #fff; font-weight: 600; opacity: 0; transform: translateY(8px); transition: all .35s var(--wzf-ease); }
.wzf .meme:hover .meme__title { opacity: 1; transform: none; }
.wzf .meme-full img { margin-inline: auto; border-radius: var(--wzf-radius); }
.wzf .consent-embed { display: grid; aspect-ratio: 16 / 9; margin: 0 0 1.5rem; overflow: hidden; border-radius: var(--wzf-radius); background: var(--wzf-dark); color: #e9f3ee; }
.wzf .consent-embed__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 2rem; text-align: center; font-size: .95rem; }
.wzf .consent-embed__placeholder > .icon { width: 48px; height: 48px; color: #8fe3c1; fill: currentColor; }
.wzf .consent-embed__placeholder p { max-width: 440px; margin: 0; color: #c9d6cf; }
.wzf .consent-embed__placeholder strong { color: #fff; }
.wzf .consent-embed .link-arrow { color: #8fe3c1; }
.wzf .consent-embed iframe { width: 100%; height: 100%; border: 0; }
.wzf .lead { font-size: 1.2rem; line-height: 1.6; color: var(--wzf-ink); }
.wzf-back { margin-top: 2.5rem; }
.wzf-back a { font-weight: 500; }

/* ---------- Pagination in Rubriken ---------- */
.wzf .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin-top: 2.5rem; }
.wzf .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .9rem; border-radius: 999px; border: 1px solid var(--wzf-line); background: #fff; color: var(--wzf-ink); text-decoration: none; }
.wzf .page-numbers.current, .wzf a.page-numbers:hover { background: var(--wzf-accent); border-color: var(--wzf-accent); color: #fff; }

/* ==========================================================================
   Effekte für die bestehenden Elementra-Seiten (dezent, respektieren „weniger Bewegung“)
   ========================================================================== */

/* Lesefortschritt in Beiträgen */
.wzf-progress { position: fixed; inset: 0 0 auto; z-index: 100001; height: 3px; pointer-events: none; }
.wzf-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--wzf-accent), #8fe3c1); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); }

/* Blog- und Personen-Kacheln: anheben, Bild zoomt */
.post_item .post_featured, .sc_blogger_item .post_featured, .trx_addons_posts_item .post_featured { overflow: hidden; }
.post_item .post_featured img, .sc_blogger_item .post_featured img { transition: transform 1s var(--wzf-ease), filter .6s; }
.post_item:hover .post_featured img, .sc_blogger_item:hover .post_featured img { transform: scale(1.06); }
.post_layout_band, .post_layout_classic, .sc_blogger_item { transition: transform .45s var(--wzf-ease); }
.post_layout_classic:hover, .sc_blogger_item:hover { transform: translateY(-4px); }

/* Bilder in Elementor-Abschnitten: weicher Zoom beim Überfahren, wenn sie verlinkt sind */
.elementor-widget-image a { display: block; overflow: hidden; border-radius: inherit; }
.elementor-widget-image a img { transition: transform .9s var(--wzf-ease); }
.elementor-widget-image a:hover img { transform: scale(1.04); }

/* Einblenden beim Scrollen (nur eigene Bausteine – Elementor hat eigene Animationen) */
.js .wzf .reveal, .js .wzf.reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--wzf-ease), transform .9s var(--wzf-ease); transition-delay: var(--d, 0s); }
.js .wzf .reveal.is-visible, .js .wzf.reveal.is-visible { opacity: 1; transform: none; }

@keyframes wzf-pop { from { opacity: 0; transform: translateY(-12px) scale(.98); } }
@keyframes wzf-fade { from { opacity: 0; } }
@keyframes wzf-drift { to { transform: translate(40px, 30px) scale(1.15); } }

@media (prefers-reduced-motion: reduce) {
  .wzf *, .wzf-search-dialog, .wzf-search-band::before, .wzf-search-band::after { animation: none !important; transition: none !important; }
  .js .wzf .reveal { opacity: 1; transform: none; }
}

/* Hauptmenü: Pfeil der Untermenüs bleibt neben dem Text (bei mehr Menüpunkten brach er sonst um) */
.trx-addons-main-nav-menu > li > a .trx-addons-menu-link-text { white-space: nowrap; }

/* Logo: Seitenverhältnis halten. Das width-Attribut des Bildes und max-width:100% der Spalte
   stauchten den Schriftzug, sobald die Höhe per max-height begrenzt war. */
.sc_layouts_logo img.logo_image { width: auto; height: auto; max-width: 100%; object-fit: contain; object-position: left center; }

/* Videos & Podcasts: Kopf der Einzelseite mit Kanalbild statt Player */
.wzf .medium-head { display: grid; grid-template-columns: minmax(200px, 300px) 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; margin: 0 0 2.5rem; }
.wzf .medium-head__img { overflow: hidden; aspect-ratio: 1; border-radius: 24px; background: var(--wzf-soft); box-shadow: 0 30px 60px -30px rgba(16, 24, 20, .45); }
.wzf .medium-head__img img { width: 100%; height: 100%; object-fit: cover; }
.wzf .medium-head__kanal { margin: .2rem 0 .8rem; font-size: 1.05rem; font-weight: 600; color: var(--wzf-ink); }
.wzf .medium-head__lead { margin: 0 0 1.4rem; font-size: 1.2rem; line-height: 1.55; color: var(--wzf-ink); }
.wzf .medium-head .wzf-btn .icon { width: 18px; margin-left: .4em; }
.wzf .medium-head .meta { margin: .6rem 0 0; font-size: .8rem; }
@media (max-width: 640px) { .wzf .medium-head { grid-template-columns: 1fr; } .wzf .medium-head__img { max-width: 240px; } }
/* Übersicht: quadratische Cover nicht anschneiden, sondern auf unscharfem Grund zeigen */
.wzf .card--media .card__media { background: var(--wzf-ink); }
.wzf .card--media .card__media img { object-fit: contain; }
.wzf .card--media .card__media::before { content: ""; position: absolute; inset: -20px; background: var(--bg) center / cover; filter: blur(24px) brightness(.7); }
.wzf .card--media .card__media img, .wzf .card--media .card__play { position: relative; }
.wzf .card--media .card__play { position: absolute; }

/* Hauptmenü: alle Untermenüs im selben ruhigen Kartenstil, Beschreibung unter dem Link */
.trx-addons-nav-menu .trx-addons-submenu {
  min-width: 300px; padding: 10px !important; border-radius: 18px; border: 1px solid var(--wzf-line, #dde9e1);
  background: #fff; box-shadow: 0 24px 50px -24px rgba(16, 24, 20, .35);
}
.trx-addons-nav-menu .trx-addons-submenu a { display: block; padding: 10px 14px !important; border-radius: 12px; white-space: normal; transition: background .2s; }
.trx-addons-nav-menu .trx-addons-submenu a:hover { background: var(--wzf-soft, #f3ebdd); }
.wzf-menu-desc { display: block; margin-top: 2px; font-size: .8rem; font-weight: 400; line-height: 1.35; color: var(--wzf-text, #6b7770); }
@media (max-width: 1024px) { .wzf-menu-desc { display: none; } }
.sc_layouts_menu_mobile .wzf-menu-desc, .menu_mobile .wzf-menu-desc, .trx-addons-mobile-menu .wzf-menu-desc { display: none; }

/* Logo-Raster (Parteien und Vereine, Wettbewerb der Ideen): alle Logos in gleich hohen Feldern, mittig und unverzerrt */
:is(.page-id-4278, .page-id-4726) .elementor-widget-image .elementor-widget-container {
  display: flex; align-items: center; justify-content: center; height: 190px; padding: 20px; box-sizing: border-box;
}
:is(.page-id-4278, .page-id-4726) .elementor-widget-image img {
  width: auto !important; height: auto !important; max-width: 88%; max-height: 150px; object-fit: contain;
}

/* Bücherregal: Titel, Text und Button sitzen in jeder Karte auf gleicher Höhe */
.wzf .shelf--archive .book { height: 100%; }
.wzf .shelf--archive .book__info { flex: 1; }
.wzf .shelf--archive .book__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.wzf .shelf--archive .book__excerpt { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; min-height: 6em; }
.wzf .shelf--archive .book__buy { margin-top: auto; padding-top: .6rem; }
.wzf [data-terms][hidden] { display: none !important; }

/* Weniger Leerraum unter dem Menü; Seiten mit Banner beginnen direkt darunter */
body:not(.home) .page_content_wrap { padding-top: clamp(28px, 4vw, 56px); }
body.wzf-has-banner .page_content_wrap { padding-top: 0; }

/* Banner im Seitenkopf: Bild über die volle Breite, Text auf der hellen linken Bildhälfte */
.wzf .page-head--banner {
  display: flex; align-items: center; width: 100vw; margin: 0 0 clamp(1.5rem, 3vw, 2.5rem) calc(50% - 50vw); min-height: clamp(320px, 32vw, 500px);
  padding: clamp(36px, 5vw, 64px) 0; box-sizing: border-box;
  background: linear-gradient(90deg, rgba(255, 252, 245, .96) 0%, rgba(255, 252, 245, .85) 32%, rgba(255, 252, 245, 0) 62%), var(--banner) right center / cover no-repeat;
}
.wzf .page-head--banner .wrap { width: min(1290px, 100% - 2 * clamp(16px, 4vw, 48px)); margin-inline: auto; }
.wzf .page-head--banner .page-head__lead { max-width: 520px; }
@media (max-width: 760px) {
  .wzf .page-head--banner { min-height: 0; padding-top: 220px; background: linear-gradient(180deg, rgba(255, 252, 245, 0) 0, rgba(255, 252, 245, 0) 180px, #fffcf5 260px), var(--banner) 70% 0 / auto 260px no-repeat; }
}

/* Blog-Übersicht */
.wzf .blog-index__tools { display: grid; gap: 1.2rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.wzf .blog-index__tools .wzf-hero-search { width: 100%; max-width: 760px; margin: 0; }
.wzf .grid--blog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wzf .grid--blog .card--lg { grid-column: span 2; grid-row: span 2; }
.wzf .card--post .card__body { display: flex; flex-direction: column; flex: 1; }
.wzf .card--post .card__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wzf .card--post .card__text { margin: 0 0 .8rem; font-size: .95rem; line-height: 1.55; color: var(--wzf-text-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wzf .card--post .meta { margin-top: auto; font-size: .82rem; }
.wzf .card--post .eyebrow { display: flex; gap: .5rem; align-items: center; margin: 0 0 .5rem; }
.wzf .card--post:hover { transform: translateY(-5px); box-shadow: 0 26px 50px -28px rgba(16, 24, 20, .4); }
.wzf .card--post:hover .card__media img { transform: scale(1.05); }
.wzf .card--lg .card__media { aspect-ratio: 16 / 9; }
.wzf .card--lg .card__title { font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.15; }
.wzf .card--lg .card__text { -webkit-line-clamp: 4; font-size: 1.05rem; }
@media (max-width: 1024px) { .wzf .grid--blog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .wzf .grid--blog { grid-template-columns: 1fr; } .wzf .grid--blog .card--lg { grid-column: auto; grid-row: auto; } }
.wzf .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 3rem; }
.wzf .nav-links .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--wzf-line); background: #fff; color: var(--wzf-ink); text-decoration: none; }
.wzf .nav-links .page-numbers.current, .wzf .nav-links a.page-numbers:hover { background: var(--wzf-accent); border-color: var(--wzf-accent); color: #fff; }

/* Suchfeld der Seitenleiste: Lupe als runder Knopf im Feld statt grüner Fläche darunter */
.sidebar .search_form, .elementor-widget-trx_sc_layouts_search .search_form { position: relative; display: block; }
.sidebar .search_form .search_field, .elementor-widget-trx_sc_layouts_search .search_form .search_field { width: 100%; padding-right: 56px !important; border-radius: 999px; }
.sidebar .search_form .search_submit, .elementor-widget-trx_sc_layouts_search .search_form .search_submit {
  position: absolute; top: 50%; right: 6px; transform: translateY(-50%); display: grid; place-items: center;
  width: 40px; height: 40px; min-width: 0; margin: 0; padding: 0; border-radius: 50%; background: var(--wzf-accent); color: #fff;
}
.sidebar .search_form .search_submit svg, .elementor-widget-trx_sc_layouts_search .search_form .search_submit svg { width: 16px; height: 16px; fill: currentColor; }

/* Startseite beginnt direkt unter dem Menü; Kopfzeile am Handy mit Seitenrand */
body.home .page_content_wrap { padding-top: 0; }
@media (max-width: 1024px) { .top_panel .elementor-element-3594cfa { padding-left: 16px !important; padding-right: 16px !important; } }
/* Personen: die alte Überschrift steht jetzt im Banner */
.page-id-3735 .elementor-element-98c0621 { display: none; }


/* Social Media: alte Überschrift steht jetzt im Banner; jede Plattform-Kachel ist als Ganzes klickbar */
.page-id-2508 .elementor-element-fbfbd1f { display: none; }
.page-id-2508 .e-con:has(> .e-con > .elementor-widget-trx_elm_icon_list) {
  position: relative; border-radius: 22px; transition: transform .4s var(--wzf-ease), box-shadow .4s var(--wzf-ease), background .3s;
}
.page-id-2508 .e-con:has(> .e-con > .elementor-widget-trx_elm_icon_list):hover { transform: translateY(-5px); box-shadow: 0 26px 50px -28px rgba(16, 24, 20, .4); background: #fff; }
.page-id-2508 .elementor-widget-trx_elm_icon_list a { position: static; display: inline-flex; align-items: center; gap: .4em; padding: .55em 1.1em; border-radius: 999px; background: var(--wzf-accent); color: #fff !important; font-weight: 600; text-decoration: none; }
.page-id-2508 .elementor-widget-trx_elm_icon_list a::after { content: "→"; }
.page-id-2508 .elementor-widget-trx_elm_icon_list a::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.page-id-2508 .e-con:has(> .e-con > .elementor-widget-trx_elm_icon_list):hover .elementor-widget-trx_elm_icon_list a { background: var(--wzf-accent-2); }

/* Footer: mildes Grün als Grund, großer Schriftzug in dunklem Grün */
.elementor-21 .elementor-element-3e47ea5 { background-color: #e3efe7 !important; }
.elementor-21 .trx_addons_bg_text, .elementor-21 .trx_addons_bg_text_char { color: #1f4d3a; }
.page-id-2508 .e-con:has(> .e-con > .elementor-widget-trx_elm_icon_list) > .e-con,
.page-id-2508 .elementor-widget-trx_elm_icon_list,
.page-id-2508 .elementor-widget-trx_elm_icon_list .trx-addons-icon-list-item { position: static !important; }
.page-id-2508 .elementor-widget-trx_elm_icon_list a, .page-id-2508 .elementor-widget-trx_elm_icon_list a * { color: #fff !important; }

/* Zitate: hell im Sand-Ton statt dunkler Fläche; Elementras weißer Zitat-Hintergrund ausgeschaltet */
.wzf-quote-band { background: var(--wzf-soft); color: var(--wzf-ink); }
.wzf-quote-band::before { color: var(--wzf-accent); opacity: .22; }
.wzf .quote-rotator blockquote, .wzf .quote-rotator blockquote p {
  background: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; color: var(--wzf-ink) !important;
}
.wzf .quote-rotator blockquote { font-style: normal; font-weight: 500; letter-spacing: -.01em; max-width: 900px; margin-inline: auto; }
.wzf .quote-rotator figcaption { color: var(--wzf-accent-2); }
.wzf-quote-band .link-arrow, .wzf-quote-band .link-arrow--light { color: var(--wzf-accent-2) !important; }
.wzf .quote-rotator blockquote, .wzf .quote-rotator blockquote p { text-align: center; }
.wzf .quote-rotator__item { transition: opacity .35s ease, transform .35s ease; }
.wzf .quote-rotator__item.is-active { transition: opacity .8s var(--wzf-ease) .35s, transform .8s var(--wzf-ease) .35s; }

/* „Was ist der Weg zur Freiheit?“: Karten, Badges, Checkliste, Kontaktkasten */
.wzf-about-lead { font-size: 1.25rem; line-height: 1.6; color: var(--wzf-ink); }
.wzf-about-pull { margin: 2rem 0; padding-left: 1.2rem; border-left: 4px solid var(--wzf-accent); font-size: 1.5rem; line-height: 1.35; font-weight: 500; color: var(--wzf-ink); }
.wzf-about-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 18px; margin: 1.5rem 0 2rem; }
.wzf-about-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.wzf-about-card { display: flex; flex-direction: column; padding: 1.5rem 1.6rem; border-radius: 20px; border: 1px solid var(--wzf-line); background: #fff; transition: transform .4s var(--wzf-ease), box-shadow .4s var(--wzf-ease); }
.wzf-about-card:hover { transform: translateY(-4px); box-shadow: var(--wzf-shadow-lg); }
.wzf-about-card h4 { margin: 0 0 .6rem; font-size: 1.15rem; line-height: 1.3; }
.wzf-about-card p { margin: 0 0 .8rem; font-size: .97rem; line-height: 1.6; }
.wzf-about-names { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto !important; }
.wzf-about-names span { padding: .2em .65em; border-radius: 999px; background: var(--wzf-soft); color: var(--wzf-soft-ink); font-size: .8rem; }
.wzf-about-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1rem; border-radius: 14px; background: var(--wzf-soft); color: var(--wzf-accent); }
.wzf-about-icon svg { width: 24px; height: 24px; }
.wzf-about-more { margin-top: auto; font-weight: 600; color: var(--wzf-accent); text-decoration: none; }
.wzf-about-more:hover { color: var(--wzf-accent-2); text-decoration: underline; }
.wzf-about-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.wzf-about-badges li { margin: 0; padding: .55em 1.1em .55em 2.2em; border-radius: 999px; background: #e3efe7; color: #1f4d3a; font-weight: 600; position: relative; }
.wzf-about-badges li::before { content: "✓"; position: absolute; left: .9em; color: var(--wzf-accent); }
.wzf-about-check { display: grid; gap: 10px; margin: 1.2rem 0 2.5rem; padding: 0; list-style: none; }
.wzf-about-check li { margin: 0; padding: .9rem 1.1rem .9rem 3rem; border-radius: 14px; background: #fff; border: 1px solid var(--wzf-line); position: relative; line-height: 1.55; }
.wzf-about-check li::before { content: "✓"; position: absolute; left: 1.1rem; top: .85rem; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--wzf-accent); color: #fff; font-size: .75rem; font-weight: 700; }
.wzf-about-cta { margin: 2.5rem 0; padding: clamp(1.6rem, 4vw, 2.6rem); border-radius: 24px; background: var(--wzf-soft); }
.wzf-about-cta h2 { margin-top: 0; }
.wzf-about-cta__buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.2rem 0 0; }
.wzf-about-ghost { display: inline-flex; align-items: center; padding: 14px 24px; border-radius: 999px; border: 1px solid var(--wzf-soft-ink); color: var(--wzf-soft-ink); font-weight: 500; text-decoration: none; }
.wzf-about-ghost:hover { background: var(--wzf-soft-ink); color: #fff; }
.wzf-about-quote { margin: 3rem 0 1rem; padding: 0 !important; border: 0 !important; background: none !important; text-align: center; }
.wzf-about-quote p { font-size: clamp(1.3rem, 2.4vw, 1.8rem) !important; line-height: 1.4; font-weight: 500; color: var(--wzf-ink) !important; background: none !important; padding: 0 !important; }
.wzf-about-quote cite { display: block; margin-top: .8rem; font-style: normal; font-weight: 600; color: var(--wzf-accent-2); }
.wzf-legal-stand { margin-top: 2.5rem; font-size: .85rem; color: var(--wzf-meta); }

/* Beitragskarten: ungeschnittenes Bild, Ausschnitt eher oben, damit Köpfe in Porträts sichtbar bleiben */
.wzf .card--post .card__media img { object-position: 50% 22%; }

/* Termine: Hinweis auf weitere Kalender */
.wzf .wzf-termin-quellen { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 2.2rem; padding: 1.2rem 1.4rem; border-radius: 20px; background: var(--wzf-soft); }
.wzf .wzf-termin-quellen p { flex-basis: 100%; margin: 0 0 .2rem; color: var(--wzf-soft-ink); font-weight: 500; }

/* Autoren-Karussell (Startseite, Autorenseite): Text oben, Foto und Name immer auf gleicher Höhe unten */
.trx-addons-testimonials-container.swiper-slide { height: auto; }
.trx-addons-testimonials-content-wrapper { display: flex; flex-direction: column; height: 100%; }
.trx-addons-testimonials-content-wrapper .trx-addons-testimonials__img-info { margin-top: auto; padding-top: 1.2rem; }
.swiper-wrapper:has(> .trx-addons-testimonials-container) { align-items: stretch !important; }

/* Kontakt: Infospalte und Formular nebeneinander */
.wzf-kontakt { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; margin: 1rem 0 3rem; }
.wzf-kontakt__info { padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 24px; background: var(--wzf-soft); }
.wzf-kontakt__info h2 { margin-top: 0; }
.wzf-kontakt__wege { display: grid; gap: 1rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.wzf-kontakt__wege li { display: flex; gap: 1rem; margin: 0; }
.wzf-kontakt__wege .wzf-about-icon { flex-shrink: 0; margin: 0; background: #fff; }
.wzf-kontakt__wege strong { display: block; color: var(--wzf-ink); }
.wzf-kontakt__wege span { font-size: .95rem; line-height: 1.5; }
.wzf-kontakt__hinweis { margin: 0; font-size: .85rem; color: var(--wzf-soft-ink); }
.wzf-kontakt__form { padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 24px; border: 1px solid var(--wzf-line); background: #fff; }
.wzf-kontakt__form input:not([type=checkbox]):not([type=radio]), .wzf-kontakt__form textarea { border-radius: 14px !important; border: 1px solid var(--wzf-line) !important; background: #fffcf5 !important; }
.wzf-kontakt__form input:focus, .wzf-kontakt__form textarea:focus { border-color: var(--wzf-accent) !important; box-shadow: 0 0 0 4px color-mix(in srgb, var(--wzf-accent) 14%, transparent) !important; }
.wzf-kontakt__form button[type=submit], .wzf-kontakt__form .metform-btn { border-radius: 999px !important; background: var(--wzf-accent) !important; color: #fff !important; padding: 14px 30px !important; }
@media (max-width: 860px) { .wzf-kontakt { grid-template-columns: 1fr; } }

/* Social-Media-Unterseiten: Kanäle als Karten mit Profilbild */
.wzf-kanal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; margin: 1.2rem 0 2.5rem; }
.wzf-kanal { position: relative; display: flex; gap: 1rem; align-items: flex-start; padding: 1.2rem 1.3rem; border-radius: 20px; border: 1px solid var(--wzf-line); background: #fff; transition: transform .4s var(--wzf-ease), box-shadow .4s var(--wzf-ease), border-color .3s; }
.wzf-kanal:hover { transform: translateY(-4px); box-shadow: var(--wzf-shadow-lg); border-color: color-mix(in srgb, var(--wzf-accent) 35%, transparent); }
.wzf-kanal__img { flex-shrink: 0; display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border-radius: 50%; background: var(--wzf-soft); }
.wzf-kanal__img img { width: 100%; height: 100%; object-fit: cover; margin: 0 !important; }
.wzf-kanal__initialen { font-weight: 700; font-size: 1.15rem; color: var(--wzf-accent-2); letter-spacing: .02em; }
.wzf-kanal__body { min-width: 0; }
.wzf-kanal__name { margin: 0 !important; font-size: 1.08rem !important; line-height: 1.3; }
.wzf-kanal__name a { color: var(--wzf-ink); text-decoration: none; }
.wzf-kanal__name a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.wzf-kanal__handle { display: block; margin: .15rem 0 .5rem; font-size: .82rem; color: var(--wzf-accent-2); word-break: break-all; }
.wzf-kanal__body p { margin: 0; font-size: .93rem; line-height: 1.55; }
.wzf-kanal__body p a { position: relative; z-index: 1; }

/* Bagus-Sammelseite: ganze Karte klickbar, Hinweis am Ende des Porträts */
.wzf .card--extern .card__title a::after { content: ""; position: absolute; inset: 0; }
.wzf .card--extern .card__body { display: flex; flex-direction: column; height: 100%; }
.wzf .card--extern .card__more { margin-top: auto; padding-top: .6rem; }
.wzf .bagus-quelle { margin-top: 2.4rem; text-align: center; }
.wzf-bagus-hinweis { margin: 2.5rem 0 0; padding: 1.6rem 1.8rem; border-radius: var(--wzf-radius); background: var(--wzf-soft); }
.wzf-bagus-hinweis p:not(.kicker) { color: var(--wzf-soft-ink); }
.wzf-bildnachweis { margin-top: 2rem; font-size: .8rem; color: var(--wzf-meta); }
.wzf-bildnachweis a { color: inherit; text-decoration: underline; }

/* Beitragsbild in Beiträgen: auf größeren Bildschirmen als flaches Band statt bildschirmhoch, Gesichter bleiben im Ausschnitt */
@media (min-width: 768px) {
  body.single-post .post_featured.with_thumb img { width: 100%; height: clamp(300px, 34vw, 440px); object-fit: cover; object-position: center 18%; }
}
@media (max-width: 767px) {
  body.single-post .post_featured.with_thumb img { max-height: 70vh; object-fit: cover; object-position: center 28%; }
}
/* Hochformat-Fotos (z. B. echte Porträtfotos) nicht anschneiden, sondern ganz zeigen, mit Sandfläche daneben */
@media (min-width: 768px) {
  body.single-post .post_featured.with_thumb img.is-hochformat { object-fit: contain; background: var(--wzf-soft); }
}

/* Beitragslisten im Theme (Kategorie-, Archiv- und Suchseiten): gleiches flaches Band, Köpfe bleiben im Bild */
body.archive .post_layout_classic .post_featured.with_thumb img,
body.search .post_layout_classic .post_featured.with_thumb img { width: 100%; height: clamp(220px, 30vw, 400px); object-fit: cover; object-position: center 18%; }

/* Personen A bis Z: alle Vorschaubilder quadratisch, egal ob KI-Bild (1:1) oder Foto im Querformat; Köpfe bleiben im Ausschnitt */
.trx-addons-posts-item-thumbnail img { width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; object-position: center 22%; }
