/* Verbindet Generationen – Markenlayer „Jahresringe“ für Avada */

:root {
  --vg-green: #2E4F3E;
  --vg-green-light: #3B6250;
  --vg-night: #1E2A24;
  --vg-ochre: #CF9A45;
  --vg-ochre-dark: #C08A37;
  --vg-ochre-text: #8C6320;
  --vg-linen: #F3EEE2;
  --vg-linen-dark: #E4DCCB;
  --vg-paper: #FBF8F1;
  --vg-sage: #A9BBA0;
  --vg-muted: #5C6861;
  --vg-rule: #DCD4C4;
  --vg-radius: 16px;
  --vg-shadow: 0 1px 0 rgba(30, 42, 36, .06), 0 22px 48px -28px rgba(30, 42, 36, .38);
  --vg-font-head: "VG Fraunces", Georgia, serif;
  --vg-font-body: "VG Source Sans", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--vg-sage); color: var(--vg-night); }
[id] { scroll-margin-top: 110px; }
a:focus-visible, button:focus-visible, .vg-btn:focus-visible { outline: 3px solid var(--vg-ochre); outline-offset: 3px; border-radius: 6px; }
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--vg-ochre) !important; outline-offset: 2px; }
#content:focus { outline: none; }
#toTop:focus-visible { outline: 3px solid var(--vg-ochre) !important; outline-offset: 2px; }
h1, h2, h3, .fusion-title-heading { text-wrap: balance; }
p, li { text-wrap: pretty; }
.fusion-text > :last-child { margin-bottom: 0; }
#main .vg-section .fusion-text + .fusion-text { margin-top: 20px; }
#main .vg-section .fusion-text + .vg-actions-wrap, #main .vg-section .vg-card-head + .vg-card-body { margin-top: 0; }
#main { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Überschriften */
#main .fusion-title h1, #main h1 { font-size: clamp(2.6rem, 1.55rem + 4.1vw, 4.6rem) !important; line-height: 1.04 !important; letter-spacing: -0.012em; }
#main .fusion-title h2, #main .vg-section h2 { font-size: clamp(2rem, 1.45rem + 2vw, 3rem) !important; line-height: 1.1 !important; letter-spacing: -0.006em; }
#main .vg-section h3 { font-family: var(--vg-font-head); font-weight: 700; color: var(--vg-green); font-size: clamp(1.3rem, 1.12rem + .6vw, 1.6rem); line-height: 1.2; margin: 0 0 10px; }
/* h2 in der Optik einer h3 – für eine lückenlose Überschriften-Reihenfolge (Barrierefreiheit). */
#main .vg-section h2.vg-h3, #main h2.vg-h3 { font-family: var(--vg-font-head); font-weight: 700; color: var(--vg-green); font-size: clamp(1.3rem, 1.12rem + .6vw, 1.6rem) !important; line-height: 1.2 !important; letter-spacing: 0; margin: 0 0 10px; }
.vg-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#main .vg-section .fusion-title { margin-top: 0 !important; margin-bottom: 22px !important; }
#main .vg-section .fusion-title h1, #main .vg-section .fusion-title h2 { margin: 0; }

/* Textbausteine */
.vg-kicker p, p.vg-kicker { font-family: var(--vg-font-body); font-weight: 600; font-size: 14px; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; color: var(--vg-ochre-text); margin: 0 0 14px !important; }
.vg-lead p { font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem); line-height: 1.55; color: var(--vg-night); }
.vg-muted, .vg-muted p, p.vg-note { color: var(--vg-muted); font-size: 15px; line-height: 1.5; }
.vg-narrow { max-width: 760px; }
.vg-center { text-align: center; margin-left: auto; margin-right: auto; }
.vg-intro { max-width: 720px; margin-bottom: 48px !important; }
.vg-intro.vg-center { margin-left: auto !important; margin-right: auto !important; }

/* Buttons */
.vg-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0 0 !important; }
.vg-btn, a.vg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 14px 30px; border-radius: 999px; border: 2px solid var(--vg-green); background: var(--vg-green); color: #fff !important; font-family: var(--vg-font-body); font-weight: 600; font-size: 17px; line-height: 1.2; text-decoration: none !important; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.vg-btn:hover { background: var(--vg-green-light); border-color: var(--vg-green-light); color: #fff !important; transform: translateY(-1px); }
.vg-btn.vg-btn-outline { background: transparent; color: var(--vg-green) !important; }
.vg-btn.vg-btn-outline:hover { background: var(--vg-green); color: #fff !important; border-color: var(--vg-green); }
.vg-btn.vg-btn-light { background: var(--vg-paper); border-color: var(--vg-paper); color: var(--vg-green) !important; }
.vg-btn.vg-btn-light:hover { background: #fff; border-color: #fff; }
.vg-btn.vg-btn-ghost { background: transparent; border-color: rgba(243, 238, 226, .7); color: var(--vg-linen) !important; }
.vg-btn.vg-btn-ghost:hover { background: rgba(243, 238, 226, .12); border-color: var(--vg-linen); }
.vg-btn.vg-btn-small { min-height: 46px; padding: 10px 24px; font-size: 16px; }
.vg-link { font-weight: 600; color: var(--vg-green) !important; text-decoration: underline; text-decoration-color: var(--vg-ochre); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.vg-link:hover { color: var(--vg-ochre-text) !important; }

/* Sektionen und Hintergründe */
.vg-section { position: relative; overflow: hidden; }
.vg-section > .fusion-builder-row { position: relative; z-index: 1; }
.vg-section .fusion-builder-row.fusion-row { row-gap: 32px; }
.vg-bg-paper { background-color: var(--vg-paper) !important; }
.vg-bg-linen { background-color: var(--vg-linen) !important; }
.vg-bg-white { background-color: #fff !important; }
.vg-bg-green { background-color: var(--vg-green) !important; }
.vg-rings-tr-paper { background: var(--vg-paper) url("/wp-content/uploads/vg-brand/rings/rings-paper-tr.svg") no-repeat right top / min(58vw, 820px) auto !important; }
.vg-rings-bl-linen { background: var(--vg-linen) url("/wp-content/uploads/vg-brand/rings/rings-linen-bl.svg") no-repeat left bottom / min(46vw, 560px) auto !important; }
.vg-rings-br-linen { background: var(--vg-linen) url("/wp-content/uploads/vg-brand/rings/rings-linen-br.svg") no-repeat right bottom / min(46vw, 560px) auto !important; }
.vg-rings-br-green { background: var(--vg-green) url("/wp-content/uploads/vg-brand/rings/rings-green-br.svg") no-repeat right bottom / min(64vw, 760px) auto !important; }

/* Dunkle Flächen */
.vg-bg-green, .vg-bg-green p, .vg-bg-green li { color: var(--vg-linen); }
#main .vg-bg-green h1, #main .vg-bg-green h2, #main .vg-bg-green h3, .vg-bg-green .fusion-title-heading { color: #fff !important; }
.vg-bg-green .vg-kicker p, .vg-bg-green p.vg-kicker { color: var(--vg-sage); }
.vg-bg-green a:not(.vg-btn) { color: #fff; text-decoration: underline; text-decoration-color: var(--vg-ochre); text-underline-offset: 4px; }

/* Hero */
.vg-hero .fusion-title h1 { max-width: 12ch; }
#main .vg-page-hero .fusion-title h1 { font-size: clamp(2.3rem, 1.45rem + 3vw, 3.7rem) !important; line-height: 1.06 !important; }
.vg-hero-visual > .fusion-column-wrapper { position: relative; padding: 28px 0 !important; }
.vg-hero-photo, .vg-hero-photo .fusion-imageframe { width: 100%; max-width: 540px; margin: 0 auto !important; display: block !important; }
.vg-hero-photo img { border-radius: 50%; box-shadow: 0 0 0 18px var(--vg-linen); width: 100%; }
.vg-chips { position: absolute; inset: 0; pointer-events: none; margin: 0 !important; z-index: 5; }
.vg-chips p { margin: 0; }
.vg-chip { position: absolute; display: inline-flex; align-items: center; gap: 12px; padding: 12px 22px 12px 18px; background: #fff; border: 1.5px solid var(--vg-rule); border-radius: 999px; font-weight: 600; font-size: 17px; line-height: 1; color: var(--vg-night); box-shadow: 0 14px 30px -18px rgba(30, 42, 36, .45); white-space: nowrap; }
.vg-chip::before, .vg-tag::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--vg-ochre); flex: none; }
.vg-chip-1 { top: 9%; left: -2%; }
.vg-chip-2 { top: 34%; right: -3%; }
.vg-chip-3 { bottom: 9%; left: 8%; }

/* Merkmalsleiste mit Ringsymbol */
.vg-ring-heading { display: flex; align-items: flex-start; gap: 14px; }
.vg-ring-heading::before { content: ""; width: 26px; height: 26px; margin-top: .08em; border: 5px solid var(--vg-ochre); border-radius: 50%; box-sizing: border-box; flex: none; }
.vg-card .vg-ring-heading { display: block; }
.vg-card .vg-ring-heading::before { display: block; margin: 0 0 16px; width: 30px; height: 30px; }
.vg-feature p { color: var(--vg-night); }
.vg-trust .vg-feature p { padding-left: 40px; }
.vg-trust .vg-feature h3, .vg-trust .vg-feature h2.vg-h3 { margin-bottom: 6px !important; }

/* Intro-Blöcke */
.vg-intro-col .fusion-title, .vg-intro-col .fusion-text { max-width: 780px; }
.vg-intro-col.vg-center .fusion-title, .vg-intro-col.vg-center .fusion-text { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.vg-center .vg-actions { justify-content: center; }

/* Karten */
.vg-card > .fusion-column-wrapper { background: #fff; border-radius: var(--vg-radius) !important; box-shadow: var(--vg-shadow); overflow: hidden; height: 100%; }
/* Avada setzt beim Hover eine eigene Spalten-Hintergrundfarbe; Karten behalten ihren Hintergrund. */
.vg-card > .fusion-column-wrapper, .vg-card:hover > .fusion-column-wrapper { background-color: #fff !important; }
.vg-card .fusion-image-element, .vg-card .fusion-imageframe { margin: 0 !important; width: 100%; display: block; }
.vg-card .fusion-image-element img { border-radius: 0 !important; width: 100%; }
.vg-card-body { padding: 26px 28px 30px; }
.vg-card-body.vg-card-head { padding-bottom: 8px; }
.vg-card-body.vg-card-head + .vg-card-body { padding-top: 10px; }
.vg-card-body p:not(.vg-kicker) { color: var(--vg-night); }
.vg-card-pad > .fusion-column-wrapper { padding: 34px 32px 36px !important; }
.vg-card-flat > .fusion-column-wrapper { box-shadow: none; border: 1.5px solid var(--vg-rule); background: rgba(255, 255, 255, .6); }
.vg-card-flat > .fusion-column-wrapper, .vg-card-flat:hover > .fusion-column-wrapper { background-color: rgba(255, 255, 255, .6) !important; }

/* Schritte */
.vg-step-num { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 4px solid var(--vg-ochre); border-radius: 50%; font-family: var(--vg-font-head); font-weight: 700; font-size: 26px; line-height: 1; color: var(--vg-green); }
.vg-step p:first-child { margin: 0 0 22px; line-height: 1; }
.vg-step p { color: var(--vg-night); }

/* Fotos */
.vg-photo img { border-radius: var(--vg-radius); width: 100%; }
.vg-photo, .vg-photo .fusion-imageframe { display: block !important; width: 100%; margin: 0 !important; }
.vg-photo-framed img { box-shadow: 18px 18px 0 0 var(--vg-sage); }
.vg-photo-framed.vg-frame-left img { box-shadow: -18px 18px 0 0 var(--vg-sage); }
.vg-photo-frame-ochre img { box-shadow: 18px 18px 0 0 var(--vg-ochre); }

/* Listen und Schlagworte */
.vg-checks ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vg-checks li { position: relative; padding-left: 36px; line-height: 1.45; }
.vg-checks li::before { content: ""; position: absolute; left: 0; top: .1em; width: 24px; height: 24px; border-radius: 50%; background: var(--vg-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%232E4F3E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.vg-bg-green .vg-checks li::before { background-color: var(--vg-linen); }
.vg-checks.vg-two-col ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.vg-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0 !important; }
.vg-tag { display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px 9px 14px; background: #fff; border: 1.5px solid var(--vg-rule); border-radius: 999px; font-weight: 600; font-size: 16px; line-height: 1.2; color: var(--vg-night); }
.vg-tag::before { width: 10px; height: 10px; }

/* Preis */
.vg-price-card > .fusion-column-wrapper { background: var(--vg-green) url("/wp-content/uploads/vg-brand/rings/rings-green-br.svg") no-repeat right bottom / 300px auto; border-radius: var(--vg-radius) !important; padding: 40px 40px 44px !important; box-shadow: 0 30px 60px -30px rgba(30, 42, 36, .6); height: 100%; }
.vg-price-card > .fusion-column-wrapper, .vg-price-card:hover > .fusion-column-wrapper { background-color: var(--vg-green) !important; }
.vg-price-card, .vg-price-card p, .vg-price-card li { color: var(--vg-linen); }
.vg-price-card .vg-kicker p { color: var(--vg-sage); }
.vg-price { font-family: var(--vg-font-head); font-weight: 700; color: #fff; margin: 0 0 6px !important; line-height: 1; }
.vg-price-amount { font-size: clamp(3.4rem, 2.6rem + 3vw, 4.6rem); letter-spacing: -0.02em; }
.vg-price-unit { font-family: var(--vg-font-body); font-weight: 600; font-size: 20px; margin-left: 6px; color: var(--vg-linen); }
.vg-price-meta { font-size: 17px; margin-bottom: 26px !important; }
.vg-price-meta strong { color: #fff; }
.vg-price-card .vg-checks { margin: 0 0 30px; }
.vg-price-card hr { border: 0; border-top: 1px solid rgba(243, 238, 226, .22); margin: 24px 0 16px; }
.vg-price-card .vg-note { color: rgba(243, 238, 226, .85); margin: 0; }

/* Kontaktkarte */
.vg-contact-list { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 10px; }
.vg-contact-list li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--vg-rule); }
.vg-contact-list span { min-width: 96px; font-weight: 600; color: var(--vg-green); }

/* Bildmarke */
.vg-brandmark { width: 100%; text-align: center; }
.vg-brandmark img { width: 100%; max-width: 320px; height: auto; margin: 0 auto; display: block; }

/* Rechenbeispiel Unterstützer */
.vg-calc { margin: 0; padding: 0; list-style: none; }
.vg-calc li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--vg-rule); font-size: 17px; }
.vg-calc li strong { font-family: var(--vg-font-head); color: var(--vg-green); }
.vg-calc li.vg-calc-sum { border-bottom: 0; padding-top: 18px; font-weight: 600; font-size: 19px; }
.vg-calc li.vg-calc-sum strong { font-size: 26px; color: var(--vg-ochre-text); }

/* Lokale Marke */
.vg-local-mark { display: flex; align-items: center; gap: 22px; background: #fff; border-radius: var(--vg-radius); padding: 30px 34px; box-shadow: var(--vg-shadow); }
.vg-local-mark img { width: 92px; height: auto; flex: none; }
.vg-local-mark span { display: block; font-family: var(--vg-font-head); font-weight: 700; color: var(--vg-green); line-height: 1.05; }
.vg-local-mark .vg-local-place { font-size: 34px; color: var(--vg-green); }
.vg-local-mark .vg-local-name { font-size: 26px; }
.vg-url { display: inline-flex; align-items: center; gap: 10px; margin: 22px 0 10px !important; padding: 10px 20px 10px 16px; background: var(--vg-linen); border: 1.5px solid var(--vg-rule); border-radius: 999px; font-weight: 600; font-size: 16px; color: var(--vg-green); word-break: break-all; }
.vg-url::before { content: ""; width: 14px; height: 14px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='10' width='14' height='11' rx='2.5' fill='%232E4F3E'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3' fill='none' stroke='%232E4F3E' stroke-width='2.4'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Hinweisbox */
.vg-notice { border-left: 5px solid var(--vg-ochre); background: #fff; border-radius: 0 var(--vg-radius) var(--vg-radius) 0; padding: 22px 26px; }
.vg-notice p { margin: 0; color: var(--vg-night); }
.vg-draft { background: #FFF6E3; border: 1.5px dashed var(--vg-ochre); border-radius: var(--vg-radius); padding: 18px 22px; margin-bottom: 36px !important; }
.vg-draft p { margin: 0; color: var(--vg-night); }

/* Zitat */
.vg-quote p { font-family: var(--vg-font-head); font-weight: 700; color: var(--vg-green); font-size: clamp(1.8rem, 1.3rem + 2vw, 2.7rem); line-height: 1.15; margin: 0 0 18px; }
.vg-quote p::before { content: "„"; color: var(--vg-ochre); }
.vg-quote p::after { content: "“"; color: var(--vg-ochre); }

/* Rechtstexte */
.vg-legal h2, #main .vg-section .vg-legal h2 { font-size: clamp(1.45rem, 1.25rem + .7vw, 1.8rem) !important; line-height: 1.2 !important; margin: 40px 0 10px !important; }
.vg-legal h3, #main .vg-section .vg-legal h3 { font-size: 1.3rem !important; margin: 30px 0 8px !important; }
/* h4 (u. a. im eRecht24-Text) klar unter h3: Fließtextschrift, fett, nur leicht größer. */
.vg-legal h4, #main .vg-section .vg-legal h4 { font-family: var(--vg-font-body) !important; font-weight: 700 !important; font-size: 1.05rem !important; line-height: 1.4 !important; letter-spacing: 0 !important; color: var(--vg-green) !important; margin: 20px 0 6px !important; }
.vg-legal mark { background: #FFF1CF; color: var(--vg-night); padding: 1px 6px; border-radius: 4px; }
#main .vg-section .vg-legal > h2:first-child { margin-top: 8px !important; }
.vg-legal ul { padding-left: 1.2em; }
.vg-legal a { color: var(--vg-green); text-decoration: underline; text-decoration-color: var(--vg-ochre); text-underline-offset: 3px; }
.vg-legal-callout { margin: 16px 0 24px; padding: 18px 22px 4px; border-left: 4px solid var(--vg-ochre); background: #FFF8EA; border-radius: 0 12px 12px 0; }
.vg-credits li { margin-bottom: 6px; }

/* Header */
.vg-header { box-shadow: 0 1px 0 var(--vg-rule); }
.vg-header .vg-logo-col, .vg-header .vg-header-cta { width: auto !important; flex: 0 0 auto !important; }
.vg-header .vg-menu-col { width: auto !important; flex: 1 1 auto !important; }
.vg-header .vg-logo, .vg-header .vg-logo img { display: block; }
.vg-header .vg-logo img { width: 196px; height: auto; }
.vg-header .vg-logo--local img { width: 236px; margin: -6px 0; }
.vg-header .awb-menu__main-a { font-weight: 600 !important; }
.vg-header .awb-menu__main-li.current-menu-item > .awb-menu__main-a,
.vg-header .awb-menu__main-li > .awb-menu__main-a:hover { text-decoration: underline; text-decoration-color: var(--vg-ochre); text-decoration-thickness: 2px; text-underline-offset: 9px; }
.vg-header .vg-actions { margin: 0 !important; justify-content: flex-end; }
@media (min-width: 1141px) { .vg-menu-mobile-only { display: none !important; } }
@media (max-width: 1140px) {
  .vg-header-cta { display: none !important; }
  .vg-header .awb-menu__main-li > .awb-menu__main-a { text-decoration: none !important; }
  .vg-header .vg-logo img { width: 164px; }
  .vg-header .vg-logo--local img { width: 196px; margin: -4px 0; }
}

/* Footer */
.vg-footer { background-color: var(--vg-night) !important; }
.vg-footer, .vg-footer p, .vg-footer li { color: var(--vg-linen); font-size: 16px; }
.vg-footer .vg-footer-logo, .vg-footer .vg-footer-logo img { display: block; }
.vg-footer .vg-footer-logo img { width: 210px; height: auto; }
.vg-footer .vg-logo--local img { width: 240px; }

/* Hinweisleiste über dem Kopfbereich */
.vg-prebar p { margin: 0; text-align: center; font-size: 14.5px; line-height: 1.4; color: var(--vg-night); }
.vg-prebar a { font-weight: 600; color: var(--vg-green); text-decoration: underline; text-decoration-color: var(--vg-ochre); text-underline-offset: 3px; margin-left: 6px; white-space: nowrap; }

/* Aufgaben, Unterstützer, Ansprechperson (lokale Seiten) */
.vg-task { position: relative; }
.vg-task h3 { margin-right: 92px !important; }
.vg-badge { position: absolute; top: 2px; right: 0; padding: 5px 12px; border-radius: 999px; background: var(--vg-linen); color: var(--vg-ochre-text); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.vg-cross ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vg-cross li { position: relative; padding-left: 36px; line-height: 1.45; }
.vg-cross li::before { content: ""; position: absolute; left: 0; top: .1em; width: 24px; height: 24px; border-radius: 50%; background: #EFE3CF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8l8 8M16 8l-8 8' fill='none' stroke='%238C6320' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.vg-task-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 4px 0 16px !important; color: var(--vg-muted); font-size: 15px; }
.vg-task-meta span { display: inline-flex; align-items: center; gap: 8px; }
.vg-task-meta span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vg-ochre); }
.vg-supporter { text-align: center; }
.vg-supporter .vg-supporter-name { font-family: var(--vg-font-head); font-weight: 700; font-size: 24px; line-height: 1.15; color: var(--vg-green); margin: 0 0 6px !important; }
.vg-supporter p { color: var(--vg-muted); font-size: 15px; }
.vg-person { display: flex; align-items: center; gap: 20px; margin-bottom: 18px !important; }
.vg-avatar { width: 84px; height: 84px; flex: none; border-radius: 50%; background: var(--vg-linen); border: 4px solid var(--vg-ochre); display: flex; align-items: center; justify-content: center; font-family: var(--vg-font-head); font-weight: 700; font-size: 28px; color: var(--vg-green); }
.vg-person h3 { margin: 0 0 4px !important; }
.vg-person p { margin: 0; color: var(--vg-muted); }
.vg-rules li strong { color: var(--vg-green); }
.vg-footer .vg-footer-claim p { font-family: var(--vg-font-head); font-weight: 700; color: #fff; font-size: 24px; line-height: 1.2; margin: 22px 0 10px !important; }
.vg-footer .vg-footer-contact { margin-top: 16px; }
.vg-footer .vg-footer-contact a { font-weight: 600; }
.vg-footer h4, .vg-footer .vg-footer-head { font-family: var(--vg-font-body) !important; font-weight: 600 !important; font-size: 13px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--vg-sage) !important; margin: 6px 0 16px !important; }
.vg-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vg-footer .fusion-row { row-gap: 36px; }
.vg-footer a { color: var(--vg-linen) !important; text-decoration: none; }
.vg-footer a:hover { color: #fff !important; text-decoration: underline; text-decoration-color: var(--vg-ochre); text-underline-offset: 4px; }
.vg-footer-bottom { background-color: #17201B !important; border-top: 1px solid rgba(243, 238, 226, .08); }
.vg-footer-bottom .fusion-row { row-gap: 10px; }
.vg-footer-bottom p { font-size: 14px; color: rgba(243, 238, 226, .82); margin: 0; }
.vg-footer-bottom a { color: var(--vg-linen) !important; text-decoration: none; }
/* Links im Fließtext der Copyright-Zeile zusätzlich unterstreichen (nicht nur farblich unterscheidbar). */
.vg-footer-bottom .fusion-layout-column:not(.vg-footer-legal) p a { text-decoration: underline; text-decoration-color: rgba(207, 154, 69, .75); text-underline-offset: 3px; }
.vg-footer-bottom a:hover { text-decoration: underline; text-decoration-color: var(--vg-ochre); text-underline-offset: 4px; }
.vg-footer-bottom .vg-footer-legal p { text-align: right; }
.vg-footer-bottom .vg-footer-legal a { margin-left: 22px; }
#toTop { background-color: var(--vg-green) !important; border-radius: 999px 999px 0 0; }

/* Fokussierte Google-Ads-Landingpage */
.vg-ads-landing .vg-header .vg-menu-col,
.vg-ads-landing .vg-header .vg-header-cta { display: none !important; }
.vg-ads-landing .vg-header .vg-logo-col { margin-right: auto !important; }
.vg-campaign-hero .fusion-title h1 { max-width: 15ch; }
.vg-campaign-badge { display: inline-flex; align-items: center; padding: 8px 14px; margin-bottom: 20px; border-radius: 999px; background: var(--vg-ochre); color: var(--vg-night); font: 600 14px/1.2 var(--vg-font-body); letter-spacing: .03em; }
.vg-campaign-proof { margin-top: 24px !important; padding-top: 20px; border-top: 1px solid var(--vg-rule); color: var(--vg-muted); font-size: 15px; }
.vg-campaign-proof strong { color: var(--vg-green); }
.vg-campaign-photo { position: relative; z-index: 1; }
.vg-campaign-fact { position: relative; z-index: 2; width: calc(100% - 40px); margin: -56px auto 0; padding: 20px 24px; border-radius: 14px; background: var(--vg-green); box-shadow: var(--vg-shadow); color: var(--vg-linen); }
.vg-campaign-fact strong, .vg-campaign-fact span { display: block; }
.vg-campaign-fact strong { margin-bottom: 4px; color: #fff; font-family: var(--vg-font-head); font-size: 20px; }
.vg-campaign-fact span { font-size: 15px; line-height: 1.45; }
.vg-campaign-stats .vg-feature { padding-right: 26px; }
.vg-campaign-stats .fusion-layout-column:not(:last-child) .vg-feature { border-right: 1px solid var(--vg-rule); }
.vg-campaign-number { margin: 0 0 6px !important; color: var(--vg-ochre-text); font-family: var(--vg-font-head); font-size: clamp(2rem, 1.7rem + 1vw, 2.7rem); font-weight: 700; line-height: 1; }
.vg-campaign-package-col > .fusion-column-wrapper { padding: 34px 38px !important; border: 1.5px solid var(--vg-rule); border-left: 7px solid var(--vg-ochre); border-radius: var(--vg-radius); background: var(--vg-linen); }
.vg-campaign-package h3 { margin-bottom: 12px !important; }
.vg-campaign-mini-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.vg-campaign-mini-list li { padding: 7px 12px; border-radius: 999px; background: var(--vg-linen); color: var(--vg-night); font-size: 14px; font-weight: 600; }
.vg-campaign-offer .vg-campaign-badge { background: var(--vg-ochre); color: var(--vg-night); }
.vg-campaign-offer .vg-checks li strong { color: #fff; }
.vg-campaign-price .vg-price-old { text-decoration: line-through; text-decoration-thickness: 2px; color: var(--vg-sage); }
.vg-faq-item { padding: 0 0 24px 38px; position: relative; }
.vg-faq-item + .vg-faq-item { padding-top: 24px; border-top: 1px solid var(--vg-rule); }
.vg-faq-item::before { content: "?"; position: absolute; top: 2px; left: 0; display: grid; width: 26px; height: 26px; place-items: center; border: 2px solid var(--vg-ochre); border-radius: 50%; color: var(--vg-ochre-text); font-weight: 700; }
.vg-faq-item + .vg-faq-item::before { top: 26px; }
.vg-faq-item h3 { font-size: 1.25rem !important; }
.vg-faq-item p { margin-bottom: 0; }
.vg-campaign-form-card > .fusion-column-wrapper { background: var(--vg-paper) !important; }
.vg-form--ads { gap: 20px; }
.vg-form--ads .vg-actions { margin-top: 4px !important; }
.vg-form--ads .vg-actions .vg-btn { width: 100%; }

/* Jobs (kommunale Seiten) */
.vg-jobs { --vg-cat: var(--vg-ochre); }
.vg-job-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 30px; }
.vg-job-filter button { appearance: none; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 1.5px solid var(--vg-rule); border-radius: 999px; background: #fff; color: var(--vg-night); font: 600 15px/1.2 var(--vg-font-body); cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.vg-job-filter button span { padding: 2px 8px; border-radius: 999px; background: var(--vg-linen); color: var(--vg-muted); font-size: 13px; }
.vg-job-filter button:hover { border-color: var(--vg-green); }
.vg-job-filter button.is-active { background: var(--vg-green); border-color: var(--vg-green); color: #fff; }
.vg-job-filter button.is-active span { background: rgba(255, 255, 255, .18); color: #fff; }
.vg-job-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 24px; }
.vg-job { display: flex; flex-direction: column; padding: 24px 26px 22px; background: #fff; border-radius: var(--vg-radius); border-top: 6px solid var(--vg-cat); box-shadow: var(--vg-shadow); }
.vg-job[hidden] { display: none; }
.vg-job--garten { --vg-cat: var(--vg-sage); }
.vg-job--einkauf { --vg-cat: var(--vg-ochre); }
.vg-job--digital { --vg-cat: var(--vg-green-light); }
.vg-job--haushalt { --vg-cat: var(--vg-ochre-dark); }
.vg-job--betreuung { --vg-cat: var(--vg-ochre-text); }
.vg-job--begleitung { --vg-cat: var(--vg-green); }
.vg-job header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.vg-job-type { font: 600 13px/1.2 var(--vg-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--vg-ochre-text); }
.vg-offer .vg-job-type { color: var(--vg-green-light); }
.vg-job-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: -2px 0 14px !important; }
.vg-job-tag { padding: 4px 10px; border-radius: 999px; background: var(--vg-linen); color: var(--vg-night); font: 600 13px/1.2 var(--vg-font-body); }
.vg-offer-person { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.vg-offer-avatar { flex: none; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: #E6EEE2; border: 3px solid var(--vg-sage); font-family: var(--vg-font-head); font-weight: 700; font-size: 22px; color: var(--vg-green); }
#main .vg-offer-person h3 { margin: 0 !important; }
.vg-offer .vg-job-text { font-style: italic; }
.vg-board-switch { display: flex; justify-content: center; margin: 0 auto 18px; padding: 5px; width: fit-content; max-width: 100%; background: #fff; border: 1.5px solid var(--vg-rule); border-radius: 999px; }
.vg-board-switch button { appearance: none; display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border: 0; border-radius: 999px; background: transparent; color: var(--vg-night); font: 600 16px/1.2 var(--vg-font-body); cursor: pointer; }
.vg-board-switch button span { padding: 2px 8px; border-radius: 999px; background: var(--vg-linen); color: var(--vg-muted); font-size: 13px; }
.vg-board-switch button.is-active { background: var(--vg-green); color: #fff; }
.vg-board-switch button.is-active span { background: rgba(255, 255, 255, .18); color: #fff; }
.vg-job-filter button[hidden], .vg-jobs-locked[hidden] { display: none; }
.vg-jobs-locked { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1.5px dashed var(--vg-rule); }
.vg-jobs-locked p { margin: 0 0 10px; }
.vg-job-status { flex: none; padding: 5px 11px; border-radius: 999px; background: #E6EEE2; color: var(--vg-green); font: 600 12px/1 var(--vg-font-body); letter-spacing: .04em; }
#main .vg-job h3 { font-family: var(--vg-font-head); font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--vg-green); margin: 0 0 12px; }
.vg-job-meta { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 5px; font-size: 15px; color: var(--vg-night); }
.vg-job-meta li { display: flex; gap: 10px; }
.vg-job-meta span { min-width: 52px; font-weight: 600; color: var(--vg-muted); }
.vg-job-text { margin: 0 0 18px; font-size: 16px; line-height: 1.5; color: var(--vg-night); }
.vg-job-cta { margin: auto 0 0 !important; }
.vg-job-cta--taken { color: var(--vg-muted); font-size: 15px; font-style: italic; }
/* Vergebene Einträge wirken zurückgenommen, ohne die Textkontraste zu senken (keine Transparenz). */
.vg-job.is-taken { background: var(--vg-paper); box-shadow: none; border-top-color: var(--vg-rule); }
.vg-job.is-taken .vg-job-status { background: var(--vg-linen); color: var(--vg-night); }
.vg-job.is-taken .vg-job-type { color: var(--vg-ochre-text); }
.vg-job.is-taken img { filter: grayscale(.6); }
.vg-jobs-empty, .vg-jobs-locked { text-align: center; padding: 32px; background: #fff; border-radius: var(--vg-radius); }

/* Geschützter Gemeindebereich */
.vg-portal { display: grid; gap: 54px; }
.vg-portal-nav { position: sticky; top: 16px; z-index: 5; display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; border: 1px solid var(--vg-rule); border-radius: 999px; background: rgba(251, 248, 241, .96); box-shadow: var(--vg-shadow); }
.vg-portal-nav a { padding: 9px 16px; border-radius: 999px; color: var(--vg-green); font-weight: 600; text-decoration: none; }
.vg-portal-nav a:hover { background: var(--vg-linen); }
.vg-portal section { scroll-margin-top: 100px; }
.vg-portal-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 22px; }
#main .vg-portal-heading h2 { margin: 0 !important; font-size: clamp(1.8rem, 1.5rem + 1vw, 2.4rem) !important; }
.vg-portal-form { margin-bottom: 24px; padding: 28px; border: 1px solid var(--vg-rule); box-shadow: none; }
.vg-portal-form > p, .vg-portal-form fieldset { margin: 0 0 18px; }
.vg-portal-form label, .vg-portal-form legend { display: block; margin-bottom: 7px; color: var(--vg-night); font-weight: 600; }
.vg-portal-form input[type="text"], .vg-portal-form textarea, .vg-portal-form select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1.5px solid var(--vg-rule); border-radius: 8px; background: #fff; color: var(--vg-night); font: 16px/1.4 var(--vg-font-body); }
.vg-portal-form textarea { min-height: 112px; resize: vertical; }
.vg-portal-form fieldset { padding: 0; border: 0; }
.vg-portal-form .vg-skill-list label, .vg-portal-form .vg-consent label { display: flex; }
.vg-portal-list { display: grid; gap: 12px; }
.vg-portal-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid var(--vg-rule); border-radius: 12px; background: #fff; }
#main .vg-portal-item h3 { margin: 8px 0 3px; font-size: 19px; }
.vg-portal-item p { margin: 0; color: var(--vg-muted); }
.vg-portal-actions { display: flex; align-items: center; gap: 16px; }
.vg-portal-actions form { margin: 0; }
.vg-portal-actions button { padding: 0; border: 0; background: transparent; color: #8B2F2F; font: 600 15px/1.2 var(--vg-font-body); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.vg-download-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.vg-download-list li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid var(--vg-rule); border-radius: 12px; background: #fff; }
.vg-download-list strong, .vg-download-list span { display: block; }
.vg-download-list span { margin-top: 4px; color: var(--vg-muted); }
.vg-portal-empty { padding: 20px; border: 1.5px dashed var(--vg-rule); border-radius: 12px; color: var(--vg-muted); text-align: center; }
.vg-portal-login { max-width: 680px; margin: 0 auto; padding: 34px; text-align: center; }

/* Anmeldeformular */
.vg-form { display: grid; gap: 18px; }
.vg-form p { margin: 0; }
.vg-form fieldset { margin: 0; padding: 0; border: 0; }
.vg-form legend, .vg-form label { display: block; margin-bottom: 8px; font-weight: 600; color: var(--vg-green); }
.vg-form .vg-req { color: var(--vg-ochre-text); }
.vg-form input[type="text"], .vg-form textarea { width: 100%; height: auto !important; min-height: 50px; padding: 12px 14px !important; border: 1.5px solid var(--vg-rule) !important; border-radius: 12px !important; background: #fff !important; color: var(--vg-night) !important; font: 400 17px/1.4 var(--vg-font-body) !important; box-shadow: none; }
.vg-form input[type="text"]:focus, .vg-form textarea:focus { outline: none; border-color: var(--vg-green) !important; box-shadow: 0 0 0 3px rgba(169, 187, 160, .55); }
.vg-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vg-choice { display: flex; flex-wrap: wrap; gap: 12px; }
.vg-choice label { flex: 1 1 240px; display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border: 1.5px solid var(--vg-rule); border-radius: 12px; background: #fff; color: var(--vg-night); cursor: pointer; }
.vg-choice label small { display: block; font-weight: 400; font-size: 14px; color: var(--vg-muted); }
.vg-choice label:has(input:checked) { border-color: var(--vg-green); background: #F1F5EF; }
.vg-form input[type="radio"], .vg-form input[type="checkbox"] { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--vg-green); }
.vg-hint { display: block; margin-top: 6px; font-size: 14px; color: var(--vg-muted); }
.vg-consent label { display: flex; gap: 12px; font-weight: 400; color: var(--vg-night); }
/* Links in Formularen und Hinweisen nicht nur über die Farbe erkennbar machen. */
.vg-form a, .vg-consent a, p.vg-note a, .vg-note p a, .vg-hint a { text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 3px; }
.vg-form-message { padding: 16px 18px; border: 1.5px dashed var(--vg-ochre); border-radius: 12px; background: #FFF6E3; }
.vg-form-message p { color: var(--vg-night); }
.vg-form button.vg-btn { cursor: pointer; }
.vg-skills { display: none; }
.vg-form:has(input[name="rolle"][value="anbieten"]:checked) .vg-skills { display: block; }
.vg-skill-list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.vg-skill-list label { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 14px; border: 1.5px solid var(--vg-rule); border-radius: 999px; background: #fff; font-weight: 600; color: var(--vg-night); cursor: pointer; }
.vg-skill-list label:has(input:checked) { border-color: var(--vg-green); background: #F1F5EF; }
.vg-skill-list input[type="checkbox"] { width: 18px; height: 18px; margin: 0; }
#main .vg-section .vg-form-title { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem) !important; margin: 0 0 22px; }

/* Einrichtungsformular (Hauptseite) */
.vg-form input[type="email"], .vg-form input[type="url"], .vg-form input[type="tel"], .vg-form select { width: 100%; height: auto !important; min-height: 50px; padding: 12px 14px !important; border: 1.5px solid var(--vg-rule) !important; border-radius: 12px !important; background: #fff !important; color: var(--vg-night) !important; font: 400 17px/1.4 var(--vg-font-body) !important; box-shadow: none; }
.vg-form input[type="email"]:focus, .vg-form input[type="url"]:focus, .vg-form input[type="tel"]:focus, .vg-form select:focus { outline: none; border-color: var(--vg-green) !important; box-shadow: 0 0 0 3px rgba(169, 187, 160, .55); }
.vg-form input[type="file"] { width: 100%; padding: 10px; border: 1.5px dashed var(--vg-rule); border-radius: 12px; background: var(--vg-paper); font: 400 15px/1.4 var(--vg-font-body); color: var(--vg-night); }
.vg-form--einrichtung { gap: 26px; }
.vg-fieldset { display: grid; gap: 16px; padding: 26px 26px 22px !important; border: 1.5px solid var(--vg-rule) !important; border-radius: var(--vg-radius); background: var(--vg-paper); }
.vg-fieldset legend { padding: 0 10px; margin-left: -10px; font-family: var(--vg-font-head); font-weight: 700; font-size: 22px; color: var(--vg-green); }
.vg-fieldset .vg-note { margin: -4px 0 0 !important; }
.vg-repeat { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid var(--vg-rule); }
.vg-repeat:first-of-type { padding-top: 0; border-top: 0; }
.vg-repeat-title { margin: 0 !important; font-weight: 600; color: var(--vg-ochre-text); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.vg-form-row--zip { grid-template-columns: 120px minmax(0, 1fr); gap: 12px; }
.vg-input-suffix { display: flex; align-items: stretch; }
.vg-input-suffix input { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.vg-input-suffix span { display: flex; align-items: center; padding: 0 12px; border: 1.5px solid var(--vg-rule); border-left: 0; border-radius: 0 12px 12px 0; background: var(--vg-linen); color: var(--vg-muted); font-size: 15px; white-space: nowrap; }
.vg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vg-form-message--error { border-style: solid; border-color: #C0563A; background: #FDF1EC; }
.vg-form-message--error ul { margin: 6px 0 0; padding-left: 20px; color: var(--vg-night); }
.vg-form-message--success { border-style: solid; border-color: var(--vg-sage); background: #F1F5EF; padding: 26px 28px; }
.vg-form-message--success h3 { margin: 0 0 8px !important; }

/* Beauftragung */
.vg-order-calc li { padding: 11px 0; font-size: 16px; }
.vg-order-calc li strong { white-space: nowrap; }
.vg-order-calc li.vg-calc-sum { font-size: 17px; }
.vg-order-calc li.vg-calc-sum strong { font-size: 22px; }
.vg-order-price { padding: 4px 22px 8px; border-radius: 12px; background: #fff; }
.vg-order-review { display: grid; gap: 22px; }
#main .vg-section .vg-order-review h3 { margin: 0; }
.vg-order-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.vg-order-table th, .vg-order-table td { padding: 11px 0; border: 0; border-bottom: 1px solid var(--vg-rule); text-align: left; vertical-align: top; font-size: 16px; line-height: 1.45; background: none; }
.vg-order-table th { width: 32%; padding-right: 18px; color: var(--vg-muted); font-family: var(--vg-font-body); font-weight: 600; letter-spacing: 0; }
.vg-order-table td { color: var(--vg-night); overflow-wrap: anywhere; }
.vg-form button.vg-btn:disabled { opacity: .7; cursor: progress; }
.vg-form input::placeholder, .vg-form textarea::placeholder { color: #737E78; opacity: 1; }

/* Einwilligung für Google Ads auf der Kampagnenseite */
.vg-cookie-consent[hidden], .vg-cookie-settings[hidden] { display: none !important; }
.vg-cookie-consent { position: fixed; z-index: 100020; right: 20px; bottom: 20px; left: 20px; }
.vg-cookie-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1080px; margin: 0 auto; padding: 24px 26px; border: 1px solid var(--vg-rule); border-radius: 16px; background: var(--vg-paper); box-shadow: 0 16px 44px rgba(30, 42, 36, .2); }
.vg-cookie-consent h2 { margin: 0 0 8px; color: var(--vg-green); font: 700 23px/1.2 var(--vg-font-head); }
.vg-cookie-consent p { margin: 0 0 7px; font-size: 15px; line-height: 1.45; }
.vg-cookie-consent p:last-child { margin-bottom: 0; }
.vg-cookie-consent__actions { display: flex; flex: 0 0 auto; gap: 10px; }
.vg-cookie-consent__actions .vg-btn { white-space: nowrap; }
.vg-cookie-settings { position: fixed; z-index: 100010; right: 16px; bottom: 14px; padding: 8px 12px; border: 1px solid var(--vg-rule); border-radius: 10px; background: var(--vg-paper); color: var(--vg-green); box-shadow: 0 4px 14px rgba(30, 42, 36, .12); font: 600 13px/1.2 var(--vg-font-body); cursor: pointer; }
.vg-cookie-settings:hover, .vg-cookie-settings:focus-visible { border-color: var(--vg-green); }

/* Ansprechpersonen */
.vg-contacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.vg-contact { padding: 30px 30px 24px; background: #fff; border-radius: var(--vg-radius); box-shadow: var(--vg-shadow); }
.vg-contacts + .vg-note { margin-top: 18px !important; }

/* Unterstützer */
.vg-supporters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vg-supporter-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 30px 26px; background: #fff; border-radius: var(--vg-radius); box-shadow: var(--vg-shadow); text-align: center; }
.vg-supporter-logo { display: flex; align-items: center; justify-content: center; height: 70px; margin-bottom: 6px; }
.vg-supporter-logo img { max-height: 64px; max-width: 220px; width: auto; height: auto; }
.vg-supporter-title { font-family: var(--vg-font-head); font-weight: 700; font-size: 20px; color: var(--vg-green); }
.vg-supporter-text { font-size: 15px; color: var(--vg-muted); }
.vg-supporter-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 18px; }
.vg-supporter-label { font: 600 13px/1.2 var(--vg-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--vg-ochre-text); margin-right: 6px; }
.vg-supporter-chip { display: inline-flex; align-items: center; padding: 10px 16px; background: #fff; border-radius: 12px; box-shadow: 0 1px 0 rgba(30, 42, 36, .06); line-height: 0; }
.vg-supporter-chip img { height: 34px; width: auto; }
.vg-footer-supporters .vg-supporter-label { color: var(--vg-sage); }
.vg-footer-supporters .vg-supporter-strip { justify-content: flex-start; }

/* Aktuelles (Blog) – bricht wie Avada-Container aus dem Seitenrand von #main aus. */
.vg-blog { margin-left: calc(-1 * var(--hundredp_padding, 30px)); margin-right: calc(-1 * var(--hundredp_padding, 30px)); background: var(--vg-paper); }
#content.vg-blog { width: auto !important; float: none !important; min-width: 0; }
.vg-post-content { min-width: 0; }
.vg-blog-wrap { box-sizing: border-box; max-width: 1260px; margin-left: auto; margin-right: auto; padding-left: 30px; padding-right: 30px; }
.vg-blog-narrow { max-width: 820px; }
.vg-blog-hero, .vg-post-hero { padding: 72px 0 80px; }
.vg-post-hero { padding-bottom: 56px; }
#main .vg-blog-hero h1, #main .vg-post-hero h1 { margin: 0; max-width: 18ch; }
#main .vg-post-hero h1 { max-width: none; font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.5rem) !important; line-height: 1.08 !important; }
.vg-blog .vg-kicker a { color: inherit; text-decoration: underline; text-decoration-color: var(--vg-ochre); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.vg-blog-lead, .vg-post-lead { max-width: 720px; margin: 22px 0 0; font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem); line-height: 1.55; color: var(--vg-night); }
.vg-post-meta { margin: 20px 0 0; color: var(--vg-muted); font-size: 16px; }
.vg-blog-list { padding: 8px 0 104px; }
.vg-blog-empty { max-width: 640px; padding: 26px 28px; border: 1.5px dashed var(--vg-rule); border-radius: var(--vg-radius); color: var(--vg-muted); }
.vg-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.vg-post-card { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: var(--vg-radius); box-shadow: var(--vg-shadow); overflow: hidden; transition: transform .2s ease; }
.vg-post-card:hover { transform: translateY(-2px); }
.vg-post-card:focus-within { outline: 3px solid var(--vg-ochre); outline-offset: 3px; }
.vg-post-card-image { aspect-ratio: 3 / 2; overflow: hidden; background: var(--vg-linen); }
.vg-post-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vg-post-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px 26px 26px; }
.vg-post-card-meta { margin: 0 0 10px; color: var(--vg-muted); font-size: 15px; }
#main .vg-post-card-title { margin: 0 0 12px; font-family: var(--vg-font-head); font-weight: 700; font-size: clamp(1.25rem, 1.12rem + .45vw, 1.5rem) !important; line-height: 1.2 !important; letter-spacing: 0; color: var(--vg-green); }
.vg-post-card-link { color: inherit !important; text-decoration: none !important; }
.vg-post-card-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.vg-post-card-link:focus-visible { outline: none; }
.vg-post-card-excerpt { margin: 0 0 18px; color: var(--vg-night); font-size: 17px; line-height: 1.5; }
.vg-post-card-more { margin: auto 0 0; font-weight: 600; color: var(--vg-green); text-decoration: underline; text-decoration-color: var(--vg-ochre); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.vg-blog-pagination { margin-top: 48px; }
.vg-blog-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.vg-blog-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; min-height: 46px; padding: 8px 16px; border: 1.5px solid var(--vg-rule); border-radius: 999px; background: #fff; color: var(--vg-green); font-weight: 600; text-decoration: none; }
.vg-blog-pagination .page-numbers.current { background: var(--vg-green); border-color: var(--vg-green); color: #fff; }
.vg-blog-pagination a.page-numbers:hover { border-color: var(--vg-green); }
.vg-post-image { margin-top: 0; margin-bottom: 56px; }
.vg-post-image img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: cover; border-radius: var(--vg-radius); }
.vg-post-image figcaption { margin-top: 10px; color: var(--vg-muted); font-size: 14px; }
.vg-post-content { padding-bottom: 72px; font-size: 19px; line-height: 1.65; color: var(--vg-night); }
.vg-post-content > :first-child { margin-top: 0; }
.vg-post-content p, .vg-post-content ul, .vg-post-content ol { margin: 0 0 1.15em; }
.vg-post-content ul, .vg-post-content ol { padding-left: 1.3em; }
.vg-post-content li { margin-bottom: .45em; }
#main .vg-post-content h2 { margin: 1.9em 0 .55em; font-size: clamp(1.55rem, 1.3rem + .9vw, 2.05rem) !important; line-height: 1.18 !important; }
#main .vg-post-content h3 { margin: 1.6em 0 .45em; font-size: clamp(1.25rem, 1.12rem + .45vw, 1.45rem) !important; line-height: 1.25 !important; }
.vg-post-content a { color: var(--vg-green); text-decoration: underline; text-decoration-color: var(--vg-ochre); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.vg-post-content a:hover { color: var(--vg-ochre-text); }
/* Externe Links (öffnen in neuem Tab): kleiner Pfeil als optischer Hinweis. */
.vg-post-content a.vg-external::after { content: ""; display: inline-block; width: .62em; height: .62em; margin-left: .22em; vertical-align: .08em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1.5h6.5V8M10.5 1.5 1.5 10.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1.5h6.5V8M10.5 1.5 1.5 10.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.vg-post-content blockquote { margin: 1.6em 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--vg-ochre); font-family: var(--vg-font-head); font-size: 1.2em; line-height: 1.45; color: var(--vg-green); }
.vg-post-content blockquote p:last-child { margin-bottom: 0; }
.vg-post-content figure { margin: 1.8em 0; }
.vg-post-content figure img { border-radius: 12px; height: auto; }
.vg-post-content figcaption { margin-top: 8px; color: var(--vg-muted); font-size: 14px; }
.vg-post-content .vg-sources { margin-top: 2.4em; padding-top: 1.2em; border-top: 1px solid var(--vg-rule); font-size: 15px; line-height: 1.5; color: var(--vg-muted); }
.vg-post-content .vg-sources li { margin-bottom: .35em; }
#main .vg-post-content .vg-sources h2 { margin: 0 0 .6em; font-size: 1.2rem !important; line-height: 1.3 !important; }
.vg-post-content .vg-sources ul { margin-bottom: 0; }
.vg-post-cta { padding: 64px 0 70px; background: var(--vg-green) url("/wp-content/uploads/vg-brand/rings/rings-green-br.svg") no-repeat right bottom / min(64vw, 620px) auto; }
.vg-post-cta, .vg-post-cta p { color: var(--vg-linen); }
.vg-post-cta p.vg-kicker { color: var(--vg-sage); }
#main .vg-post-cta h2 { margin: 0 0 14px; color: #fff; font-size: clamp(1.8rem, 1.4rem + 1.5vw, 2.5rem) !important; line-height: 1.12 !important; }
.vg-post-back { padding-top: 40px; padding-bottom: 88px; }
/* Themenfilter, Themen auf Karten, weitere Beiträge */
.vg-blog-filter { margin: 0 0 36px; }
.vg-blog-filter ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.vg-blog-filter a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 1.5px solid var(--vg-rule); border-radius: 999px; background: #fff; color: var(--vg-green); font-weight: 600; font-size: 16px; line-height: 1.2; text-decoration: none; }
.vg-blog-filter a:hover { border-color: var(--vg-green); }
.vg-blog-filter a[aria-current="page"] { background: var(--vg-green); border-color: var(--vg-green); color: #fff; }
.vg-post-card-cat { margin: 0 0 8px; font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; color: var(--vg-ochre-text); }
.vg-post-hero .vg-kicker span { margin: 0 .3em; }
.vg-post-related { padding: 64px 0 76px; background: var(--vg-linen); }
#main .vg-post-related h2 { margin: 0 0 28px; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem) !important; line-height: 1.15 !important; }

/* Bausteine in Beiträgen */
.vg-post-content .vg-box { margin: 1.8em 0; padding: 26px 30px; border-radius: var(--vg-radius); background: var(--vg-linen); }
.vg-post-content .vg-box > :last-child, .vg-post-content .vg-box > :last-child > :last-child { margin-bottom: 0; }
#main .vg-post-content .vg-box h2, #main .vg-post-content .vg-box h3 { margin-top: 0; }
#main .vg-post-content .vg-box h2 { font-size: clamp(1.3rem, 1.15rem + .5vw, 1.55rem) !important; }
.vg-post-content .vg-box--summary { background: #fff; box-shadow: var(--vg-shadow); border-top: 5px solid var(--vg-ochre); }
.vg-post-content .vg-box--note { background: #FFF8EA; border-left: 5px solid var(--vg-ochre); border-radius: 0 var(--vg-radius) var(--vg-radius) 0; font-size: 17px; line-height: 1.55; }
.vg-post-content .vg-box--green { background: var(--vg-green); color: var(--vg-linen); }
.vg-post-content .vg-box--green p, .vg-post-content .vg-box--green li { color: var(--vg-linen); }
#main .vg-post-content .vg-box--green h2, #main .vg-post-content .vg-box--green h3 { color: #fff; }
.vg-post-content .vg-box--green a { color: #fff; }
.vg-post-content ul.vg-checklist, .vg-post-content ul.vg-xlist, .vg-post-content .vg-box--summary ul { list-style: none; padding-left: 0; }
.vg-post-content ul.vg-checklist > li, .vg-post-content ul.vg-xlist > li, .vg-post-content .vg-box--summary ul > li { position: relative; padding-left: 38px; }
.vg-post-content ul.vg-checklist > li::before, .vg-post-content .vg-box--summary ul > li::before { content: ""; position: absolute; left: 0; top: .15em; width: 24px; height: 24px; border-radius: 50%; background: var(--vg-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%232E4F3E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.vg-post-content ul.vg-xlist > li::before { content: ""; position: absolute; left: 0; top: .15em; width: 24px; height: 24px; border-radius: 50%; background: #F1DDD0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8l8 8M16 8l-8 8' fill='none' stroke='%238A3A22' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.vg-post-content ol.vg-steps { list-style: none; margin: 1.8em 0; padding: 0; counter-reset: vgstep; }
.vg-post-content ol.vg-steps > li { position: relative; margin: 0; padding: 0 0 28px 70px; counter-increment: vgstep; }
.vg-post-content ol.vg-steps > li::before { content: counter(vgstep); position: absolute; left: 0; top: -4px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--vg-green); color: #fff; font-family: var(--vg-font-body); font-weight: 700; font-size: 21px; line-height: 1; }
.vg-post-content ol.vg-steps > li::after { content: ""; position: absolute; left: 23px; top: 50px; bottom: 4px; width: 2px; background: var(--vg-rule); }
.vg-post-content ol.vg-steps > li:last-child { padding-bottom: 0; }
.vg-post-content ol.vg-steps > li:last-child::after { display: none; }
.vg-post-content ol.vg-steps > li > strong:first-child { display: block; margin-bottom: 4px; font-family: var(--vg-font-head); font-size: 1.2em; line-height: 1.3; color: var(--vg-green); }
.vg-post-content .vg-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 1.8em 0; }
.vg-post-content .vg-stats:has(> :nth-child(2):last-child), .vg-post-content .vg-stats:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vg-post-content .vg-stats > p { margin: 0; padding: 22px 22px 20px; background: #fff; border-radius: 14px; box-shadow: var(--vg-shadow); font-size: 16px; line-height: 1.45; }
.vg-post-content .vg-stats > p strong { display: block; margin-bottom: 8px; font-family: var(--vg-font-body); font-weight: 700; font-size: 2rem; line-height: 1.1; color: var(--vg-green); }
.vg-post-content .vg-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin: 1.8em 0; }
.vg-post-content .vg-tiles:has(> :nth-child(4):last-child), .vg-post-content .vg-tiles:has(> :nth-child(2):last-child) { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.vg-post-content .vg-tiles > * { margin: 0; padding: 22px 24px 24px; background: #fff; border-radius: 14px; box-shadow: var(--vg-shadow); }
#main .vg-post-content .vg-tiles h3 { margin: 0 0 8px; font-size: 1.2rem !important; line-height: 1.3 !important; }
.vg-post-content .vg-tiles p, .vg-post-content .vg-tiles li { font-size: 17px; line-height: 1.5; }
.vg-post-content .vg-tiles > * > :last-child { margin-bottom: 0; }
.vg-post-content .vg-tiles ul { padding-left: 1.1em; }
.vg-post-content .vg-tile-kicker { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--vg-ochre-text); }
.vg-post-content .wp-block-table { margin: 1.8em 0; overflow-x: auto; }
.vg-post-content .wp-block-table table { width: 100%; border-collapse: collapse; background: #fff; font-size: 17px; line-height: 1.45; box-shadow: var(--vg-shadow); border-radius: 12px; overflow: hidden; }
.vg-post-content .wp-block-table th, .vg-post-content .wp-block-table td { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--vg-rule); text-align: left; vertical-align: top; hyphens: auto; font-size: 17px; line-height: 1.45; }
.vg-post-content .wp-block-table thead th { background: var(--vg-green); color: #fff; font-family: var(--vg-font-body); font-weight: 700; }
.vg-post-content .wp-block-table tbody tr:nth-child(even) td { background: var(--vg-paper); }
.vg-post-content .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.vg-post-content .wp-block-table figcaption { text-align: left; }
.vg-post-content .vg-template { position: relative; margin: 1.8em 0; padding: 22px 26px 24px; border: 1.5px dashed var(--vg-ochre-dark); border-radius: var(--vg-radius); background: #fff; }
.vg-post-content .vg-template-label { margin: 0 0 14px; padding-right: 150px; font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; color: var(--vg-ochre-text); }
.vg-post-content .vg-template-body { font-size: 17px; line-height: 1.55; }
.vg-post-content .vg-template-body p { margin: 0 0 .8em; }
.vg-post-content .vg-template-body > :last-child { margin-bottom: 0; }
.vg-post-content mark.vg-ph { margin: 0; padding: 0 3px; border-radius: 4px; background: #FFF1CF; color: var(--vg-night); }
.vg-template-copy { position: absolute; top: 14px; right: 14px; min-height: 40px; padding: 6px 16px; border: 1.5px solid var(--vg-green); border-radius: 999px; background: #fff; color: var(--vg-green); font: 600 15px/1.2 var(--vg-font-body); cursor: pointer; }
.vg-template-copy:hover, .vg-template-copy:focus-visible { background: var(--vg-green); color: #fff; }
.vg-post-content .vg-download { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 4px 18px; align-items: start; margin: 1.8em 0; padding: 22px 24px; border: 1px solid var(--vg-rule); border-radius: var(--vg-radius); background: #fff; }
.vg-post-content .vg-download::before { content: ""; grid-row: 1 / span 3; width: 56px; height: 56px; border-radius: 14px; background: var(--vg-linen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l5 5v13H7z' fill='none' stroke='%232E4F3E' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M14 3v5h5M13 11v6m-3-3l3 3 3-3' fill='none' stroke='%232E4F3E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px no-repeat; }
.vg-post-content .vg-download > * { grid-column: 2; margin: 0; }
.vg-post-content .vg-download p { font-size: 17px; line-height: 1.5; }
.vg-post-content .vg-download .vg-download-title { font-weight: 700; color: var(--vg-green); font-size: 19px; }
.vg-post-content .vg-download .vg-download-link { margin-top: 10px; }
.vg-post-content .vg-download .vg-download-link a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 20px; border-radius: 999px; background: var(--vg-green); color: #fff; font-weight: 600; text-decoration: none; }
.vg-post-content .vg-download .vg-download-link a:hover, .vg-post-content .vg-download .vg-download-link a:focus-visible { background: var(--vg-green-light); color: #fff; }
.vg-post-content .vg-faq { margin: 1.6em 0; border-top: 1px solid var(--vg-rule); }
.vg-post-content .wp-block-details { margin: 0; padding: 0; border-bottom: 1px solid var(--vg-rule); }
.vg-post-content .wp-block-details summary { position: relative; padding: 18px 48px 18px 0; list-style: none; cursor: pointer; font-weight: 600; line-height: 1.4; color: var(--vg-green); }
.vg-post-content .wp-block-details summary::-webkit-details-marker { display: none; }
.vg-post-content .wp-block-details summary::after { content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-family: var(--vg-font-head); font-size: 30px; line-height: 1; color: var(--vg-ochre-text); }
.vg-post-content .wp-block-details[open] summary::after { content: "–"; }
.vg-post-content .wp-block-details > :not(summary) { margin: 0 0 18px; }
.vg-post-content .vg-bars { margin: 1.8em 0; padding: 24px 26px; list-style: none; background: #fff; border-radius: var(--vg-radius); box-shadow: var(--vg-shadow); }
.vg-post-content .vg-bars li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px; align-items: center; margin: 0 0 12px; font-size: 16px; }
.vg-post-content .vg-bars li:last-child { margin-bottom: 0; }
.vg-post-content .vg-bar { position: relative; display: block; height: 30px; border-radius: 8px; background: var(--vg-linen); }
.vg-post-content .vg-bar b { position: absolute; inset: 0 auto 0 0; display: flex; align-items: center; justify-content: flex-end; min-width: 3.4em; width: var(--v); padding-right: 10px; box-sizing: border-box; border-radius: 8px; background: var(--vg-green); color: #fff; font-weight: 600; font-size: 15px; }
.vg-post-content .vg-bars-note { margin: -1em 0 1.8em; font-size: 14px; color: var(--vg-muted); }
.vg-post-content .wp-block-image figcaption { margin-top: 8px; text-align: left; }
/* Startseiten-Teaser: ohne veröffentlichte Beiträge wird der ganze Abschnitt ausgeblendet. */
.fusion-fullwidth:has(.vg-latest-empty) { display: none !important; }

/* Tablet */
@media (max-width: 1024px) {
  .vg-rings-tr-paper { background-size: 80vw auto !important; background-position: right bottom !important; }
  .vg-rings-tr-paper.vg-hero { background-image: url("/wp-content/uploads/vg-brand/rings/rings-paper-br.svg") !important; }
  .vg-page-hero.vg-rings-tr-paper { background-image: url("/wp-content/uploads/vg-brand/rings/rings-paper-br.svg") !important; }
  .vg-blog-hero.vg-rings-tr-paper, .vg-post-hero.vg-rings-tr-paper { background-image: url("/wp-content/uploads/vg-brand/rings/rings-paper-br.svg") !important; }
  .vg-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vg-rings-bl-linen { background-image: none !important; }
  .vg-hero-photo, .vg-hero-photo .fusion-imageframe { max-width: 460px; }
  .vg-checks.vg-two-col ul { grid-template-columns: 1fr; }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .vg-photo img { max-height: 460px; }
}

/* Smartphone */
@media (max-width: 640px) {
  .vg-cookie-consent { right: 10px; bottom: 10px; left: 10px; }
  .vg-cookie-consent__inner { display: block; max-height: calc(100vh - 20px); overflow-y: auto; padding: 20px; }
  .vg-cookie-consent__actions { flex-direction: column-reverse; margin-top: 16px; }
  .vg-cookie-consent__actions .vg-btn { width: 100%; }
  .vg-cookie-settings { right: 10px; bottom: 10px; }
  .vg-form-row, .vg-supporters { grid-template-columns: 1fr; }
  .vg-order-table th, .vg-order-table td { display: block; width: auto; padding: 0; border: 0; }
  .vg-order-table th { padding-top: 12px; font-size: 14px; }
  .vg-order-table td { padding: 2px 0 12px; border-bottom: 1px solid var(--vg-rule); }
  .vg-order-price { padding: 2px 14px 6px; }
  .vg-form-row--zip { grid-template-columns: 110px minmax(0, 1fr); }
  .vg-fieldset { padding: 20px 16px 16px !important; }
  .vg-input-suffix { flex-direction: column; }
  .vg-input-suffix input { border-radius: 12px 12px 0 0 !important; }
  .vg-input-suffix span { border: 1.5px solid var(--vg-rule); border-top: 0; border-radius: 0 0 12px 12px; padding: 8px 12px; }
  .vg-job-grid { grid-template-columns: 1fr; }
  .vg-portal-nav { position: static; border-radius: 16px; }
  .vg-portal-item, .vg-download-list li { align-items: flex-start; flex-direction: column; }
  .vg-job-filter { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px 24px; padding: 2px 20px 8px; scrollbar-width: none; }
  .vg-job-filter button { flex: none; }
  .vg-board-switch { width: 100%; }
  .vg-board-switch button { flex: 1 1 0; justify-content: center; padding: 10px 8px; font-size: 14.5px; }
  .vg-board-switch button span { display: none; }
  .vg-footer-supporters .vg-supporter-strip { justify-content: center; }
  .vg-prebar p { font-size: 13.5px; }
  [id] { scroll-margin-top: 84px; }
  .vg-hero-visual > .fusion-column-wrapper { padding: 18px 8px 8px !important; }
  .vg-hero-photo img { box-shadow: 0 0 0 12px var(--vg-linen); }
  .vg-chip { font-size: 15px; padding: 10px 16px 10px 14px; gap: 10px; }
  .vg-chip::before { width: 10px; height: 10px; }
  .vg-chip-1 { top: 4%; left: 0; }
  .vg-chip-2 { top: 44%; right: 0; }
  .vg-chip-3 { bottom: 3%; left: 6%; }
  .vg-actions { flex-direction: column; align-items: stretch; }
  .vg-actions .vg-btn { width: 100%; }
  .vg-header .vg-actions { flex-direction: row; }
  .vg-feature p { padding-left: 0; }
  .vg-card-body { padding: 22px 22px 26px; }
  .vg-card-pad > .fusion-column-wrapper { padding: 28px 24px 30px !important; }
  .vg-price-card > .fusion-column-wrapper { padding: 32px 26px 36px !important; background-size: 200px auto; }
  .vg-photo-framed img, .vg-photo-framed.vg-frame-left img, .vg-photo-frame-ochre img { box-shadow: 10px 10px 0 0 var(--vg-sage); }
  .vg-local-mark { flex-direction: column; align-items: flex-start; }
  .vg-footer-bottom .vg-footer-legal p { text-align: left; }
  .vg-footer-bottom .vg-footer-legal a { margin: 0 22px 0 0; }
  .vg-rings-br-green { background-size: 62vw auto !important; }
  .vg-campaign-stats .vg-feature { padding-right: 0; }
  .vg-campaign-stats .fusion-layout-column:not(:last-child) .vg-feature { padding-bottom: 28px; border-right: 0; border-bottom: 1px solid var(--vg-rule); }
  .vg-campaign-package-col > .fusion-column-wrapper { padding: 28px 24px !important; }
  .vg-campaign-fact { width: calc(100% - 24px); margin-top: -42px; padding: 18px 20px; }
  .vg-blog-wrap { padding-left: 20px; padding-right: 20px; }
  .vg-blog-hero, .vg-post-hero { padding: 40px 0 56px; }
  .vg-post-hero { padding-bottom: 40px; }
  .vg-blog-list { padding-bottom: 64px; }
  .vg-post-grid { grid-template-columns: 1fr; gap: 22px; }
  .vg-post-image { margin-bottom: 36px; }
  .vg-post-content { padding-bottom: 48px; font-size: 18px; }
  .vg-post-cta { padding: 48px 0 52px; }
  .vg-post-back { padding-top: 32px; padding-bottom: 64px; }
  .vg-blog-filter ul { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 2px 20px 8px; scrollbar-width: none; }
  .vg-blog-filter li { flex: none; }
  .vg-post-related { padding: 48px 0 56px; }
  .vg-post-content .vg-box { padding: 22px 20px; }
  .vg-post-content ol.vg-steps > li { padding-left: 58px; }
  .vg-post-content ol.vg-steps > li::before { width: 40px; height: 40px; font-size: 19px; }
  .vg-post-content ol.vg-steps > li::after { left: 19px; top: 44px; }
  .vg-post-content .wp-block-table table { font-size: 15px; }
  .vg-post-content .wp-block-table th, .vg-post-content .wp-block-table td { padding: 10px 10px; font-size: 15px; }
  /* Tabellen ab drei Spalten: gestapelt, jede Zelle mit ihrer Spaltenbezeichnung. */
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) table,
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) tbody,
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) tr { display: block; width: 100%; }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) tr { padding: 10px 0; border-bottom: 1px solid var(--vg-rule); }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) tr:last-child { border-bottom: 0; }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) tbody tr:nth-child(even) td { background: transparent; }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) tbody tr:nth-child(even) { background: var(--vg-paper); }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) td { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 12px; padding: 5px 14px; border: 0; }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) td::before { content: attr(data-label); font-weight: 700; color: var(--vg-green); }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) td:first-child { display: block; font-weight: 700; color: var(--vg-green); }
  .vg-post-content .wp-block-table:has(thead th:nth-child(3)) td:first-child::before { content: none; }
  .vg-post-content .vg-template { padding: 20px 18px 20px; }
  .vg-post-content .vg-template-label { padding-right: 0; }
  .vg-template-copy { position: static; margin: 0 0 14px; }
  .vg-post-content .vg-download { grid-template-columns: 1fr; padding: 20px; }
  .vg-post-content .vg-download::before { grid-row: auto; width: 48px; height: 48px; margin-bottom: 8px; }
  .vg-post-content .vg-download > * { grid-column: 1; }
  .vg-post-content .vg-bars { padding: 20px 18px; }
  .vg-post-content .vg-stats, .vg-post-content .vg-stats:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; }
  .vg-post-content .vg-bars li { grid-template-columns: 1fr; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .vg-btn { transition: none; }
  .vg-btn:hover { transform: none; }
  .vg-post-card { transition: none; }
  .vg-post-card:hover { transform: none; }
}
