/*
Theme Name: Flugkraft
Theme URI: https://flugkraft.de
Author: Flugkraft gGmbH
Author URI: https://flugkraft.de
Description: WordPress Block Theme fuer Flugkraft gGmbH - Foto und Hilfsprojekt fuer Krebskranke.
Version: 0.9.14
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flugkraft
Tags: block-patterns, block-themes, custom-colors, custom-logo
*/

/* === CSS CUSTOM PROPERTIES (Grün Theme) === */
:root {
  --color-primary: #8EA672;
  --color-primary-dark: #7A9460;
  --color-primary-light: #A8BF94;
  --color-primary-muted: #C2D4B2;
  --color-primary-rgb: 142, 166, 114;
  --color-primary-dark-rgb: 122, 148, 96;
  --color-primary-light-rgb: 168, 191, 148;
  --color-accent: #CC5500;
  --color-accent-dark: #A84600;
  --color-accent-rgb: 204, 85, 0;
  --color-bg: #F2F4EE;
  --color-bg-rgb: 242, 244, 238;
  --color-bg-white: #FFFFFF;
  --color-bg-light: #E5E9DD;
  --color-bg-tint: #F6F8F2;
  --color-bg-dark: #231F20;
  --color-bg-dark-accent: #1A1718;
  --color-bg-dark-card: #2D2829;
  --color-bg-dark-card-inner: #252122;
  --color-bg-darker: #110F10;
  --color-bg-dark-rgb: 35, 31, 32;
  --color-nav-bg: #283024;
  --color-nav-bg-rgb: 40, 48, 36;
  --color-text: #231F20;
  --color-text-muted: #555052;
  --color-text-light: #888384;
  --color-border: #B8BFB0;
  --color-border-light: #D4DAC8;
  --font-body: 'Source Sans 3', sans-serif;
  --font-heading: 'Lexend', sans-serif;
  --font-size-base: 1.125rem;
  --container-max: 1200px;
  --section-padding: 2.5rem;
  --border-radius-sm: 10px;
  --border-radius-md: 14px;
  --border-radius-lg: 20px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--color-bg); color: var(--color-text);
  font-family: var(--font-body); line-height: 1.6; font-size: var(--font-size-base);
  font-style: normal !important;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a {
  color: inherit; text-decoration: none;
  background-image: linear-gradient(var(--color-primary), var(--color-primary));
  background-size: 0% 1.5px;
  background-position: left bottom;
  background-repeat: no-repeat;
  padding-bottom: 2px;
  transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s;
}
a:hover { background-size: 100% 1.5px; }
/* Exclude only buttons, images, logos and social icons from animated underline */
.wp-block-button a,
.btn,
.wp-block-site-logo a,
.wp-block-social-links a,
.nav-overlay-social a,
.wp-block-image a,
figure a,
a:has(> img),
.wp-block-cover a { background-image: none; padding-bottom: 0; }
button { font-family: inherit; cursor: pointer; border: none; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); line-height: 1.2; }

/* === SKIP LINK (Accessibility) === */
.skip-link {
  position: absolute; top: -100%; left: 50%; transform: translateX(-50%);
  background: var(--color-primary); color: #fff;
  padding: 0.75rem 1.5rem; border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
  z-index: 100000; font-weight: 600;
  transition: top 0.3s;
}
.skip-link:focus { top: 0; }

/* === ANIMATIONS === */
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes heartbeat { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.25); } 28% { transform: scale(1); } 42% { transform: scale(1.2); } 56% { transform: scale(1); } }
.fade-in, .fade-in-left, .fade-in-right { opacity: 0; transform: translateY(20px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.scale-in { opacity: 0; transform: translateY(12px) scale(0.97); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.fade-in.visible, .fade-in-left.visible, .fade-in-right.visible, .scale-in.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: 0.1s; } .delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; } .delay-4 { transition-delay: 0.45s; }
.delay-5 { transition-delay: 0.6s; }

.container { max-width: var(--container-max); margin: 0 auto; padding: 0 2rem; }
.section { padding: var(--section-padding) 0; }

/* Section modifiers (moved from inline styles) */
.section--about { padding-top: 6.25rem; }
.section--angebote { padding-top: 2.5rem; }
.section--cta { padding-top: 1.25rem; }
.section--faq { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.section--faq .faq-header.wp-block-group { margin-bottom: 2.5rem !important; }
.services-header { margin-bottom: 2.25rem; }
.spenden-note { font-size: 1rem; color: var(--color-text-light); line-height: 1.6; }

/* === NAV === */
.nav-wrapper {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  padding: 0.875rem 2rem; transition: all 0.3s ease;
}
.nav-wrapper.scrolled { padding: 0.5rem 2rem; }
.nav {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  background: var(--color-nav-bg); color: #fff; border-radius: 14px;
  padding: 0.75rem 1.75rem; gap: 1rem;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12);
  transition: all 0.3s ease;
}
.nav-wrapper.scrolled .nav {
  background: rgba(var(--color-nav-bg-rgb),0.7); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.18), 0 2px 8px rgba(var(--color-primary-rgb),0.1);
}
/* When mobile overlay is open: remove backdrop-filter (creates containing block)
   and make nav-wrapper cover viewport with dark bg. WP adds .has-modal-open to <html>. */
html.has-modal-open .nav {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: transparent !important; box-shadow: none !important;
  border-radius: 0 !important; max-width: none !important; padding: 0 !important;
  transition: none !important;
}
html.has-modal-open .nav-wrapper {
  background: var(--color-bg-dark) !important; padding: 0 !important;
  height: 100vh !important; height: 100dvh !important;
  transition: none !important;
}
.nav-logo { flex-shrink: 0; }
.nav-logo img { height: 2.125rem; width: auto; filter: brightness(0) invert(1); }
/* wp:site-logo in nav */
.nav .wp-block-site-logo { flex-shrink: 0; }
.nav .wp-block-site-logo a { display: block; }
.nav .wp-block-site-logo img,
.nav .custom-logo { height: 2.125rem; width: auto; filter: brightness(0) invert(1); }
/* wp:navigation – Desktop */
.nav .wp-block-navigation { font-size: 0.95rem; font-style: normal; }
.nav .wp-block-navigation a,
.nav .wp-block-navigation .wp-block-navigation-item__content { color: #fff; transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s; text-decoration: none; font-style: normal; }
.nav .wp-block-navigation a:hover { color: #fff; }
/* Arrow icon – spacing + rotation */
.nav .wp-block-navigation .wp-block-navigation__submenu-icon { fill: #fff; width: 14px; height: 14px; margin-left: 0.4em !important; transition: transform 0.2s; display: flex; align-items: center; justify-content: center; }
.nav .wp-block-navigation .wp-block-navigation__submenu-icon svg { display: block; }
.nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon,
.nav .wp-block-navigation-item:hover > button .wp-block-navigation__submenu-icon { transform: rotate(180deg); }

/* Desktop dropdown – fade-up on hover */
.nav .wp-block-navigation__submenu-container {
  background: #fff; border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md); padding: 0.5rem 0;
  min-width: 200px; box-shadow: 0 12px 32px rgba(0,0,0,0.12);
  margin-top: 12px; position: absolute;
  opacity: 0 !important; visibility: hidden !important; transform: translateY(-8px);
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s !important;
  pointer-events: none;
}
.nav .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
.nav .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container {
  opacity: 1 !important; visibility: visible !important; transform: translateY(0);
  pointer-events: auto;
}
/* Invisible bridge to prevent hover gap */
.nav .wp-block-navigation__submenu-container::before {
  content: ''; position: absolute; top: -12px; left: 0; right: 0; height: 12px;
}
/* Submenu links */
.nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block; padding: 0.5rem 1.25rem; font-size: 0.88rem; color: var(--color-text);
  background-image: none !important;
  text-decoration: underline transparent;
  text-underline-offset: 4px; text-decoration-thickness: 1.5px;
  transition: background-color 0.15s, color 0.15s, text-decoration-color 0.3s;
}
.nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background-color: var(--color-bg); color: var(--color-primary);
  text-decoration-color: var(--color-primary);
}
.nav-btns { display: flex; gap: 0.625rem; flex-shrink: 0; }
/* wp:buttons in nav - reset WP defaults */
.nav .nav-btns.wp-block-buttons { gap: 0.625rem; }
.nav .nav-btns .wp-block-button { margin: 0; }
.nav .nav-btns .wp-block-button__link {
  padding: 0.625rem 1.375rem; font-family: 'Lexend', sans-serif; font-size: 0.82rem;
  font-weight: 600; border-radius: 10px; display: inline-flex; align-items: center;
  gap: 0.375rem; transition: all 0.25s ease; border: none; cursor: pointer; text-decoration: none;
}
.nav .nav-btns .btn-spenden .wp-block-button__link { background: var(--color-accent); color: #fff; }
.nav .nav-btns .btn-spenden .wp-block-button__link:hover { background: var(--color-accent-dark); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
.nav .nav-btns .btn-shop .wp-block-button__link { background: rgba(255,255,255,0.08); border: 2px solid rgba(255,255,255,0.2); color: #fff; }
.nav .nav-btns .btn-shop .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
.btn {
  padding: 0.625rem 1.375rem; font-family: 'Lexend', sans-serif; font-size: 0.82rem;
  font-weight: 600; border-radius: 10px; display: inline-flex; align-items: center;
  gap: 0.375rem; transition: all 0.25s ease; border: none; cursor: pointer; text-decoration: none;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
.btn:active { transform: translateY(0); }
.btn-spenden { background: var(--color-accent); color: #fff; }
.btn-spenden:not(.wp-block-button)::after {
  content: ''; display: inline-block; width: 1.15em; height: 1.15em; margin-left: 0.35em; vertical-align: -0.15em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.btn-spenden:hover { background: var(--color-accent-dark); }
.btn-spenden:not(.wp-block-button):hover::after { animation: heartbeat 0.8s ease-in-out infinite; }
.btn-shop { background: rgba(255,255,255,0.08); border: 2px solid rgba(255,255,255,0.2); color: #fff; }
.btn-primary { background: var(--color-text); color: #fff; }
.btn-ghost { background: rgba(255,255,255,0.45); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 2px solid var(--color-text); color: var(--color-text); }
.btn-ghost:hover { background: var(--color-text); color: #fff; }
.btn-white { background: #fff; color: var(--color-primary); font-weight: 700; }
.btn-outline-white { background: transparent; border: 2px solid rgba(255,255,255,0.4); color: #fff; }
.btn-outline-white:hover { background: rgba(255,255,255,0.1); }
.btn-lg { padding: 0.875rem 1.875rem; font-size: 0.9rem; }
/* wp:navigation – Extend mobile hamburger to 1024px (64em).
   WordPress "overlayMenu:mobile" triggers at 600px.
   We override the 600px→1024px gap so hamburger shows on tablets too. */

/* === HAMBURGER BUTTON – 3 bars via single pseudo-element + box-shadow === */
.nav .wp-block-navigation__responsive-container-open {
  background: none; border: none; cursor: pointer;
  width: 44px; height: 44px; position: relative;
  display: flex; align-items: center; justify-content: center;
}
.nav .wp-block-navigation__responsive-container-open svg { display: none !important; }
.nav .wp-block-navigation__responsive-container-open::before {
  content: ''; display: block; width: 22px; height: 2.5px;
  background: #fff; border-radius: 2px;
  box-shadow: 0 -7px 0 #fff, 0 7px 0 #fff; /* top + bottom bars */
}

/* Hide hamburger on desktop (> 1024px) */
@media (min-width: 64.01em) {
  .wp-block-navigation__responsive-container-open,
  .nav .wp-block-navigation__responsive-container-open,
  button.wp-block-navigation__responsive-container-open { display: none !important; }
}
/* 600px–1024px: force hamburger, hide inline nav (WordPress shows inline above 600px) */
@media (min-width: 600px) and (max-width: 64em) {
  .nav .wp-block-navigation__responsive-container-open { display: flex !important; }
  .nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .nav .nav-btns { display: none; }
}

/* Hide overlay-only elements on desktop */
@media (min-width: 64.01em) {
  .nav-overlay-logo,
  .nav-overlay-extras { display: none !important; }
}

/* === MOBILE OVERLAY – fade-in === */
.nav .wp-block-navigation__responsive-container.is-menu-open,
.nav .wp-block-navigation__responsive-container.is-menu-open.has-modal-open {
  position: fixed !important; inset: 0 !important; z-index: 100000 !important;
  width: 100vw !important; height: 100vh !important; height: 100dvh !important;
  background: var(--color-bg-dark) !important; color: #fff !important;
  padding: 0 !important;
  display: flex !important; flex-direction: column !important;
  overflow: hidden !important;
  animation: overlayFadeIn 0.3s ease-out;
}
@keyframes overlayFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Responsive-close is a WRAPPER – fill the overlay */
.nav .is-menu-open .wp-block-navigation__responsive-close {
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important;
  flex: 1; position: relative; min-height: 0;
  width: 100% !important;
}
/* Responsive-dialog wraps BOTH close-btn AND content – must also fill */
.nav .is-menu-open .wp-block-navigation__responsive-dialog {
  position: static !important; width: 100% !important; height: auto !important;
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important;
  flex: 1; min-height: 0;
}
/* Close button – absolute top-right */
.nav .is-menu-open .wp-block-navigation__responsive-dialog > button,
.nav .is-menu-open .wp-block-navigation__responsive-dialog > [aria-label]:first-child {
  position: absolute !important; top: 1.25rem; right: 1.5rem; z-index: 20;
  color: #fff !important; background: none !important; border: none !important;
  width: 44px; height: 44px; padding: 0;
  display: flex !important; align-items: center; justify-content: center; cursor: pointer;
  transition: color 0.3s;
}
.nav .is-menu-open .wp-block-navigation__responsive-dialog > button:hover {
  color: var(--color-primary-light);
}
.nav .is-menu-open .wp-block-navigation__responsive-close svg {
  fill: #fff !important; width: 28px; height: 28px;
}

/* Content container */
.nav .is-menu-open .wp-block-navigation__responsive-container-content {
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important;
  flex: 1; overflow-x: hidden; overflow-y: auto;
  position: relative;
  padding-top: 0.5rem;
}

/* Logo at top of overlay */
.nav-overlay-logo {
  flex-shrink: 0; padding: 1.25rem 1.5rem 1rem;
  display: flex; align-items: center;
}
.nav-overlay-logo img {
  height: 2rem; width: auto; filter: brightness(0) invert(1);
}

/* === NAVIGATION ITEMS IN OVERLAY === */
.nav .is-menu-open .wp-block-navigation__container {
  align-items: stretch !important; gap: 0 !important;
  padding: 0.5rem 0 0;
}
.nav .is-menu-open .wp-block-navigation-item {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  align-items: stretch !important;
}
.nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  font-family: var(--font-heading) !important; font-size: 1.1rem !important; font-weight: 600 !important;
  color: #fff !important; padding: 1.1rem 1.5rem !important; display: flex !important; align-items: center;
  text-decoration: none !important; transition: color 0.2s; width: 100% !important; box-sizing: border-box !important;
}
.nav .is-menu-open .wp-block-navigation-item__content:hover {
  color: var(--color-primary-light) !important;
}

/* Hide WP submenu defaults in overlay */
.nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.nav .is-menu-open .wp-block-navigation__submenu-container { display: none !important; }

/* Circular chevron button on items with children (like Diakonie reference) */
.nav .is-menu-open .wp-block-navigation-item[data-drilldown] > .wp-block-navigation-item__content::after {
  content: '';
  width: 36px; height: 36px; flex-shrink: 0; margin-left: auto;
  border-radius: 50%; background: var(--color-primary);
  display: flex; align-items: center; justify-content: center;
  /* Chevron arrow via CSS borders inside the circle */
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E");
  background-size: 18px 18px; background-position: center; background-repeat: no-repeat;
  transition: background-color 0.2s;
}
.nav .is-menu-open .wp-block-navigation-item[data-drilldown] > .wp-block-navigation-item__content:hover::after {
  background-color: var(--color-primary-light);
}

/* === DRILL-DOWN PANELS – fixed to cover full viewport === */
.drilldown-panel {
  position: fixed !important; inset: 0 !important;
  z-index: 100001; background: var(--color-nav-bg);
  display: none; flex-direction: column; /* hidden by default */
  padding: 0; margin: 0; border: none; box-shadow: none;
  list-style: none;
  transform: translateX(100%); transition: transform 0.3s var(--ease-out);
  overflow-y: auto; overflow-x: hidden;
}
/* Only render panels when overlay is open */
.is-menu-open > .drilldown-panel {
  display: flex;
}
.drilldown-panel.drilldown-open {
  transform: translateX(0);
}

/* Drill-down header */
.drilldown-header {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 1.25rem 1.5rem; flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.drilldown-back {
  background: var(--color-primary); color: #fff; cursor: pointer;
  width: 36px; height: 36px; border-radius: 50%;
  border: none !important;
  display: flex; align-items: center; justify-content: center;
  transition: background-color 0.2s; flex-shrink: 0;
}
.drilldown-back:hover { background: var(--color-primary-light); }
.drilldown-back svg { width: 18px; height: 18px; }
.drilldown-title {
  font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em; color: var(--color-primary-light);
}

/* Drill-down panel items */
.drilldown-panel > .wp-block-navigation-item {
  display: block !important; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.drilldown-panel > .wp-block-navigation-item:last-of-type { border-bottom: none; }
.drilldown-panel .wp-block-navigation-item__content {
  font-family: var(--font-heading) !important; font-size: 1.05rem !important; font-weight: 600 !important;
  color: #fff !important; padding: 1.1rem 1.5rem !important; display: block !important;
  text-decoration: none !important; transition: color 0.2s;
}
.drilldown-panel .wp-block-navigation-item__content:hover {
  color: var(--color-primary-light) !important;
}

/* === OVERLAY EXTRAS – Spenden + Social === */
.nav-overlay-extras {
  flex-shrink: 0; margin-top: auto;
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
}
.nav-overlay-cta {
  width: 100%; text-align: center; justify-content: center;
}
.nav-overlay-social {
  display: flex; gap: 0.75rem; justify-content: center;
}
.nav-overlay-social a {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  color: #fff; transition: all 0.3s;
}
.nav-overlay-social a:hover { border-color: var(--color-primary-light); color: var(--color-primary-light); }
.nav-overlay-social a svg,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close .nav-overlay-social a svg {
  width: 20px; height: 20px; stroke: #fff !important; fill: none !important;
}
.nav-overlay-social a:hover svg { stroke: var(--color-primary-light) !important; fill: none !important; }

/* === HERO === */
.hero { padding-top: 5.625rem; padding-bottom: 6.875rem; position: relative; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero-bg img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(100%);
  transform: scale(1.1); transform-origin: center top;
  will-change: transform;
}
.hero-bg::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(135deg, rgba(var(--color-bg-rgb),0.92) 0%, rgba(var(--color-bg-rgb),0.82) 50%, rgba(var(--color-bg-rgb),0.6) 100%),
    linear-gradient(to bottom, transparent 60%, var(--color-bg) 100%);
}
.hero-top {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center;
  max-width: 1200px; margin: 0 auto; padding: 3rem 2rem 0;
  position: relative; z-index: 1;
}
.hero-text h1 {
  font-size: 2.8rem; font-weight: 800; color: var(--color-text);
  line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 1rem;
}
.hero-text h1 em { font-style: normal; color: var(--color-primary); }
.hero-text p {
  font-size: 1rem; color: var(--color-text-muted); max-width: 30rem;
  line-height: 1.7; margin-bottom: 1.5rem;
}
.hero-btns { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.hero-video-wrap {
  border-radius: 20px; overflow: hidden; position: relative;
  box-shadow: 0 12px 48px rgba(var(--color-primary-rgb),0.25); cursor: pointer;
}
.hero-video-wrap video { width: 100%; height: 20rem; object-fit: cover; display: block; }
.video-play-btn {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(var(--color-bg-dark-rgb),0.25); transition: background 0.3s;
}
.hero-video-wrap:hover .video-play-btn { background: rgba(var(--color-bg-dark-rgb),0.4); }
.video-play-btn .play-circle {
  width: 72px; height: 72px; border-radius: 50%;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 32px rgba(var(--color-primary-rgb),0.3);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s;
}
.hero-video-wrap:hover .play-circle {
  transform: scale(1.08);
  box-shadow: 0 12px 40px rgba(var(--color-primary-rgb),0.4);
}
.play-circle svg { width: 28px; height: 28px; margin-left: 3px; }
.video-play-label {
  position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%);
  font-family: 'Lexend', sans-serif; font-size: 0.72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.09em; color: #fff;
  background: rgba(var(--color-bg-dark-rgb),0.6); backdrop-filter: blur(8px);
  padding: 0.375rem 1rem; border-radius: 20px;
}

/* Video Modal */
.video-modal {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(9,9,11,0.85); backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
}
.video-modal.active { opacity: 1; pointer-events: auto; }
.video-modal-inner {
  position: relative; width: 90%; max-width: 960px; aspect-ratio: 16/9;
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5);
  transform: scale(0.92); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.video-modal.active .video-modal-inner { transform: scale(1); }
.video-modal-inner iframe { width: 100%; height: 100%; border: none; }
.video-modal-close {
  position: absolute; top: -48px; right: 0;
  width: 40px; height: 40px; border-radius: 50%; border: none;
  background: rgba(255,255,255,0.15); color: #fff; font-size: 1.25rem;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
}
.video-modal-close:hover { background: rgba(255,255,255,0.25); }

/* === STATS === */
.stats-bar {
  max-width: 1200px; margin: -2.75rem auto -2.75rem; padding: 0 2rem;
  position: relative; z-index: 10;
}
.stats-grid {
  display: flex; border-radius: 16px; border: 1.5px solid var(--color-border);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08), 0 4px 16px rgba(var(--color-primary-rgb),0.1);
  overflow: hidden;
  background: linear-gradient(135deg, #FFFFFF 0%, var(--color-bg-tint) 50%, #FFFFFF 100%);
}
.stat { flex: 1; text-align: center; padding: 1.375rem 0.75rem; position: relative; }
.stat:hover { background: rgba(var(--color-primary-rgb),0.04); transition: background 0.2s; }
.stat:not(:last-child)::after {
  content: ''; position: absolute; right: 0; top: 20%; height: 60%; width: 1px; background: var(--color-border-light);
}
.stat-number { font-family: 'Lexend', sans-serif; font-weight: 700; font-size: 1.6rem; color: var(--color-primary); }
.stat-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-light); margin-top: 2px; }

/* === ABOUT === */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.about-img { border-radius: 20px; overflow: hidden; }
.about-img img { width: 100%; height: 23.75rem; object-fit: cover; transition: transform 0.6s; }
.about-img:hover img { transform: scale(1.03); }
.section-label {
  font-family: 'Lexend', sans-serif; font-size: 0.72rem; letter-spacing: 0.19em;
  text-transform: uppercase; color: var(--color-primary); margin-bottom: 0.5rem; font-weight: 600;
}
.about-text h2 { font-size: 2rem; font-weight: 700; margin-bottom: 0.875rem; }
.about-text p { color: var(--color-text-muted); line-height: 1.75; margin-bottom: 0.875rem; }
.about-list { list-style: none; margin: 1rem 0 1.5rem; }
.about-list li { padding: 0.375rem 0 0.375rem 1.75rem; position: relative; color: var(--color-text-muted); font-size: 1rem; }
.about-list li::before {
  content: ''; position: absolute; left: 0; top: 0.75rem;
  width: 12px; height: 12px; border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
}

/* === ANGEBOTE (6 cards) === */
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.service-card {
  background: #fff; border: 1.5px solid var(--color-border); border-radius: 14px;
  overflow: hidden; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.service-card:hover { border-color: var(--color-primary); transform: translateY(-4px); box-shadow: 0 12px 36px rgba(var(--color-primary-rgb),0.1); }
.service-card-img { height: 10.625rem; overflow: hidden; }
.service-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.service-card:hover .service-card-img img { transform: scale(1.05); }
.service-card-body { padding: 1.25rem; }
.service-card-body h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 0.375rem; color: var(--color-text); }
.service-card-body p:not(.service-card-link) { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.55; }
.service-card-arrow {
  display: flex; align-items: center; gap: 0.375rem; margin-top: 0.875rem;
  font-family: 'Lexend', sans-serif; font-size: 0.78rem; font-weight: 600;
  color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.06em;
}
.service-card-arrow svg { width: 18px; height: 18px; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.service-card:hover .service-card-arrow svg { transform: translateX(4px); }
.service-card-link {
  display: inline-flex; align-items: center; gap: 0.375rem; margin-top: 0.875rem;
  font-family: var(--font-heading); font-size: 0.78rem; font-weight: 600;
  color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.06em;
  cursor: pointer;
}
.service-card-link::after {
  content: '\2192'; display: inline-block;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.service-card:hover .service-card-link::after { transform: translateX(4px); }
.section-title { font-size: 2rem; font-weight: 700; margin-bottom: 0.75rem; }
.section-desc { color: var(--color-text-muted); line-height: 1.7; max-width: 36.25rem; }
.text-center { text-align: center; }
.mx-auto { margin-left: auto; margin-right: auto; }

/* === MOTTO === */
.motto-section { position: relative; overflow: hidden; padding: 6.25rem 0; margin: 0; }
.motto-bg { position: absolute; inset: 0; z-index: 0; }
.motto-bg img { width: 100%; height: 100%; object-fit: cover; }
.motto-bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(var(--color-bg-dark-rgb),0.88) 0%, rgba(var(--color-primary-rgb),0.75) 100%);
}
/* wp:cover motto override */
.motto-section.wp-block-cover { min-height: unset; padding: 6.25rem 0; margin: 0; }
.motto-section.wp-block-cover .wp-block-cover__background.has-background-dim {
  background: linear-gradient(135deg, rgba(var(--color-bg-dark-rgb),0.88) 0%, rgba(var(--color-primary-rgb),0.75) 100%);
  opacity: 0.5;
}
.motto-section .wp-block-cover__inner-container {
  max-width: 1200px; margin: 0 auto; padding: 0 2rem; text-align: center; color: #fff;
}
.motto-logo { margin-bottom: 1rem; display: flex; justify-content: center; }
.motto-logo img { height: 3rem; width: auto; filter: brightness(0) invert(1) drop-shadow(0 2px 12px rgba(255,255,255,0.3)); }
.motto-content {
  position: relative; z-index: 1; max-width: 1200px; margin: 0 auto;
  padding: 0 2rem; text-align: center; color: #fff;
}
.motto-icon { margin-bottom: 1rem; display: flex; justify-content: center; }
.motto-icon img { height: 3rem; width: auto; filter: brightness(0) invert(1) drop-shadow(0 2px 12px rgba(255,255,255,0.3)); }
.motto-section .wp-block-cover__inner-container h2,
.motto-content h2 { font-size: 2.4rem; font-weight: 800; margin-bottom: 0.75rem; letter-spacing: -0.03em; color: #fff; }
.motto-section .wp-block-cover__inner-container .motto-quote,
.motto-content p { font-size: 1.3rem; opacity: 0.9; max-width: 37.5rem; margin: 0 auto 1.75rem; font-style: italic; color: #fff; }
.motto-section .wp-block-cover__inner-container .wp-block-button__link {
  background: #fff; color: var(--color-primary); border: none; border-radius: 2rem;
  padding: 0.75rem 2rem; font-weight: 600; font-size: 1rem; text-decoration: none;
}
.motto-section .wp-block-cover__inner-container .wp-block-button__link:hover {
  background: var(--color-primary); color: #fff;
}

/* === SPENDEN === */
.spenden-section { background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-light) 100%); padding-bottom: 0 !important; }
.spenden-section .container { margin-bottom: 0; padding-bottom: 0; }
.spenden-layout.wp-block-columns { margin-bottom: 0 !important; }
.spenden-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: stretch; }
.spenden-left { position: relative; display: flex; flex-direction: column; }
.spenden-left-img {
  border-radius: 20px; overflow: hidden; flex: 1; min-height: 12.5rem; margin-bottom: 1.25rem;
  box-shadow: 0 8px 32px rgba(var(--color-primary-rgb),0.1);
}
.spenden-left-img img { width: 100%; height: 100%; object-fit: cover; }
.spenden-left h2 { font-size: 2rem; font-weight: 700; margin-bottom: 0.625rem; }
.spenden-left p { color: var(--color-text-muted); line-height: 1.7; margin-bottom: 1rem; }
.spenden-left .section-label { margin-bottom: 0.5rem; }
.spenden-right { display: flex; flex-direction: column; }
.spenden-right > * { flex: 1; display: flex; flex-direction: column; }
.fk-donate-form {
  background: #fff; border-radius: 20px; border: 1.5px solid var(--color-border);
  box-shadow: 0 8px 40px rgba(var(--color-primary-rgb),0.08); overflow: hidden;
  display: flex; flex-direction: column; flex: 1;
}
.fk-donate-header {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); color: #fff;
  padding: 1.5rem 1.75rem;
}
.fk-donate-header h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.1875rem; }
.fk-donate-header p { font-size: 0.92rem; opacity: 0.85; }
.fk-donate-progress { padding: 1.25rem 1.75rem 0; }
.fk-donate-bar-wrap { height: 10px; border-radius: 100px; background: var(--color-border-light); overflow: hidden; }
.fk-donate-bar-fill {
  height: 100%; border-radius: 100px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-primary-light));
  width: 0; transition: width 1.5s ease;
}
.fk-donate-bar-fill.animate { width: 68%; }
.fk-donate-bar-meta { display: flex; justify-content: space-between; margin-top: 0.5rem; font-size: 0.75rem; color: var(--color-text-light); }
.fk-donate-bar-meta strong { color: var(--color-text); }
.fk-donate-body { padding: 1.25rem 1.75rem 1.75rem; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.fk-donate-label { font-family: 'Lexend', sans-serif; font-size: 0.76rem; font-weight: 600; color: var(--color-text); margin-bottom: 0.625rem; }
.fk-donate-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-bottom: 1rem; }
.fk-donate-amt {
  padding: 0.6875rem 0.375rem; border-radius: 10px; font-family: 'Lexend', sans-serif;
  font-size: 0.85rem; font-weight: 600; text-align: center;
  border: 2px solid var(--color-border-light); background: transparent; color: var(--color-text);
  cursor: pointer; transition: all 0.2s;
}
.fk-donate-amt:hover { border-color: var(--color-primary); color: var(--color-primary); }
.fk-donate-amt.active { border-color: var(--color-primary); color: var(--color-primary); background: rgba(var(--color-primary-rgb),0.06); font-weight: 700; }
.fk-donate-custom {
  width: 100%; padding: 0.75rem 0.875rem; border: 2px solid var(--color-border-light); border-radius: 10px;
  font-size: 1rem; margin-bottom: 1rem; outline: none; transition: border-color 0.2s;
  background: var(--color-bg-white); font-family: 'Source Sans 3', sans-serif;
}
.fk-donate-custom:focus { border-color: var(--color-primary); }
.fk-donate-frequency { display: flex; gap: 0.5rem; margin-bottom: 1rem; }
.fk-donate-freq-btn {
  flex: 1; padding: 0.5625rem; border-radius: 10px; font-family: 'Lexend', sans-serif;
  font-size: 0.76rem; font-weight: 600; text-align: center;
  border: 2px solid var(--color-border-light); background: transparent; color: var(--color-text-muted);
  cursor: pointer; transition: all 0.2s;
}
.fk-donate-freq-btn.active { border-color: var(--color-primary); color: #fff; background: var(--color-primary); }
.fk-donate-freq-btn:hover:not(.active) { border-color: var(--color-primary); color: var(--color-primary); }
.fk-donate-submit {
  width: 100%; padding: 0.875rem; border-radius: 12px; font-family: 'Lexend', sans-serif;
  font-size: 0.95rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); border: none;
  cursor: pointer; transition: all 0.25s;
  box-shadow: 0 4px 20px rgba(var(--color-accent-rgb),0.3);
}
.fk-donate-submit::after {
  content: ''; display: inline-block; width: 1em; height: 1em; margin-left: 0.3em; vertical-align: -0.1em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.fk-donate-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(var(--color-accent-rgb),0.4); }
.fk-donate-submit:hover::after { animation: heartbeat 0.8s ease-in-out infinite; }
.fk-donate-secure {
  display: flex; align-items: center; justify-content: center; gap: 0.375rem;
  margin-top: 0.625rem; font-size: 0.7rem; color: var(--color-text-light);
}
.fk-donate-secure svg { width: 13px; height: 13px; }

/* Compact donate card (Gutenberg block version) */
.fk-donate-form .fk-donate-amounts-grid.wp-block-buttons {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.fk-donate-form .fk-donate-amounts-grid .wp-block-button { margin: 0; }
.fk-donate-form .wp-block-button.fk-donate-amt-btn a.wp-block-button__link {
  padding: 0.6875rem 0.375rem;
  border-radius: 10px;
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  text-align: center;
  border: 2px solid var(--color-border-light) !important;
  background: transparent !important;
  color: var(--color-text) !important;
  width: 100%;
  transition: all 0.2s;
}
.fk-donate-form .wp-block-button.fk-donate-amt-btn a.wp-block-button__link:hover {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}
.fk-donate-form .wp-block-button.fk-donate-amt-btn--active a.wp-block-button__link {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
  background: rgba(var(--color-primary-rgb), 0.06) !important;
  font-weight: 700;
}
.fk-donate-form .wp-block-button.fk-donate-submit-btn a.wp-block-button__link {
  width: 100%;
  padding: 0.875rem;
  border-radius: 12px;
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff !important;
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)) !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(var(--color-accent-rgb), 0.3);
  transition: all 0.25s;
}
.fk-donate-form .wp-block-button.fk-donate-submit-btn a.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(var(--color-accent-rgb), 0.4);
}
.fk-donate-form .fk-donate-submit-btn { margin-top: 0.5rem; }
.fk-donate-form .fk-donate-body .fk-donate-secure { text-align: center; }
@media (max-width: 480px) {
  .fk-donate-form .fk-donate-amounts-grid.wp-block-buttons { grid-template-columns: repeat(2, 1fr); }
}

/* === TESTIMONIAL SLIDER === */
.testimonial-section {
  background: linear-gradient(135deg, var(--color-text) 0%, var(--color-bg-dark-accent) 100%); color: #fff;
  position: relative; overflow: hidden;
}
.testimonial-section::before {
  content: ''; position: absolute; top: -6%; right: -4%;
  width: 400px; height: 400px;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.06; pointer-events: none;
  transform: rotate(-15deg);
}
.testimonial-section::after {
  content: ''; position: absolute; bottom: -8%; left: -4%;
  width: 300px; height: 300px;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.04; pointer-events: none;
  transform: rotate(18deg);
}
.testimonial-header { text-align: center; margin-bottom: 2.5rem; position: relative; z-index: 1; }
.testimonial-header .section-label { color: var(--color-primary-light); }
.testimonial-header h2 { font-size: 2rem; font-weight: 700; color: #fff; }
/* Slider styles moved to flugkraft-testimonials plugin (fkt- prefix) */

/* === NEWS === */
.news-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 1.75rem; }
.news-header h2 { font-size: 1.8rem; font-weight: 700; }
.news-header h2 em { font-style: normal; color: var(--color-primary); }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.news-card {
  background: #fff; border: 1.5px solid var(--color-border); border-radius: 14px;
  overflow: hidden; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.news-card:hover { border-color: var(--color-primary); transform: translateY(-4px); box-shadow: 0 12px 36px rgba(var(--color-primary-rgb),0.1); }
.news-card-img { height: 10.625rem; overflow: hidden; }
.news-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.news-card:hover .news-card-img img { transform: scale(1.05); }
.news-card-body { padding: 1.125rem; }
.news-card-date { font-size: 0.7rem; color: var(--color-text-light); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.3125rem; }
.news-card-body h3 { font-size: 1.05rem; font-weight: 700; color: var(--color-text); margin-bottom: 0.3125rem; }
.news-card-body p { font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.55; }
.news-card-arrow {
  display: flex; align-items: center; gap: 0.375rem; margin-top: 0.75rem;
  font-family: 'Lexend', sans-serif; font-size: 0.78rem; font-weight: 600;
  color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.06em;
}
.news-card-arrow svg { width: 18px; height: 18px; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.news-card:hover .news-card-arrow svg { transform: translateX(4px); }

/* === CTA BANNER === */
.cta-banner {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); color: #fff;
  border-radius: 20px; padding: 2.75rem; display: flex;
  justify-content: space-between; align-items: center; gap: 1.75rem;
  position: relative; overflow: hidden;
}
.cta-banner::before {
  content: ''; position: absolute; top: 50%; right: -3%;
  width: 260px; height: 260px;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.09; pointer-events: none;
  transform: translateY(-50%) rotate(-10deg);
}
.cta-text { position: relative; z-index: 1; }
.cta-text h3 { font-size: 1.4rem; font-weight: 700; margin-bottom: 0.3125rem; }
.cta-text p { font-size: 1rem; opacity: 0.9; }
.cta-btns { display: flex; gap: 0.75rem; flex-shrink: 0; position: relative; z-index: 1; }

/* === FAQ === */
.faq-grid { max-width: 48.75rem; margin: 0 auto; }
.faq-item,
.faq-grid .wp-block-details {
  border: 1.5px solid var(--color-border); border-radius: 12px; margin-bottom: 0.625rem;
  overflow: hidden; background: #fff; transition: box-shadow 0.3s, border-color 0.3s;
}
.faq-item:hover,
.faq-grid .wp-block-details:hover { border-color: var(--color-primary); box-shadow: 0 4px 16px rgba(var(--color-primary-rgb),0.06); }
.faq-question,
.faq-grid .wp-block-details summary {
  width: 100%; padding: 1.125rem 1.375rem; background: none; border: none;
  font-family: 'Lexend', sans-serif; font-size: 1rem; font-weight: 600;
  color: var(--color-text); text-align: left; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  list-style: none;
}
.faq-grid .wp-block-details summary::-webkit-details-marker { display: none; }
.faq-grid .wp-block-details summary::after {
  content: ''; flex-shrink: 0; width: 18px; height: 18px; transition: transform 0.3s;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.faq-grid .wp-block-details[open] summary::after { transform: rotate(180deg); }
.faq-question svg { flex-shrink: 0; transition: transform 0.3s; color: var(--color-primary); }
.faq-item.open .faq-question svg { transform: rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.faq-item.open .faq-answer { max-height: 200px; }
/* Animated wrapper for wp:details content */
.faq-wrap {
  overflow: hidden;
  transition: height 0.4s ease;
}
.faq-answer-inner,
.faq-grid .wp-block-details p { padding: 0 1.375rem 1.125rem; font-size: 1rem; color: var(--color-text-muted); line-height: 1.7; }

/* === FOOTER === */
.footer { background: var(--color-bg-darker); color: #fff; padding-top: 10rem; }
.footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }

/* Bank Cards – wp:columns override */
.footer .footer-bank-hero.wp-block-columns {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.5rem;
  padding-bottom: 2.5rem; margin-bottom: 2.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  position: relative; z-index: 2;
  margin-top: -11.875rem; margin-block-start: -11.875rem !important;
}
.footer .footer-bank-card.wp-block-column {
  background: linear-gradient(135deg, var(--color-bg-dark-card), var(--color-bg-dark-card-inner)); border: 1.5px solid rgba(255,255,255,0.2);
  border-radius: 16px; padding: 1.75rem;
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  flex-basis: auto !important;
}
.footer .footer-bank-card.wp-block-column:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(var(--color-primary-rgb),0.2); }
.footer .footer-bank-card .wp-block-heading {
  font-family: 'Lexend', sans-serif; font-size: 0.78rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em; color: var(--color-primary-light); margin-bottom: 0.875rem;
}
.footer .footer-bank-row.wp-block-group { display: flex; justify-content: space-between; align-items: baseline; gap: 0; padding: 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 0.92rem; flex-wrap: nowrap; }
.footer .footer-bank-row.wp-block-group:last-of-type { border-bottom: none; }
.footer .footer-bank-row .fbl { color: #fff; flex-shrink: 0; }
.footer .footer-bank-row .fbv { color: #fff; font-family: 'Lexend', sans-serif; font-weight: 500; font-size: 0.9rem; text-align: right; }
.footer .footer-bank-row p { margin: 0; }
.footer .footer-donate-hint { font-size: 1rem; color: #fff; line-height: 1.7; }
.footer .footer-donate-hint strong { color: #fff; display: block; font-size: 1.05rem; margin-bottom: 0.5rem; font-family: 'Lexend', sans-serif; }
.footer .footer-donate-btn .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.75rem 1.75rem; background: var(--color-accent); color: #fff; border-radius: 10px;
  font-family: 'Lexend', sans-serif; font-size: 0.84rem; font-weight: 600;
  transition: all 0.25s; box-shadow: 0 4px 16px rgba(var(--color-accent-rgb),0.3);
}
.footer .footer-donate-btn .wp-block-button__link::after {
  content: ''; display: inline-block; width: 1em; height: 1em; margin-left: 0.3em; vertical-align: -0.1em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.footer .footer-donate-btn .wp-block-button__link:hover { background: var(--color-accent-dark); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(var(--color-accent-rgb),0.4); }
.footer .footer-donate-btn .wp-block-button__link:hover::after { animation: heartbeat 0.8s ease-in-out infinite; }
.footer .footer-donate-btn.wp-block-button { margin-top: 1rem; }
.footer .footer-cta-card.wp-block-column {
  background: linear-gradient(135deg, var(--color-bg-dark-card), var(--color-bg-dark-card-inner)); border: 1.5px solid rgba(255,255,255,0.2);
  border-radius: 16px; padding: 1.75rem;
  display: flex; flex-direction: column; justify-content: center;
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  flex-basis: auto !important;
}
.footer .footer-cta-card.wp-block-column:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(var(--color-primary-rgb),0.2); }

/* Footer main – wp:columns override */
.footer .footer-main.wp-block-columns {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 3rem;
  padding: 2rem 0; margin-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-logo img { height: 4.75rem; width: auto; }
.footer .footer-logo.wp-block-image { margin: 0; }
.footer .footer-logo.wp-block-image img { height: 4.75rem; width: auto; }
.footer-desc { font-size: 0.92rem; color: #fff; max-width: 17.5rem; margin-top: 0.625rem; line-height: 1.6; }
.footer-col-title {
  font-family: 'Lexend', sans-serif; font-size: 0.68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em; color: var(--color-primary-light); margin-bottom: 0.5rem;
}
/* Footer nav links column */
.footer .footer-nav-col.wp-block-column { display: flex; flex-direction: column; margin-left: auto; }
.footer .footer-nav-col p { margin: 0; }
.footer-nav-links { line-height: 0; }
.footer-nav-links br { display: none; }
.footer-nav-links a { font-size: 0.95rem; color: #fff; display: block; width: fit-content; line-height: 1.4; padding: 0.2em 0; transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s; }
.footer-nav-links a:hover { color: var(--color-primary-light); }

/* Footer contact grid – wp:columns override */
.footer .footer-contact-col.wp-block-column { display: flex; flex-direction: column; }
.footer .footer-contact-col .footer-col-title { margin-bottom: 0.75rem; }
.footer .footer-contact-grid.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 0; }
.footer .footer-contact-grid .wp-block-column { display: flex; flex-direction: column; gap: 1.5rem; }

/* Contact items with CSS ::before icons */
.footer .footer-contact-item.wp-block-group { display: flex; flex-direction: column; gap: 0.125rem; align-items: flex-start; padding-left: 2rem; position: relative; }
.footer .footer-contact-item.wp-block-group::before {
  content: ''; position: absolute; left: 0; top: 0.125rem;
  width: 1.25rem; height: 1.25rem; flex-shrink: 0;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  opacity: 0.7;
}
.footer .footer-contact-item.fci-email::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
  background-color: var(--color-primary-light);
}
.footer .footer-contact-item.fci-phone::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  background-color: var(--color-primary-light);
}
.footer .footer-contact-item.fci-hours::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  background-color: var(--color-primary-light);
}
.footer .footer-contact-item.fci-address::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background-color: var(--color-primary-light);
}
.footer .footer-contact-item p { margin: 0; }
.fci-label { font-family: 'Lexend', sans-serif; font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.5); }
.footer .footer-contact-item a, .footer .footer-contact-item span,
.footer .footer-contact-item p:not(.fci-label) { font-size: 0.92rem; color: #fff; transition: color 0.2s; line-height: 1.5; }
.footer .footer-contact-item a:hover { color: var(--color-primary-light); }

/* Footer social links (native wp:social-links block) */
.footer .wp-block-social-links.footer-social-links { margin-top: 1rem; padding: 0; }
.footer .wp-block-social-links.footer-social-links .wp-social-link {
  width: 2.25rem; height: 2.25rem; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  color: #fff; transition: all 0.3s; background: transparent; padding: 0; margin: 0;
}
.footer .wp-block-social-links.footer-social-links .wp-social-link:hover {
  border-color: var(--color-primary-light); background: rgba(var(--color-primary-light-rgb),0.1);
  color: var(--color-primary-light); transform: translateY(-2px);
}
.footer .wp-block-social-links.footer-social-links .wp-social-link a { color: inherit; padding: 0; }
.footer .wp-block-social-links.footer-social-links .wp-social-link svg { width: 16px; height: 16px; fill: currentColor; }

/* Footer bottom */
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.25rem 0 1.5rem; font-size: 0.72rem; color: #fff;
}
.footer-bottom > span:nth-child(2),
.footer-bottom > p:nth-child(2) { order: 1; }
.footer-bottom a { color: #fff; transition: background-size 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s; }
.footer-bottom a:hover { color: var(--color-primary-light); }
.footer-credit { font-size: 0.7rem; color: rgba(255,255,255,0.35); font-family: 'Lexend', sans-serif; letter-spacing: 0.03em; }
.footer-credit span { color: var(--color-primary-light); }

/* === GRAIN TEXTURE OVERLAY === */
body::before {
  content: ''; position: fixed; inset: 0; z-index: 9999; pointer-events: none;
  opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat; background-size: 256px 256px;
}

/* === PARTNER SECTION (carousel styles moved to flugkraft-partners plugin) === */
.partners-section { padding: 4.5rem 0; background: #fff; overflow: hidden; }
.partners-label {
  text-align: center; font-family: 'Lexend', sans-serif; font-size: 0.7rem;
  text-transform: uppercase; letter-spacing: 0.16em; color: var(--color-text-light); margin-bottom: 2.5rem; font-weight: 600;
}


/* === RESPONSIVE === */
@media (max-width: 64em) {
  .hero-top { grid-template-columns: 1fr; gap: 1.5rem; }
  .hero-text { text-align: center; }
  .hero-text p { margin-left: auto; margin-right: auto; }
  .hero-btns { justify-content: center; }
  .about-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .spenden-layout { grid-template-columns: 1fr; }
  .footer .footer-contact-grid.wp-block-columns { grid-template-columns: 1fr; }
  .footer .footer-bank-hero.wp-block-columns { grid-template-columns: 1fr; margin-top: -7.5rem; margin-block-start: -7.5rem !important; }
  .footer { padding-top: 5rem; }
}
@media (max-width: 64em) {
  .nav .wp-block-navigation:not(.nav-main) { display: none; }
  .nav .nav-btns { display: none; }
  .nav { padding: 0.625rem 1.125rem; }
}
@media (max-width: 48em) {
  body { font-size: 1rem; }
  .hero { padding-top: 5rem; padding-bottom: 4rem; }
  .hero-text h1 { font-size: 2rem; }
  .hero-top { padding: 2rem 1.25rem 0; }
  .nav-logo img,
  .nav .custom-logo { height: 1.75rem; width: auto; }
  .nav-wrapper { padding: 0.875rem 1.25rem; }
  .nav-wrapper.scrolled { padding: 0.5rem 1.25rem; }
  .stats-bar { padding: 0 1.25rem; margin: -2rem auto -2rem; }
  .stats-grid,
  .stats-grid.is-layout-flex,
  .stats-grid.wp-block-group-is-layout-flex {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    flex-wrap: unset !important;
    position: relative;
  }
  .stats-grid::before,
  .stats-grid::after {
    content: ''; position: absolute; z-index: 1; background: var(--color-border);
  }
  .stats-grid::before { left: 0; right: 0; top: 50%; height: 1px; }
  .stats-grid::after { top: 0; bottom: 0; left: 50%; width: 1px; }
  .stat:not(:last-child)::after { display: none; }
  .stat { padding: 1rem 0.75rem; border: none; text-align: center; }
  .stat:nth-child(odd) { border-right: none; }
  .stat-number { font-size: 1.3rem; }
  .services-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .service-card-img { height: 8.75rem; }
  .service-card-body { padding: 1rem; }
  .news-grid { grid-template-columns: 1fr; }
  .fk-donate-amounts { grid-template-columns: repeat(2, 1fr); }
  .cta-banner { flex-direction: column; text-align: center; padding: 1.75rem 1.25rem; border-radius: 16px; }
  .cta-btns { justify-content: center; flex-wrap: wrap; }
  .motto-section { padding: 4rem 0; }
  .motto-content h2 { font-size: 1.8rem; }
  .motto-content p { font-size: 1.05rem; }
  .section-title { font-size: 1.6rem; }
  .about-text h2 { font-size: 1.6rem; }
  .about-img img { height: 16.25rem; }
  .spenden-left h2 { font-size: 1.6rem; }
  .footer-main, .footer .footer-main.wp-block-columns { flex-direction: column; gap: 1.75rem; }
  .footer .footer-nav-col.wp-block-column { margin-left: 0; }
  .footer .footer-contact-grid.wp-block-columns { grid-template-columns: 1fr 1fr; }
  .footer-bottom, .footer .footer-bottom.wp-block-group { flex-direction: column; gap: 0.375rem; text-align: center; }
  .news-header { flex-direction: column; gap: 0.75rem; align-items: flex-start; }
  .news-header h2 { font-size: 1.5rem; }
  .container { padding: 0 1.25rem; }
  .section { padding: 1.75rem 0; }
  .section.is-layout-constrained { padding-left: 1.25rem; padding-right: 1.25rem; }
  .partners-section { padding: 3rem 0; }
  .hero-video-wrap video { height: 15rem; }
  .video-play-btn .play-circle { width: 56px; height: 56px; }
  .play-circle svg { width: 22px; height: 22px; }
  .video-play-label { font-size: 0.65rem; padding: 0.3125rem 0.75rem; }
}
@media (max-width: 30em) {
  .hero-text h1 { font-size: 1.6rem; }
  .hero-text p { font-size: 0.92rem; }
  .btn-lg { padding: 0.75rem 1.375rem; font-size: 0.84rem; }
  .services-grid { grid-template-columns: 1fr; }
  .hero-video-wrap video { height: 12.5rem; }
  .motto-content h2 { font-size: 1.5rem; }
  .motto-content p { font-size: 0.95rem; }
  .fk-donate-header { padding: 1.125rem 1.25rem; }
  .fk-donate-body { padding: 1rem 1.25rem 1.5rem; }
  .fk-donate-progress { padding: 1rem 1.25rem 0; }
  .testimonial-header h2 { font-size: 1.5rem; }
  .footer .footer-bank-hero.wp-block-columns { margin-top: -5rem; margin-block-start: -5rem !important; gap: 1rem; }
  .footer { padding-top: 3rem; }
  .footer .footer-bank-card.wp-block-column { padding: 1.25rem; }
  .footer .footer-bank-card .wp-block-heading { font-size: 0.72rem; }
  .footer .footer-bank-row.wp-block-group { font-size: 0.82rem; }
  .cta-banner { padding: 1.5rem 1.125rem; }
  .cta-text h3 { font-size: 1.15rem; }
  .footer .footer-contact-grid.wp-block-columns { grid-template-columns: 1fr; }
}

/* === WORDPRESS BLOCK OVERRIDES === */
.wp-site-blocks { padding-top: 0; }
.site-main > .wp-block-post-content { padding-bottom: 5rem; }
.wp-block-template-part { margin: 0; }
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--container-max);
}
/* Match constrained section children to hero container effective width */
.section.is-layout-constrained {
  padding-left: 2rem; padding-right: 2rem;
}
.section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: calc(var(--container-max) - 4rem) !important;
}

/* Reset WP default block spacing for our custom-styled sections */
.section .wp-block-group,
.hero .wp-block-group,
.stats-bar .wp-block-group,
.motto-section .wp-block-group,
.partners-section .wp-block-group,
.testimonial-section .wp-block-group,
.footer .wp-block-group { margin-top: 0; margin-bottom: 0; }

/* Bordered WP groups get white background for consistency */
.section .wp-block-group[style*="border"],
.section .wp-block-column[style*="border"],
.wp-block-group.has-border-color,
.wp-block-column.has-border-color {
  background: var(--color-bg-white);
}

/* wp:image figure wrappers */
.about-img .wp-block-image,
.service-card-img .wp-block-image,
.news-card-img .wp-block-image,
.motto-logo.wp-block-image,
.spenden-left .wp-block-image { margin: 0; }
.about-img .wp-block-image img,
.service-card-img.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.news-card-img.wp-block-image { margin: 0; }
.news-card-img.wp-block-image img { width: 100%; height: 12.5rem; object-fit: cover; border-radius: 0.75rem 0.75rem 0 0; }

/* wp:columns/column resets for our custom grids */
.about-grid.wp-block-columns { gap: 3rem; }
.services-grid.wp-block-columns { gap: 1.5rem; margin-bottom: 1.5rem; }
.news-grid.wp-block-columns { gap: 1.5rem; }
.news-grid.wp-block-post-template { gap: 1.5rem; }
.news-grid.wp-block-post-template > li { display: flex; }
.news-grid.wp-block-post-template .blog-card { width: 100%; }
.news-more-btn { margin-top: 2.5rem; }
.spenden-layout.wp-block-columns { gap: 2.5rem; }

/* wp:button reset - .btn classes sit on the wrapper div, neutralise the wrapper so only the inner link carries visual styles */
.btn.wp-block-button {
  padding: 0; border: none; background: none; border-radius: 0;
  box-shadow: none; transform: none; display: inline-block;
}
.btn.wp-block-button:hover,
.btn.wp-block-button:active { transform: none; box-shadow: none; background: none; }

/* wp:button inner link - all visual styling lives here */
.btn.wp-block-button .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 10px;
  font-family: 'Lexend', sans-serif; font-weight: 600; letter-spacing: 0.01em;
  padding: 0.625rem 1.375rem; font-size: 0.82rem;
  text-decoration: none; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer; border: 2px solid transparent;
}
.btn.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.15); }
.btn.wp-block-button .wp-block-button__link:active { transform: translateY(0); }
.btn-lg.wp-block-button .wp-block-button__link { padding: 0.875rem 1.875rem; font-size: 0.9rem; }
.btn-spenden.wp-block-button .wp-block-button__link { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
.btn-spenden.wp-block-button .wp-block-button__link::after {
  content: ''; width: 1.2em; height: 1.2em; flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.btn-spenden.wp-block-button .wp-block-button__link:hover { background: var(--color-accent-dark); border-color: var(--color-accent-dark); }
.btn-spenden.wp-block-button .wp-block-button__link:hover::after { animation: heartbeat 0.8s ease-in-out infinite; }
.btn-ghost.wp-block-button .wp-block-button__link { background: rgba(255,255,255,0.45); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 2px solid var(--color-text); color: var(--color-text); }
.btn-ghost.wp-block-button .wp-block-button__link:hover { background: var(--color-text); color: #fff; }
.btn-primary.wp-block-button .wp-block-button__link { background: var(--color-text); color: #fff; border-color: var(--color-text); }
.btn-primary.wp-block-button .wp-block-button__link:hover { background: var(--color-primary); border-color: var(--color-primary); }
.btn-white.wp-block-button .wp-block-button__link { background: #fff; color: var(--color-primary); font-weight: 700; border-color: #fff; }
.btn-white.wp-block-button .wp-block-button__link:hover { background: rgba(255,255,255,0.9); color: var(--color-primary); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.btn-outline-white.wp-block-button .wp-block-button__link { background: transparent; border: 2px solid rgba(255,255,255,0.4); color: #fff; }
.btn-outline-white.wp-block-button .wp-block-button__link:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.8); }
.btn-outline.wp-block-button .wp-block-button__link { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.btn-outline.wp-block-button .wp-block-button__link:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); }

/* Override WordPress-generated button default to be theme-aware */
.wp-element-button, .wp-block-button__link { background-color: var(--color-primary); }
a:hover { color: var(--color-primary); }

/* wp:heading resets */
.wp-block-heading.section-title { margin-top: 0; }

/* ==============================
   SUBPAGE & BLOG STYLES
   ============================== */

/* --- Page Hero (text-only, gradient bg) --- */
.page-hero {
  padding: 8.75rem 0 3.75rem;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--color-bg) 0%, var(--color-bg-light) 100%);
  z-index: 0;
}
.page-hero > .wp-block-group,
.page-hero > .container { position: relative; z-index: 1; }
.page-hero .section-label { margin-bottom: 0.75rem; }
.page-hero h1,
.page-hero .wp-block-heading,
.page-hero .wp-block-query-title {
  font-size: 2.6rem; font-weight: 800; color: var(--color-text);
  line-height: 1.1; letter-spacing: -0.5px; margin-bottom: 1.25rem;
  max-width: 700px;
}
.page-hero h1 em,
.page-hero .wp-block-heading em { font-style: normal; color: var(--color-primary); }
.page-hero .page-hero-desc,
.page-hero .taxonomy-description {
  font-size: 1.05rem; color: var(--color-text-muted); line-height: 1.75;
  max-width: 720px; margin-bottom: 1.75rem;
}
.single-hero { padding-bottom: 1.75rem; padding-top: 6.25rem; overflow: visible; }

/* --- Post Header (Single) --- */
.post-header { max-width: 780px; margin: 0 auto; }
.post-back-link {
  margin-bottom: 1rem; display: flex; font-size: 0.82rem; width: fit-content;
}
.post-back-link a {
  color: var(--color-primary); text-decoration: none;
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-family: var(--font-heading); font-weight: 600;
  transition: gap 0.3s, color 0.2s;
}
.post-back-link a:hover { gap: 0.625rem; color: var(--color-primary-dark); }
.post-header .wp-block-post-title {
  font-size: 2.2rem; font-weight: 800; color: var(--color-text);
  line-height: 1.2; letter-spacing: -0.3px; margin-bottom: 0.75rem;
}
.post-meta {
  gap: 1.25rem; align-items: center;
}
.post-meta > p { margin: 0; display: flex; align-items: center; line-height: 1; }
.post-meta .wp-block-post-author,
.post-meta .wp-block-post-date {
  font-size: 0.88rem; color: var(--color-text-muted);
  display: flex; align-items: center; gap: 0.375rem;
}
.post-meta .wp-block-post-author::before {
  content: ''; display: inline-block; width: 15px; height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252030' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain; flex-shrink: 0; opacity: 0.45;
}
.post-meta .wp-block-post-date::before {
  content: ''; display: inline-block; width: 15px; height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252030' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain; flex-shrink: 0; opacity: 0.45;
}
.post-meta .wp-block-post-author__name { font-weight: 600; }
.post-meta-reading-time {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.88rem; color: var(--color-text-muted);
}
.post-meta-reading-time svg { width: 15px; height: 15px; color: var(--color-text); opacity: 0.45; flex-shrink: 0; }

/* --- Featured Image (Single) --- */
.single-featured-section { padding: 0 0 1.25rem; position: relative; z-index: 2; }
.post-featured-img.wp-block-post-featured-image {
  border-radius: var(--border-radius-lg); overflow: hidden;
  border: 1.5px solid var(--color-border);
  background: var(--color-bg);
  box-shadow: 0 0.5rem 2rem rgba(0,0,0,0.08), 0 0.125rem 0.5rem rgba(var(--color-primary-rgb),0.06);
  margin: -3rem auto 0;
  position: relative; z-index: 2;
}
.post-featured-img.wp-block-post-featured-image img {
  width: 100%; height: auto; display: block;
  max-height: 520px; object-fit: cover; object-position: center;
}

/* --- Post Content (Single) --- */
.single-content-section { padding-top: 2rem; }
.single-content-section .wp-block-group.post-content {
  max-width: 720px; margin: 0 auto; padding-bottom: 0.5rem;
}
.single-content-section .post-content .wp-block-post-content { max-width: 720px; }
.post-content .wp-block-post-content p {
  font-size: 1.05rem; line-height: 1.85; color: var(--color-text-muted);
  margin-bottom: 1.25rem;
}
.post-content .wp-block-post-content h2 {
  font-size: 1.6rem; font-weight: 700; color: var(--color-text);
  margin: 2.5rem 0 1rem; line-height: 1.3;
}
.post-content .wp-block-post-content h3 {
  font-size: 1.25rem; font-weight: 700; color: var(--color-text);
  margin: 2rem 0 0.75rem; line-height: 1.35;
}
.post-content .wp-block-post-content strong { color: var(--color-text); font-weight: 600; }
.post-content .wp-block-post-content a {
  color: var(--color-primary); text-decoration: underline;
  text-underline-offset: 3px; transition: color 0.2s;
}
.post-content .wp-block-post-content a:hover { color: var(--color-primary-dark); }
.post-content .wp-block-post-content blockquote {
  margin: 1.75rem 0; padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--color-primary);
  background: var(--color-bg);
  border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
  font-size: 1.08rem; font-style: italic;
  color: var(--color-text); line-height: 1.7;
}
.post-content .wp-block-post-content img {
  max-width: 100%; height: auto; display: block;
  border-radius: var(--border-radius-md); margin: 1.5rem 0;
}
.post-content .wp-block-post-content figure {
  margin: 2rem 0; line-height: 0;
}
.post-content .wp-block-post-content figure img {
  width: 100%; border-radius: var(--border-radius-md);
  border: 1.5px solid var(--color-border);
}
.post-content .wp-block-post-content figcaption {
  font-size: 0.82rem; color: var(--color-text-muted); text-align: center;
  margin-top: 0.625rem; line-height: 1.5; font-style: italic;
}

/* --- Post Tags (Single) --- */
.post-tags.wp-block-post-terms {
  display: flex; gap: 0.5rem; flex-wrap: wrap;
  padding-top: 1.25rem; border-top: 1.5px solid var(--color-border);
  margin-top: 2rem;
}
.post-tags.wp-block-post-terms a {
  font-family: var(--font-heading); font-size: 0.78rem; font-weight: 600;
  color: var(--color-primary); background: rgba(var(--color-primary-rgb),0.08);
  border: 1px solid rgba(var(--color-primary-rgb),0.15); border-radius: 100px;
  padding: 0.3125rem 0.875rem; text-decoration: none; letter-spacing: 0.3px;
  transition: background 0.2s, border-color 0.2s;
}
.post-tags.wp-block-post-terms a:hover {
  background: rgba(var(--color-primary-rgb),0.15); border-color: var(--color-primary);
}
.post-tags.wp-block-post-terms .wp-block-post-terms__separator { display: none; }

/* --- Share Bar (Single) --- */
.post-share {
  display: flex; align-items: center; gap: 0.75rem;
  margin-top: 2rem; padding-top: 1.5rem;
}
.post-share-label {
  font-family: var(--font-heading); font-size: 0.78rem; font-weight: 700;
  letter-spacing: 1.5px; color: var(--color-text-muted);
}
.post-share-btn {
  width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--color-border); border-radius: 50%; background: transparent;
  color: var(--color-text-muted); cursor: pointer; text-decoration: none;
  transition: all 0.2s;
}
.post-share-btn:hover {
  border-color: var(--color-primary); color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.06);
}
.post-share-btn.copied { border-color: var(--color-accent); color: var(--color-accent); }
.post-share-btn svg { width: 16px; height: 16px; }

/* --- Post Navigation (Prev/Next) --- */
.single-content-section .wp-block-group.post-nav {
  max-width: 720px; margin: 2rem auto 0;
  padding-top: 1.5rem;
  gap: 1.25rem;
  align-items: stretch;
}
.post-nav .wp-block-post-navigation-link {
  flex: 1; padding: 1.25rem 1.25rem 1.25rem 3rem;
  border: 1.5px solid var(--color-border); border-radius: var(--border-radius-md);
  transition: border-color 0.3s, box-shadow 0.3s;
  position: relative;
  min-height: 0;
}
.post-nav .wp-block-post-navigation-link:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.25rem 1rem rgba(var(--color-primary-rgb),0.08);
}
/* Arrow indicators */
.post-nav .wp-block-post-navigation-link::before {
  content: '';
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 20px; height: 20px;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  opacity: 0.35; transition: opacity 0.3s;
}
.post-nav .wp-block-post-navigation-link:hover::before { opacity: 0.7; }
/* Left arrow for "previous" */
.post-nav .wp-block-post-navigation-link:not(.post-nav-item--next)::before {
  left: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D2A3E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}
/* Right arrow for "next" */
.post-nav .post-nav-item--next {
  text-align: right;
  padding: 1.25rem 3rem 1.25rem 1.25rem;
}
.post-nav .post-nav-item--next::before {
  right: 1rem; left: auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D2A3E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E");
}
.post-nav .wp-block-post-navigation-link {
  display: flex; flex-direction: column;
}
.post-nav .wp-block-post-navigation-link .post-navigation-link__label {
  font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600;
  color: var(--color-primary); text-transform: uppercase; letter-spacing: 0.8px;
  display: block; margin-bottom: 0.375rem;
}
.post-nav .wp-block-post-navigation-link a {
  font-size: 0.95rem; font-weight: 600; color: var(--color-text); line-height: 1.4;
  text-decoration: none;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; text-overflow: ellipsis;
}
.post-nav .wp-block-post-navigation-link:empty { display: none; }

/* --- Related Posts --- */
.related-posts-section { padding-top: 3rem; padding-bottom: 1rem; }
.related-posts-section .section-title { margin-bottom: 1.75rem; }
.post-related-grid.wp-block-post-template { gap: 1.5rem; }
.post-related-grid.wp-block-post-template > li { display: flex; }

/* --- Blog Featured Post --- */
.section--blog-featured { padding-bottom: 0; }
.blog-featured-wrap.wp-block-post-template { list-style: none; padding: 0; }
.blog-featured-wrap > li { margin: 0; padding: 0; }
.blog-featured.wp-block-columns {
  background: var(--color-bg-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  gap: 0 !important;
  margin-bottom: 0;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.blog-featured.wp-block-columns:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
}
.blog-featured .blog-featured-img-col { padding: 0; }
.blog-featured .blog-featured-img.wp-block-post-featured-image { margin: 0; }
.blog-featured .blog-featured-img.wp-block-post-featured-image img {
  width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block;
}
.blog-featured .blog-featured-img.wp-block-post-featured-image a {
  display: block; line-height: 0; height: 100%;
}
.blog-featured .blog-featured-body-col {
  padding: 2.5rem !important;
  display: flex; flex-direction: column; justify-content: center;
}
.blog-featured-badge.wp-block-post-terms { margin-bottom: 0.75rem; }
.blog-featured-badge.wp-block-post-terms a {
  background: var(--color-primary); color: #fff;
  font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.8px;
  padding: 0.25rem 0.75rem; border-radius: 100px;
  text-decoration: none;
}
.blog-featured-badge.wp-block-post-terms .wp-block-post-terms__separator { display: none; }
.blog-featured-badge.wp-block-post-terms a:not(:first-of-type) { display: none; }
.blog-featured-meta {
  gap: 1rem; margin-bottom: 0.75rem;
  font-size: 0.85rem; color: var(--color-text-muted);
}
.blog-featured-meta .wp-block-post-date,
.blog-featured-meta .wp-block-post-author { font-size: 0.85rem; color: var(--color-text-muted); }
.blog-featured .blog-featured-body-col .wp-block-post-title {
  font-size: 1.5rem; font-weight: 700; color: var(--color-text);
  line-height: 1.3; margin-bottom: 0.75rem;
}
.blog-featured .blog-featured-body-col .wp-block-post-title a {
  text-decoration: none; color: inherit;
}
.blog-featured .blog-featured-body-col .wp-block-post-excerpt {
  font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.7;
  margin-bottom: 1.25rem;
}
.blog-featured .blog-featured-body-col .wp-block-post-excerpt__excerpt { margin: 0; }
.blog-featured .blog-featured-body-col .wp-block-post-excerpt__more-text { display: none; }

/* --- Blog Archive Grid --- */
.blog-grid.wp-block-post-template {
  gap: 1.75rem;
  list-style: none; padding: 0;
}
.blog-grid.wp-block-post-template > li { margin: 0; padding: 0; display: flex; }

/* --- Blog Card --- */
.blog-card {
  background: var(--color-bg-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  position: relative;
  display: flex; flex-direction: column; width: 100%;
}
.blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
}

/* Blog card image */
.blog-card .blog-card-img.wp-block-post-featured-image {
  margin: 0; overflow: hidden;
}
.blog-card .blog-card-img.wp-block-post-featured-image img {
  width: 100%; height: 13.75rem; object-fit: cover; display: block;
  transition: transform 0.6s;
}
.blog-card:hover .blog-card-img.wp-block-post-featured-image img {
  transform: scale(1.05);
}
.blog-card .blog-card-img.wp-block-post-featured-image a {
  display: block; line-height: 0;
}

/* Blog card body */
.blog-card .blog-card-body {
  padding: 0.75rem 1.25rem 1.25rem;
  flex: 1; display: flex; flex-direction: column;
}
.blog-card .blog-card-body .wp-block-post-title {
  font-size: 1.05rem; font-weight: 700; color: var(--color-text);
  line-height: 1.35; margin-bottom: 0.375rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-card .blog-card-body .wp-block-post-title a {
  text-decoration: none; color: inherit;
}
.blog-card .blog-card-body .wp-block-post-excerpt {
  font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6;
  margin-bottom: 0.75rem;
}
.blog-card .blog-card-body .wp-block-post-excerpt__excerpt {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin: 0;
}
.blog-card .blog-card-body .wp-block-post-excerpt__more-text { display: none; }
.blog-card .blog-card-meta.wp-block-post-date {
  font-size: 0.78rem; color: var(--color-text-muted); margin-bottom: 0.375rem;
  display: flex; align-items: center; gap: 0.375rem;
}
.blog-card .blog-card-meta.wp-block-post-date::before {
  content: ''; display: inline-block; width: 13px; height: 13px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252030' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain; flex-shrink: 0; opacity: 0.45;
}

/* Blog card category badge - 50% on image, 50% below */
.blog-card .blog-card-badge-wrap.wp-block-post-terms {
  position: relative;
  z-index: 3;
  margin: -1.5rem 0 0.25rem 0;
}
.blog-card .blog-card-badge-wrap.wp-block-post-terms a {
  background: var(--color-primary); color: #fff;
  font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.8px;
  padding: 0.25rem 0.75rem; border-radius: 100px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.blog-card .blog-card-badge-wrap.wp-block-post-terms .wp-block-post-terms__separator { display: none; }
.blog-card .blog-card-badge-wrap.wp-block-post-terms a:not(:first-of-type) { display: none; }

/* Blog card "Weiterlesen" link */
.blog-card-link.wp-block-read-more {
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600;
  color: var(--color-primary); text-decoration: none;
  display: inline-flex; align-items: center; gap: 0.375rem;
  transition: gap 0.3s;
  margin-top: auto;
}
.blog-card-link.wp-block-read-more:hover { gap: 0.625rem; }

/* --- Blog Pagination --- */
.blog-pagination.wp-block-query-pagination {
  margin-top: 2.5rem; gap: 0.5rem;
}
.blog-pagination .wp-block-query-pagination-previous,
.blog-pagination .wp-block-query-pagination-next {
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600;
  color: var(--color-primary); text-decoration: none;
  padding: 0.625rem 1.25rem;
  border: 1.5px solid var(--color-border); border-radius: 100px;
  transition: border-color 0.3s, background 0.2s;
}
.blog-pagination .wp-block-query-pagination-previous:hover,
.blog-pagination .wp-block-query-pagination-next:hover {
  border-color: var(--color-primary);
  background: rgba(var(--color-primary-rgb),0.06);
}
.blog-pagination .wp-block-query-pagination-numbers .page-numbers {
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600;
  width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; text-decoration: none;
  color: var(--color-text-muted); transition: all 0.2s;
}
.blog-pagination .wp-block-query-pagination-numbers .page-numbers.current,
.blog-pagination .wp-block-query-pagination-numbers .page-numbers:hover {
  background: var(--color-primary); color: #fff;
}

/* --- Page Hero Meta (subpage icons) --- */
.page-hero .page-hero-meta {
  display: flex; gap: 1.5rem; flex-wrap: wrap;
}
.page-hero .page-hero-meta-item {
  display: flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-heading); font-size: 0.78rem; font-weight: 600;
  color: var(--color-primary); text-transform: uppercase; letter-spacing: 1px;
}
.page-hero .page-hero-meta-item::before {
  content: ''; display: inline-block; width: 1.125rem; height: 1.125rem; flex-shrink: 0;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
}
.phi-location::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-calendar::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-team::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-heart::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-check::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-clock::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-shield::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-document::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-lock::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-gift::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 12 20 22 4 22 4 12'/%3E%3Crect x='2' y='7' width='20' height='5'/%3E%3Cline x1='12' y1='22' x2='12' y2='7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 12 20 22 4 22 4 12'/%3E%3Crect x='2' y='7' width='20' height='5'/%3E%3Cline x1='12' y1='22' x2='12' y2='7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-ruler::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z'/%3E%3Cpath d='m14.5 12.5 2-2'/%3E%3Cpath d='m11.5 9.5 2-2'/%3E%3Cpath d='m8.5 6.5 2-2'/%3E%3Cpath d='m17.5 15.5 2-2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z'/%3E%3Cpath d='m14.5 12.5 2-2'/%3E%3Cpath d='m11.5 9.5 2-2'/%3E%3Cpath d='m8.5 6.5 2-2'/%3E%3Cpath d='m17.5 15.5 2-2'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-home::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-star::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.phi-mail::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}

/* --- Section Content Spacing (overrides WP blockGap:0 reset) --- */
.section > .container > .section-label { margin-block-end: 0.5rem !important; }
.section > .container > .wp-block-heading { margin-block-end: 0.75rem !important; }
.section > .container > .section-desc { margin-block-end: 1.25rem !important; }
.section > .container > .wp-block-columns,
.section > .container > .wp-block-group,
.section > .container > .wp-block-list { margin-block-start: 1.25rem !important; }
.section > .container > .wp-block-buttons { margin-block-start: 1.5rem !important; }
.section > .container > .page-cta { margin-block-start: 0 !important; }

/* --- Content Block (2-col sections) --- */
.content-block.wp-block-columns {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center;
}
.content-block.wp-block-columns > .wp-block-column { flex-basis: unset !important; flex-grow: unset !important; }
.content-block--reverse.wp-block-columns { direction: rtl; }
.content-block--reverse.wp-block-columns > * { direction: ltr; }
.content-block-text .wp-block-heading {
  font-size: 1.8rem; font-weight: 700; margin-bottom: 0.875rem; color: var(--color-text);
}
.founder-section .content-block-text .wp-block-heading { color: #fff; }
.founder-section .content-block-text .section-label { color: var(--color-primary-light); }
.founder-section .content-block-text p { color: rgba(255,255,255,0.8); }
.content-block-text { display: flex; flex-direction: column; justify-content: center; }
.content-block-text p { color: var(--color-text-muted); line-height: 1.75; margin-bottom: 0.875rem; }
.content-block-img {
  border-radius: var(--border-radius-lg); overflow: hidden;
  border: 1.5px solid var(--color-border);
  display: flex;
}
.content-block-img .wp-block-image {
  margin: 0; width: 100%; display: flex;
}
.content-block-img img,
.content-block-img .wp-block-image img {
  width: 100%; min-height: 18rem; object-fit: cover; display: block;
  transition: transform 0.6s;
}
.content-block-img:hover img,
.content-block-img:hover .wp-block-image img { transform: scale(1.03); }
.content-block-img .wp-block-image { margin: 0; }
.founder-section .content-block-img { border: none; }

/* --- Check List (bullet list for subpages) --- */
.check-list.wp-block-list { list-style: none; margin: 1.25rem 0 1.5rem; padding-left: 0; }
.check-list.wp-block-list li {
  padding: 0.5rem 0 0.5rem 2rem; position: relative;
  color: var(--color-text-muted); font-size: 1rem; line-height: 1.6;
}
.check-list.wp-block-list li::before {
  content: ''; position: absolute; left: 0; top: 0.875rem;
  width: 0.875rem; height: 0.875rem; border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
}
.check-list.wp-block-list li strong { color: var(--color-text); font-weight: 600; }
.founder-section .check-list.wp-block-list li { color: rgba(255,255,255,0.8); }
.founder-section .check-list.wp-block-list li strong { color: #fff; }

/* --- Goals List (numbered) --- */
.goals-list.wp-block-list { list-style: none; margin: 1.25rem 0; padding-left: 0; counter-reset: goal; }
.goals-list.wp-block-list li {
  padding: 0.75rem 0 0.75rem 3rem; position: relative;
  color: var(--color-text-muted); font-size: 1rem; line-height: 1.6;
  counter-increment: goal;
}
.goals-list.wp-block-list li::before {
  content: counter(goal); position: absolute; left: 0; top: 0.625rem;
  width: 2rem; height: 2rem; border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-light));
  color: #fff; font-family: var(--font-heading); font-size: 0.82rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.goals-list.wp-block-list li strong { color: var(--color-text); font-weight: 600; }

/* --- Founder Section (dark) --- */
/* Full-width breakout for dark sections inside constrained layouts */
.is-layout-constrained > .founder-section,
.is-layout-constrained > .awards-section,
.is-layout-constrained > .page-cta {
  width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw) !important;
}
.founder-section {
  background: linear-gradient(135deg, var(--color-bg-dark) 0%, var(--color-bg-dark-accent) 100%);
  color: #fff; position: relative; overflow: hidden;
}
.founder-section::before {
  content: ''; position: absolute; top: -6%; right: -4%;
  width: 23.75rem; height: 23.75rem;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.07; pointer-events: none; transform: rotate(-15deg);
}
.founder-grid {
  display: grid !important; grid-template-columns: 17.5rem 1fr; gap: 3rem; align-items: center;
  position: relative; z-index: 1;
}
.founder-img {
  width: 17.5rem; height: 21.25rem; border-radius: var(--border-radius-lg);
  overflow: hidden; border: 2px solid rgba(255,255,255,0.15);
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.3);
}
.founder-img img,
.founder-img .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.founder-img .wp-block-image { margin: 0; height: 100%; }
.founder-text .section-label { color: var(--color-primary-light); }
.founder-text .wp-block-heading { font-size: 1.8rem; font-weight: 700; color: #fff; margin-bottom: 0.75rem; }
.founder-text p { color: rgba(255,255,255,0.8); line-height: 1.75; margin-bottom: 0.875rem; }
.founder-text .wp-block-quote,
.founder-text .founder-quote {
  font-style: italic; font-size: 1.1rem; color: var(--color-primary-light);
  border-left: 3px solid var(--color-primary); padding: 0 0 0 1.25rem;
  margin: 1.25rem 0; background: none;
}
.founder-text .wp-block-quote p { color: var(--color-primary-light); margin-bottom: 0; }

/* --- Transparency Grid (4 cards) --- */
.transparency-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
}
.transparency-card {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md); padding: 1.75rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.transparency-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(var(--color-primary-rgb),0.08);
}
.transparency-card .wp-block-heading {
  font-size: 1.05rem; font-weight: 700; color: var(--color-text);
  margin-bottom: 0.5rem; padding-left: 1.875rem; position: relative;
}
.transparency-card .wp-block-heading::before {
  content: ''; position: absolute; left: 0; top: 0.125rem;
  width: 1.25rem; height: 1.25rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.tc-packages .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-photos .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-donations .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-awards .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9H4.5a2.5 2.5 0 0 1 0-5C7 4 9 7 12 7s5-3 7.5-3a2.5 2.5 0 0 1 0 5H18'/%3E%3Cpath d='M18 15h1.5a2.5 2.5 0 0 0 0-5H18'/%3E%3Cpath d='M6 15H4.5a2.5 2.5 0 0 0 0 5H6'/%3E%3Cpath d='M18 15a2 2 0 1 1 0 4h-4'/%3E%3Cpath d='M6 15a2 2 0 1 0 0 4h8'/%3E%3Cpath d='M6 9a2 2 0 1 0 0 4h12a2 2 0 1 1 0 4'/%3E%3Cpath d='M6 9a2 2 0 1 1 0 4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9H4.5a2.5 2.5 0 0 1 0-5C7 4 9 7 12 7s5-3 7.5-3a2.5 2.5 0 0 1 0 5H18'/%3E%3Cpath d='M18 15h1.5a2.5 2.5 0 0 0 0-5H18'/%3E%3Cpath d='M6 15H4.5a2.5 2.5 0 0 0 0 5H6'/%3E%3Cpath d='M18 15a2 2 0 1 1 0 4h-4'/%3E%3Cpath d='M6 15a2 2 0 1 0 0 4h8'/%3E%3Cpath d='M6 9a2 2 0 1 0 0 4h12a2 2 0 1 1 0 4'/%3E%3Cpath d='M6 9a2 2 0 1 1 0 4'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.transparency-card .wp-block-heading::before {
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
}
/* FAQ transparency-card icons */
.tc-faq-dollar .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.2 7a6 7 0 1 0 0 10'/%3E%3Cpath d='M13 10H5m0 4h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.2 7a6 7 0 1 0 0 10'/%3E%3Cpath d='M13 10H5m0 4h8'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-question .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-heart .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-shield .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-clock .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-chat .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-check .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-document .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.tc-faq-people .wp-block-heading::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.transparency-card p { color: var(--color-text-muted); font-size: 0.95rem; line-height: 1.6; }

/* Centered transparency card (standalone, outside container – constrain to match grid) */
.transparency-card-centered {
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
.transparency-card-centered .wp-block-group.transparency-card {
  background: var(--color-bg-white);
  border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md);
  padding: 1.75rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.transparency-card-centered .wp-block-group.transparency-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(var(--color-primary-rgb), 0.08);
}
@media (max-width: 48em) {
  .transparency-card-centered { max-width: 100%; }
}

/* --- Awards Section (dark, gold icons) --- */
.awards-section {
  background: linear-gradient(135deg, var(--color-bg-dark) 0%, var(--color-bg-dark-accent) 100%);
  color: #fff; position: relative; overflow: hidden;
}
.awards-section::before {
  content: ''; position: absolute; top: -8%; left: -6%;
  width: 27.5rem; height: 27.5rem;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.05; pointer-events: none; transform: rotate(12deg);
}
.awards-section::after {
  content: ''; position: absolute; bottom: -10%; right: -5%;
  width: 18.75rem; height: 18.75rem;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.04; pointer-events: none; transform: rotate(-20deg);
}
.awards-section .section-label { color: var(--color-primary-light); }
.awards-section .section-title { color: #fff; }
.awards-section .section-desc { color: rgba(255,255,255,0.7); }
.awards-grid {
  display: flex; flex-wrap: wrap; gap: 3.25rem 1.5rem;
  justify-content: center; position: relative; z-index: 1;
  padding-top: 2.75rem;
}
.award-card {
  flex: 0 1 calc(25% - 1.125rem); min-width: 13.75rem;
  background: rgba(255,255,255,0.04); border: 1.5px solid rgba(255,255,255,0.1);
  border-radius: var(--border-radius-md); padding: 3.5rem 1.5rem 1.75rem;
  text-align: center; position: relative;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  backdrop-filter: blur(4px);
}
.award-card:hover {
  border-color: rgba(218,165,32,0.5); transform: translateY(-4px);
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.3), 0 0 1.5rem rgba(218,165,32,0.1);
}
.award-icon {
  width: 5.25rem; height: 5.25rem; border-radius: 50%;
  background: linear-gradient(145deg, #F5D060 0%, #DAA520 35%, #C8961E 65%, #B8860B 100%);
  border: 3px solid rgba(245,208,96,0.6);
  display: flex; align-items: center; justify-content: center;
  position: absolute; top: -2.625rem; left: 50%; transform: translateX(-50%);
  box-shadow: 0 0.5rem 1.75rem rgba(218,165,32,0.35), inset 0 2px 0 rgba(255,255,255,0.35);
  transition: transform 0.3s, box-shadow 0.3s;
}
.award-card:hover .award-icon {
  transform: translateX(-50%) scale(1.12);
  box-shadow: 0 0.75rem 2.25rem rgba(218,165,32,0.5), inset 0 2px 0 rgba(255,255,255,0.35);
}
.award-icon::before {
  content: ''; width: 2.375rem; height: 2.375rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 24 24' fill='none' stroke='%237A5A1E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/%3E%3Cpath d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/%3E%3Cpath d='M4 22h16'/%3E%3Cpath d='M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22'/%3E%3Cpath d='M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22'/%3E%3Cpath d='M18 2H6v7a6 6 0 0 0 12 0V2Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.award-card .wp-block-heading {
  font-family: var(--font-heading); font-size: 1.05rem; font-weight: 700;
  color: #fff; margin-bottom: 0.375rem;
}
.award-card p { font-size: 0.95rem; color: rgba(255,255,255,0.6); line-height: 1.6; }

/* --- Page CTA --- */
.page-cta {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));
  border-radius: var(--border-radius-lg); padding: 3rem;
  text-align: center; color: #fff;
  position: relative; overflow: hidden;
}
.page-cta::before {
  content: ''; position: absolute; top: 50%; right: -3%;
  width: 15rem; height: 15rem;
  background: url('assets/images/flugkraft-icon.svg') no-repeat center / contain;
  opacity: 0.1; pointer-events: none;
  transform: translateY(-50%) rotate(-10deg);
}
.page-cta h3,
.page-cta .wp-block-heading {
  font-size: 1.5rem; font-weight: 700; margin-bottom: 0.5rem;
  color: #fff; position: relative; z-index: 1;
}
.page-cta p {
  font-size: 1rem; opacity: 0.9; margin-bottom: 1.5rem;
  color: #fff; position: relative; z-index: 1;
}
.page-cta .wp-block-buttons {
  position: relative; z-index: 1; gap: 0.75rem;
  display: flex; flex-wrap: wrap; justify-content: center;
}
/* Hide WP auto-paragraph artifacts between buttons */
.page-cta .wp-block-buttons > p,
.founder-section .wp-block-buttons > p,
.awards-section .wp-block-buttons > p { display: none; margin: 0; }

/* Dark section buttons: flex, centered, gap */
.founder-section .wp-block-buttons,
.awards-section .wp-block-buttons {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem;
  position: relative; z-index: 1;
}
/* CTA accent override: white button gets accent text color instead of primary */
.page-cta .btn-white.wp-block-button .wp-block-button__link { color: var(--color-accent); }

/* --- Page CTA Green (Primary) Variant --- */
.page-cta--green {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
}
.page-cta--green .btn-white.wp-block-button .wp-block-button__link { color: var(--color-primary); }
.page-cta--green .btn-outline-white.wp-block-button .wp-block-button__link:hover {
  background: rgba(255,255,255,0.15);
}

.section--blog-cta { padding-bottom: 8.75rem; }

/* ==============================
   HUB CARDS (spenden-helfen, kraftpakete, spendenaktionen)
   ============================== */
.hub-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
.hub-grid--2 { grid-template-columns: 1fr 1fr; }
.hub-card {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg); overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  display: flex; flex-direction: column;
}
.hub-card:hover {
  transform: translateY(-4px); border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
}
.hub-card-img {
  width: 100%; height: 12.5rem; overflow: hidden; position: relative;
}
.hub-card-img img,
.hub-card-img .wp-block-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.6s;
}
.hub-card-img .wp-block-image { margin: 0; height: 100%; }
.hub-card:hover .hub-card-img img,
.hub-card:hover .hub-card-img .wp-block-image img { transform: scale(1.05); }
.hub-card-body {
  padding: 1.5rem; flex: 1; display: flex; flex-direction: column;
}
.hub-card-body .wp-block-heading {
  font-size: 1.1rem; font-weight: 700; color: var(--color-text);
  line-height: 1.3; margin-bottom: 0.5rem;
}
.hub-card-body p {
  font-size: 0.92rem; color: var(--color-text-muted); line-height: 1.65;
  margin-bottom: 1.125rem; flex: 1;
}
.hub-card .wp-block-buttons { margin-top: auto; }
.hub-card .wp-block-button { align-self: flex-start; }
/* Hub card icon for text-only cards */
.hub-card-icon {
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  background: rgba(var(--color-primary-rgb),0.08);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem;
}
.hub-card-icon::before {
  content: ''; width: 1.375rem; height: 1.375rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}

/* Hub featured (larger 2-col card) */
.hub-featured {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg); overflow: hidden;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.hub-featured:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
}
.hub-featured-img { height: 100%; min-height: 17.5rem; overflow: hidden; }
.hub-featured-img img,
.hub-featured-img .wp-block-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.6s;
}
.hub-featured-img .wp-block-image { margin: 0; height: 100%; }
.hub-featured:hover .hub-featured-img img,
.hub-featured:hover .hub-featured-img .wp-block-image img { transform: scale(1.03); }
.hub-featured-body {
  padding: 2.25rem; display: flex; flex-direction: column; justify-content: center;
}
.hub-featured-body .wp-block-heading {
  font-size: 1.4rem; font-weight: 700; color: var(--color-text);
  line-height: 1.3; margin-bottom: 0.625rem;
}
.hub-featured-body p {
  font-size: 1rem; color: var(--color-text-muted); line-height: 1.7;
  margin-bottom: 1.25rem;
}

/* ==============================
   HELP CATEGORIES (ehrenamt, individuelle-hilfe, spendendose)
   ============================== */
.help-categories {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
}
.help-category {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md); padding: 1.75rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.help-category:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(var(--color-primary-rgb),0.08);
}
.help-category-icon {
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  background: rgba(var(--color-primary-rgb),0.08); display: flex;
  align-items: center; justify-content: center; margin-bottom: 1rem;
}
.help-category-icon::before {
  content: ''; width: 1.375rem; height: 1.375rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
/* Help category icons via CSS */
.hc-compass .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.hc-house .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.hc-dollar .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.2 7a6 7 0 1 0 0 10'/%3E%3Cpath d='M13 10H5m0 4h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.2 7a6 7 0 1 0 0 10'/%3E%3Cpath d='M13 10H5m0 4h8'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.hc-star .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.hc-heart .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.hc-hand .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 11V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0'/%3E%3Cpath d='M14 10V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v2'/%3E%3Cpath d='M10 10.5V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v8'/%3E%3Cpath d='M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 11V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v0'/%3E%3Cpath d='M14 10V4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v2'/%3E%3Cpath d='M10 10.5V6a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v8'/%3E%3Cpath d='M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.hc-package .help-category-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.help-category .wp-block-heading {
  font-size: 1.05rem; font-weight: 700; color: var(--color-text);
  margin-bottom: 0.5rem;
}
.help-category p {
  font-size: 0.92rem; color: var(--color-text-muted); line-height: 1.65; margin-bottom: 0;
}
.help-category .help-note {
  font-size: 0.85rem; color: var(--color-text-light); font-style: italic;
  margin-top: 0.625rem;
}

/* ==============================
   WORKSHOP CARDS (workshops)
   ============================== */
.workshop-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem;
}
.workshop-card {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg); overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.workshop-card:hover {
  transform: translateY(-4px); border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
}
.workshop-card-img {
  width: 100%; height: 13.75rem; overflow: hidden; position: relative;
}
.workshop-card-img img,
.workshop-card-img .wp-block-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.6s;
}
.workshop-card-img .wp-block-image { margin: 0; height: 100%; }
.workshop-card:hover .workshop-card-img img,
.workshop-card:hover .workshop-card-img .wp-block-image img { transform: scale(1.05); }
.workshop-card-badge {
  position: absolute; top: 0.875rem; left: 0.875rem;
  background: var(--color-primary); color: #fff;
  font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.8px;
  padding: 0.25rem 0.75rem; border-radius: 100px; z-index: 1;
}
.workshop-card-body { padding: 1.75rem; }
.workshop-card-body .wp-block-heading {
  font-size: 1.15rem; font-weight: 700; color: var(--color-text);
  line-height: 1.3; margin-bottom: 0.625rem;
}
.workshop-card-body .wp-block-heading span {
  display: block; font-size: 0.82rem; font-weight: 500;
  color: var(--color-text-light); margin-top: 0.125rem;
}
.workshop-card-body p:not(.workshop-card-link) {
  font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.7;
  margin-bottom: 1.125rem;
}
.workshop-card-hint {
  font-size: 0.88rem; color: var(--color-text-light); font-style: italic;
  line-height: 1.6; margin-bottom: 1.125rem;
}
.workshop-card-link {
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600;
  color: var(--color-primary); text-decoration: none;
  display: inline-flex; align-items: center; gap: 0.375rem;
  cursor: pointer;
}
.workshop-card-link::after {
  content: '\2192'; display: inline-block;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.workshop-card:hover .workshop-card-link::after { transform: translateX(4px); }

/* ==============================
   EVENT CARDS (termine)
   ============================== */
.event-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
.event-card {
  background: var(--color-bg); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md); overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.event-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 2rem rgba(var(--color-primary-rgb),0.10);
  transform: translateY(-3px);
}
.event-card-img {
  position: relative; overflow: hidden; height: 12.5rem;
}
.event-card-img img,
.event-card-img .wp-block-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.6s;
}
.event-card-img .wp-block-image { margin: 0; height: 100%; }
.event-card:hover .event-card-img img,
.event-card:hover .event-card-img .wp-block-image img { transform: scale(1.05); }
.event-card-date {
  position: absolute; top: 0.875rem; left: 0.875rem;
  background: rgba(255,255,255,0.95); backdrop-filter: blur(8px);
  border-radius: var(--border-radius-sm); padding: 0.5rem 0.875rem;
  display: flex; flex-direction: column; align-items: center;
  line-height: 1; min-width: 3.5rem; box-shadow: 0 2px 0.5rem rgba(0,0,0,0.08);
  z-index: 1;
}
.event-card-date-day {
  font-family: var(--font-heading); font-size: 1.4rem; font-weight: 800;
  color: var(--color-primary);
}
.event-card-date-month {
  font-family: var(--font-heading); font-size: 0.65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; color: var(--color-text-muted);
  margin-top: 0.125rem;
}
.event-card-badge {
  position: absolute; top: 0.875rem; right: 0.875rem;
  background: var(--color-primary); color: #fff;
  font-family: var(--font-heading); font-size: 0.65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.5px;
  padding: 0.3125rem 0.625rem; border-radius: 100px; z-index: 1;
}
.event-card-body { padding: 1.375rem; }
.event-card-meta {
  display: flex; align-items: center; gap: 0.875rem; flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.event-card-meta-item {
  display: flex; align-items: center; gap: 0.3125rem;
  font-size: 0.78rem; color: var(--color-text-muted);
  padding-left: 1.1875rem; position: relative;
}
.event-card-meta-item::before {
  content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 0.875rem; height: 0.875rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.ecm-clock::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.ecm-pin::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.event-card-body .wp-block-heading,
.event-card-body h3 {
  font-size: 1.08rem; font-weight: 700; color: var(--color-text);
  margin: 0 0 0.5rem; line-height: 1.35;
}
.event-card-body > p {
  font-size: 0.88rem; color: var(--color-text-muted); line-height: 1.6;
  margin: 0 0 1.125rem;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.event-card-btn {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-family: var(--font-heading); font-size: 0.82rem; font-weight: 600;
  color: var(--color-primary); text-decoration: none;
  transition: gap 0.3s;
}
.event-card-btn:hover { gap: 0.625rem; }

/* Event card – placeholder when no image */
.event-card-img--placeholder {
  background: linear-gradient(135deg, var(--color-bg) 0%, rgba(var(--color-primary-rgb),0.08) 100%);
  display: flex; align-items: center; justify-content: center;
}

/* Empty state */
.fke-empty, .fkvo-empty {
  text-align: center; color: var(--color-text-muted); font-size: 0.95rem;
  padding: 2rem; background: var(--color-bg); border-radius: var(--border-radius-md);
  border: 1.5px dashed var(--color-border);
}

/* --- Event Single Page --- */
.event-single-layout {
  display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start;
}
.event-single-img img.event-single-cover {
  width: 100%; height: auto; border-radius: var(--border-radius-lg);
  border: 1.5px solid var(--color-border);
}
.event-single-desc {
  font-size: 1.05rem; line-height: 1.8; color: var(--color-text-muted); margin-bottom: 1.5rem;
}
.event-single-content { margin-bottom: 1.5rem; }
.event-single-content p { line-height: 1.8; }
.event-single-info {
  display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1.5rem;
}
.event-info-card {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.875rem 1rem; border-radius: var(--border-radius-sm);
  background: var(--color-bg-light); border: 1px solid var(--color-border);
}
.event-info-icon {
  width: 1.25rem; height: 1.25rem; flex-shrink: 0;
  position: relative;
}
.event-info-icon::before {
  content: ''; display: block; width: 100%; height: 100%;
  background-color: var(--color-primary);
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.event-info-icon.ecm-clock::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.event-info-icon.ecm-pin::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.event-info-card div { display: flex; flex-direction: column; }
.event-info-card strong {
  font-family: var(--font-heading); font-size: 0.75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.5px; color: var(--color-text-light);
}
.event-info-card span { font-size: 0.95rem; color: var(--color-text); }
.event-single-actions {
  display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 2rem;
}
.event-action-btn {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.625rem 1.25rem; border-radius: 100px;
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 600;
  text-decoration: none; transition: all 0.2s;
  border: 1.5px solid var(--color-border); color: var(--color-text);
  background: #fff;
}
.event-action-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.event-action-btn--primary {
  background: var(--color-accent); color: #fff; border-color: var(--color-accent);
}
.event-action-btn--primary:hover {
  background: var(--color-accent-dark); border-color: var(--color-accent-dark); color: #fff;
  transform: translateY(-2px); box-shadow: 0 4px 16px rgba(var(--color-accent-rgb),0.3);
}
.event-back-link {
  font-size: 0.9rem; color: var(--color-primary); text-decoration: none;
  font-weight: 600;
}
.event-back-link:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .event-single-layout { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ==============================
   FLUGKRAFT VOR ORT (list)
   ============================== */
.section-vor-ort { padding-top: 1rem; }
.section-vor-ort .section-label { margin-bottom: 0.75rem; }
.section-vor-ort .section-title em { font-style: normal; color: var(--color-primary); }
.section-vor-ort .section-desc { margin-bottom: 2rem; }
.fkvo-list {
  display: flex; flex-direction: column; gap: 0;
  max-width: 44rem;
}
.fkvo-item {
  display: flex; align-items: center; gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(var(--color-primary-rgb), 0.1);
}
.fkvo-item:last-child { border-bottom: none; }
.fkvo-date-badge {
  flex-shrink: 0; min-width: 10.5rem; text-align: center;
  font-family: var(--font-heading); font-size: 0.85rem; font-weight: 700;
  color: #4a6332;
  background: rgba(142, 166, 114, 0.18);
  padding: 0.5rem 1rem; border-radius: 6px;
  white-space: nowrap;
}
.fkvo-item .fkvo-title {
  font-family: var(--font-heading); font-size: 1.05rem; font-weight: 700;
  color: var(--color-text); margin: 0;
  padding-left: 1.5rem;
  border-left: 3px solid #8EA672;
  line-height: 1.4;
}
@media (max-width: 600px) {
  .fkvo-item { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .fkvo-date-badge { min-width: auto; }
  .fkvo-item .fkvo-title { padding-left: 1rem; }
}

/* ==============================
   TEAM CARDS (das-team)
   ============================== */
.team-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem;
}
.team-card {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg); padding: 2.25rem 1.75rem 1.75rem;
  text-align: center; position: relative;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.team-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
  transform: translateY(-4px);
}
.team-card-photo {
  width: 8.125rem; height: 8.125rem; border-radius: 50%;
  overflow: hidden; margin: 0 auto 1.25rem;
  border: 3px solid var(--color-border);
  transition: border-color 0.3s;
}
.team-card:hover .team-card-photo { border-color: var(--color-primary); }
.team-card-photo img,
.team-card-photo .wp-block-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.team-card-photo .wp-block-image { margin: 0; height: 100%; }
.team-card-role {
  font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  color: var(--color-primary); margin-bottom: 0.375rem;
}
.team-card .wp-block-heading {
  font-size: 1.15rem; font-weight: 700; color: var(--color-text);
  margin-bottom: 0.625rem;
}
.team-card p {
  font-size: 0.9rem; color: var(--color-text-muted); line-height: 1.65;
  margin-bottom: 0;
}
.team-card-quote {
  font-style: italic; font-size: 0.88rem; color: var(--color-primary);
  line-height: 1.55; margin-top: 0.875rem;
  padding-top: 0.875rem; border-top: 1px solid var(--color-border);
}

/* Team hero card (featured member) */
.team-hero-card {
  display: grid; grid-template-columns: 17.5rem 1fr; gap: 3rem; align-items: center;
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg); padding: 2.5rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.team-hero-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
}
.team-hero-photo {
  width: 17.5rem; height: 21.25rem; border-radius: var(--border-radius-lg);
  overflow: hidden; border: 2px solid var(--color-border);
}
.team-hero-photo img,
.team-hero-photo .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.team-hero-photo .wp-block-image { margin: 0; height: 100%; }
.team-hero-text .section-label { margin-bottom: 0.5rem; }
.team-hero-text .wp-block-heading {
  font-size: 1.8rem; font-weight: 700; color: var(--color-text); margin-bottom: 0.75rem;
}
.team-hero-text p {
  color: var(--color-text-muted); line-height: 1.75; margin-bottom: 0.875rem;
}
.team-hero-text .wp-block-quote,
.team-hero-text .founder-quote {
  font-style: italic; font-size: 1.05rem; color: var(--color-primary);
  border-left: 3px solid var(--color-primary); padding: 0 0 0 1.25rem;
  margin: 1.25rem 0; background: none; line-height: 1.6;
}
.team-hero-text .wp-block-quote p { color: var(--color-primary); margin-bottom: 0; }

/* Team stats row */
.team-stats {
  display: flex; gap: 2rem; justify-content: center; flex-wrap: wrap;
  padding: 2rem 0;
}
.team-stat { text-align: center; min-width: 8.75rem; }
.team-stat-number {
  font-family: var(--font-heading); font-size: 2.2rem; font-weight: 800;
  color: var(--color-primary); line-height: 1; letter-spacing: -0.5px;
}
.team-stat-label {
  font-size: 0.82rem; color: var(--color-text-muted); margin-top: 0.25rem;
}

/* ==============================
   DONATE COMPONENTS (spenden)
   ============================== */
.donate-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem;
  margin-top: 2.5rem;
}
.donate-stat {
  text-align: center; padding: 1.75rem 1rem;
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md);
  transition: border-color 0.3s, transform 0.3s;
}
.donate-stat:hover {
  border-color: var(--color-primary); transform: translateY(-3px);
}
.donate-stat-icon {
  width: 3rem; height: 3rem; border-radius: 50%;
  background: linear-gradient(135deg, rgba(var(--color-primary-rgb),0.1), rgba(var(--color-primary-rgb),0.15));
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 0.875rem;
}
.donate-stat-icon::before {
  content: ''; width: 1.375rem; height: 1.375rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.dsi-heart .donate-stat-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dsi-users .donate-stat-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dsi-package .donate-stat-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dsi-check .donate-stat-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.donate-stat-number {
  font-family: var(--font-heading); font-size: 2rem; font-weight: 800;
  color: var(--color-primary); line-height: 1; margin-bottom: 0.25rem;
  letter-spacing: -0.5px;
}
.donate-stat-label {
  font-size: 0.82rem; color: var(--color-text-muted); line-height: 1.4;
}

/* Donate methods – 2-col: bank LEFT (spans 2 rows), online+recurring RIGHT stacked */
.donate-methods {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
  align-items: stretch;
}
.dmi-bank { grid-column: 1; grid-row: 1 / 3; }
.dmi-online { grid-column: 2; grid-row: 1; }
.dmi-recurring { grid-column: 2; grid-row: 2; }
.donate-method {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-lg); padding: 1.5rem 1.5rem;
  position: relative; overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.donate-method:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.75rem 2rem rgba(var(--color-primary-rgb),0.1);
  transform: translateY(-4px);
}
.donate-method--highlight {
  border-color: var(--color-primary);
  background: linear-gradient(135deg, var(--color-bg-white) 0%, rgba(var(--color-primary-rgb),0.03) 100%);
}
.donate-method--highlight::before {
  content: 'Empfohlen'; position: absolute; top: 1.25rem; right: -2rem;
  background: var(--color-accent); color: #fff;
  font-family: var(--font-heading); font-size: 0.7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.8px;
  padding: 0.3rem 2.5rem; transform: rotate(45deg);
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
/* Steps layout – equal 3-column grid without reordering */
.donate-methods--steps {
  grid-template-columns: repeat(3, 1fr);
}
.donate-methods--steps .dmi-bank,
.donate-methods--steps .dmi-online,
.donate-methods--steps .dmi-recurring {
  grid-column: auto; grid-row: auto;
}
@media (max-width: 768px) {
  .donate-methods--steps { grid-template-columns: 1fr; }
}
.donate-method-icon {
  width: 3rem; height: 3rem; border-radius: var(--border-radius-md);
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 0.875rem;
  box-shadow: 0 0.25rem 1rem rgba(var(--color-primary-rgb),0.25);
}
.donate-method-icon::before {
  content: ''; width: 1.625rem; height: 1.625rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.dmi-online .donate-method-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
}
.dmi-bank .donate-method-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='22' x2='21' y2='22'/%3E%3Cline x1='6' y1='18' x2='6' y2='11'/%3E%3Cline x1='10' y1='18' x2='10' y2='11'/%3E%3Cline x1='14' y1='18' x2='14' y2='11'/%3E%3Cline x1='18' y1='18' x2='18' y2='11'/%3E%3Cpolygon points='12 2 20 7 4 7'/%3E%3C/svg%3E");
}
.dmi-recurring .donate-method-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 4 23 10 17 10'/%3E%3Cpolyline points='1 20 1 14 7 14'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E");
}
.donate-method .wp-block-heading {
  font-size: 1.15rem; font-weight: 700; color: var(--color-text);
  margin-bottom: 0.5rem;
}
.donate-method p {
  font-size: 0.92rem; color: var(--color-text-muted); line-height: 1.55;
  margin-bottom: 0.75rem;
}
.donate-method .wp-block-buttons { margin-top: auto; }
.donate-method .wp-block-button__link { width: 100%; text-align: center; }

/* Bank details inline */
.donate-bank-inline {
  background: var(--color-bg); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-sm); padding: 0.5rem 0.875rem;
  margin-bottom: 0.5rem;
}
.donate-bank-inline.is-layout-flow > * + * { margin-block-start: 0 !important; }
.donate-bank-row {
  display: flex !important; justify-content: space-between; align-items: center;
  padding: 0.125rem 0; font-size: 0.82rem;
}
.donate-bank-row p { margin: 0 !important; font-size: 0.82rem; line-height: 1.4; }
.donate-bank-row p:first-child { color: var(--color-text-muted); }
.donate-bank-row p:last-child {
  font-weight: 600; color: var(--color-text);
  font-family: var(--font-heading); letter-spacing: 0.3px;
}
.donate-bank-row span:first-child { color: var(--color-text-muted); }
.donate-bank-row span:last-child {
  font-weight: 600; color: var(--color-text);
  font-family: var(--font-heading); letter-spacing: 0.3px;
}

/* Trust badges */
.donate-trust {
  display: flex; gap: 1.25rem; justify-content: center; flex-wrap: wrap;
  padding: 1.75rem 0; margin-top: 0.75rem;
}
.donate-trust-item {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.625rem 1.25rem; background: var(--color-bg-white);
  border: 1.5px solid var(--color-border); border-radius: 100px;
  font-size: 0.85rem; font-weight: 500; color: var(--color-text);
}
.donate-trust-item::before {
  content: ''; width: 1.125rem; height: 1.125rem; flex-shrink: 0;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.dt-shield::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dt-lock::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dt-percent::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='16 8 12 12 8 8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='16 8 12 12 8 8'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}

/* Donate ways link grid */
.donate-ways {
  display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
.donate-ways > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.donate-way-link {
  display: flex; align-items: center; gap: 0.875rem;
  padding: 1.25rem 1.5rem; background: var(--color-bg-white);
  border: 1.5px solid var(--color-border); border-radius: var(--border-radius-md);
  text-decoration: none; color: var(--color-text);
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.donate-way-link:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(var(--color-primary-rgb),0.08);
  transform: translateY(-2px);
}
.donate-way-icon {
  width: 2.5rem; height: 2.5rem; border-radius: 50%; flex-shrink: 0;
  background: rgba(var(--color-primary-rgb),0.08);
  display: flex; align-items: center; justify-content: center;
}
.donate-way-icon::before {
  content: ''; width: 1.25rem; height: 1.25rem;
  background-size: contain; background-repeat: no-repeat; background-position: center;
}
.dwi-money .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-action .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-box .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-ehrenamt .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-hair .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 18a4 4 0 0 0-8 0'/%3E%3Ccircle cx='12' cy='11' r='3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 18a4 4 0 0 0-8 0'/%3E%3Ccircle cx='12' cy='11' r='3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-all .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-kondolenz .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22c-4.97 0-9-2.24-9-5v-2c0-2.76 4.03-5 9-5s9 2.24 9 5v2c0 2.76-4.03 5-9 5z'/%3E%3Cpath d='M12 14c4.97 0 9-2.24 9-5S16.97 4 12 4 3 6.24 3 9s4.03 5 9 5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22c-4.97 0-9-2.24-9-5v-2c0-2.76 4.03-5 9-5s9 2.24 9 5v2c0 2.76-4.03 5-9 5z'/%3E%3Cpath d='M12 14c4.97 0 9-2.24 9-5S16.97 4 12 4 3 6.24 3 9s4.03 5 9 5z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-nachlass .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-dose .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-unternehmen .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2' ry='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2' ry='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-workshop .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-team .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-typisierung .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
.dwi-news .donate-way-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M10 6h8v4h-8V6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M10 6h8v4h-8V6Z'/%3E%3C/svg%3E");
  background-color: var(--color-primary);
}
/* WP block variant: donate-way-link-wrap (same look as donate-way-link) */
.donate-way-link-wrap {
  display: grid !important; grid-template-columns: 2.5rem 1fr; align-items: center;
  gap: 0 0.875rem; padding: 1.25rem 1.5rem; background: var(--color-bg-white);
  border: 1.5px solid var(--color-border); border-radius: var(--border-radius-md);
  cursor: pointer; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.donate-way-link-wrap:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(var(--color-primary-rgb),0.08);
  transform: translateY(-2px);
}
.donate-way-link-wrap::before {
  content: ''; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  grid-row: 1 / 3; align-self: center;
  background-color: rgba(var(--color-primary-rgb),0.08);
  background-size: 1.25rem; background-repeat: no-repeat; background-position: center;
  -webkit-mask-size: 1.25rem; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
  mask-size: 1.25rem; mask-repeat: no-repeat; mask-position: center;
}
.donate-way-link-wrap p { margin: 0; }
.donate-way-link-wrap p:first-child { font-family: var(--font-heading); font-size: 0.9rem; font-weight: 600; }
.donate-way-link-wrap p:first-child a { color: var(--color-text); text-decoration: none; }
.donate-way-link-wrap p:first-child a:hover { color: var(--color-primary); }
.donate-way-link-wrap .donate-way-sub { font-size: 0.78rem; font-weight: 400; color: var(--color-text-muted); margin-top: 0.125rem; font-family: var(--font-body); }
.donate-way-link-wrap.dwi-money::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='1' x2='12' y2='23'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-action::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-box::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-ehrenamt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-hair::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 18a4 4 0 0 0-8 0'/%3E%3Ccircle cx='12' cy='11' r='3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 18a4 4 0 0 0-8 0'/%3E%3Ccircle cx='12' cy='11' r='3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-all::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-kondolenz::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22c-4.97 0-9-2.24-9-5v-2c0-2.76 4.03-5 9-5s9 2.24 9 5v2c0 2.76-4.03 5-9 5z'/%3E%3Cpath d='M12 14c4.97 0 9-2.24 9-5S16.97 4 12 4 3 6.24 3 9s4.03 5 9 5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22c-4.97 0-9-2.24-9-5v-2c0-2.76 4.03-5 9-5s9 2.24 9 5v2c0 2.76-4.03 5-9 5z'/%3E%3Cpath d='M12 14c4.97 0 9-2.24 9-5S16.97 4 12 4 3 6.24 3 9s4.03 5 9 5z'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-nachlass::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-dose::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-unternehmen::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2' ry='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2' ry='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-workshop::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-team::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-typisierung::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-link-wrap.dwi-news::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M10 6h8v4h-8V6Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M10 6h8v4h-8V6Z'/%3E%3C/svg%3E"); background-color: var(--color-primary); }
.donate-way-text {
  font-family: var(--font-heading); font-size: 0.9rem; font-weight: 600;
}
.donate-way-text span {
  display: block; font-size: 0.78rem; font-weight: 400;
  color: var(--color-text-muted); margin-top: 0.125rem;
  font-family: var(--font-body);
}

/* ==============================
   FAQ ACCORDION (native wp:details)
   ============================== */
.faq-list { display: flex !important; flex-direction: column; gap: 0.75rem; }
.faq-list > * { margin-block: 0 !important; }
.faq-item {
  background: var(--color-bg-white); border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius-md); overflow: hidden;
  transition: border-color 0.3s;
}
.faq-item > * { margin-block: 0 !important; }
.faq-item:hover { border-color: var(--color-primary); }
/* Native details block inside faq-item */
.faq-item .wp-block-details,
.faq-item .faq-details { border: none; margin: 0; padding: 0; }
.faq-item .wp-block-details summary,
.faq-item .faq-details summary {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 1.5rem; cursor: pointer; gap: 1rem;
  font-family: var(--font-heading); font-size: 1rem; font-weight: 600;
  color: var(--color-text); list-style: none;
}
.faq-item .wp-block-details summary::-webkit-details-marker,
.faq-item .faq-details summary::-webkit-details-marker { display: none; }
.faq-item .wp-block-details summary::after,
.faq-item .faq-details summary::after {
  content: ''; width: 1.25rem; height: 1.25rem; flex-shrink: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-position: center; mask-position: center;
  background: var(--color-primary);
  transition: transform 0.3s;
}
.faq-item .wp-block-details[open] summary::after,
.faq-item .faq-details[open] summary::after { transform: rotate(180deg); }
.faq-item .wp-block-details p,
.faq-item .faq-details p {
  padding: 0 1.5rem 1.25rem;
  font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.7;
  margin: 0;
}
/* Legacy fallback for old button-based FAQ (can be removed later) */
.faq-question {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 1.5rem; cursor: pointer; gap: 1rem;
  font-family: var(--font-heading); font-size: 1rem; font-weight: 600;
  color: var(--color-text); background: none; border: none; width: 100%;
  text-align: left;
}
.faq-question::after {
  content: ''; width: 1.25rem; height: 1.25rem; flex-shrink: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-position: center; mask-position: center;
  background: var(--color-primary);
  transition: transform 0.3s;
}
.faq-item.open .faq-question::after { transform: rotate(180deg); }
.faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
}
.faq-item.open .faq-answer { max-height: 18.75rem; }
.faq-answer-inner {
  padding: 0 1.5rem 1.25rem;
  font-size: 0.95rem; color: var(--color-text-muted); line-height: 1.7;
}

/* ==============================
   TIP BOX + CRISIS BOX
   ============================== */
.tip-box {
  background: rgba(var(--color-primary-rgb),0.06);
  border: 1.5px solid rgba(var(--color-primary-rgb),0.15);
  border-radius: var(--border-radius-md); padding: 1rem 1.25rem;
  margin-top: 0.75rem; display: flex; gap: 0.75rem; align-items: flex-start;
}
.tip-box::before {
  content: ''; width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: 0.125rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  background: var(--color-primary);
}
.tip-box p { font-size: 0.85rem; color: var(--color-text-muted); line-height: 1.55; margin: 0; }
.tip-box strong { color: var(--color-primary); font-weight: 700; }

.crisis-box {
  background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
  border: 1.5px solid #F59E0B;
  border-radius: var(--border-radius-md); padding: 1.75rem 1.75rem 1.75rem 3.75rem;
  position: relative; margin-top: 0.5rem;
}
.crisis-box::before {
  content: ''; position: absolute; left: 1.5rem; top: 1.75rem;
  width: 1.375rem; height: 1.375rem; border-radius: 50%;
  background: #F59E0B;
}
.crisis-box .wp-block-heading {
  font-size: 1.05rem; font-weight: 700; color: #92400E;
  margin-bottom: 0.5rem;
}
.crisis-box p {
  font-size: 0.95rem; color: #78350F; line-height: 1.65; margin-bottom: 0;
}
.crisis-box a { color: #92400E; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ==============================
   SUBPAGE RESPONSIVE
   ============================== */
@media (max-width: 64rem) {
  .post-related-grid.wp-block-post-template { --wp--style--global--content-size: 100%; }
  .blog-grid.wp-block-post-template { columns: 2; }
  .blog-featured.wp-block-columns { flex-direction: column !important; }
  .blog-featured .blog-featured-img.wp-block-post-featured-image img { min-height: 240px; max-height: 300px; }
  .blog-featured .blog-featured-body-col { padding: 1.75rem !important; }
  .content-block.wp-block-columns { grid-template-columns: 1fr !important; gap: 1.75rem; }
  .content-block--reverse.wp-block-columns { direction: ltr; }
  .founder-grid { grid-template-columns: 1fr !important; text-align: center; }
  .founder-img { margin: 0 auto; width: 13.75rem; height: 17.5rem; }
  .founder-text .wp-block-quote { text-align: left; }
  .transparency-grid { grid-template-columns: 1fr; }
  .hub-featured { grid-template-columns: 1fr; }
  .hub-featured-img { min-height: 15rem; }
  .hub-grid { grid-template-columns: 1fr 1fr; }
  .hub-grid--2 { grid-template-columns: 1fr 1fr; }
  .event-grid { grid-template-columns: 1fr 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .team-hero-card { grid-template-columns: 1fr; text-align: center; }
  .team-hero-photo { margin: 0 auto; width: 13.75rem; height: 17.5rem; }
  .team-hero-text .wp-block-quote { text-align: left; }
  .donate-stats { grid-template-columns: repeat(2, 1fr); }
  .donate-methods { grid-template-columns: 1fr; }
  .dmi-bank, .dmi-online, .dmi-recurring { grid-column: auto; grid-row: auto; }
  .donate-ways { grid-template-columns: 1fr 1fr; }
  .workshop-grid { grid-template-columns: 1fr; }
}
@media (max-width: 48rem) {
  .page-hero { padding: 7.5rem 0 2.5rem; }
  .page-hero h1,
  .page-hero .wp-block-heading,
  .page-hero .wp-block-query-title { font-size: 1.9rem; }
  .page-hero .page-hero-desc { font-size: 0.95rem; }
  .page-cta { padding: 2rem 1.25rem; }
  .page-cta h3, .page-cta .wp-block-heading { font-size: 1.2rem; }
  .blog-card .blog-card-img.wp-block-post-featured-image img { height: 11rem; }
  .content-block-img img,
  .content-block-img .wp-block-image img { height: auto; }
  .award-card { flex: 0 1 calc(50% - 0.75rem); }
  .hub-grid { grid-template-columns: 1fr; }
  .hub-grid--2 { grid-template-columns: 1fr; }
  .help-categories { grid-template-columns: 1fr; }
  .event-card-img { height: 11.25rem; }
  .team-card-photo { width: 7.5rem; height: 7.5rem; }
  .donate-stats { grid-template-columns: 1fr 1fr; gap: 0.875rem; }
  .donate-stat { padding: 1.25rem 0.75rem; }
  .donate-stat-number { font-size: 1.6rem; }
  .donate-trust { gap: 0.625rem; }
  .donate-trust-item { padding: 0.5rem 0.875rem; font-size: 0.8rem; }
  .donate-ways { grid-template-columns: 1fr; }
}
@media (max-width: 30rem) {
  .page-hero h1,
  .page-hero .wp-block-heading { font-size: 1.5rem; }
  .post-header .wp-block-post-title { font-size: 1.6rem; }
  .post-nav { flex-direction: column; }
  .post-nav .post-nav-item--next { text-align: left; padding: 1.25rem 1.25rem 1.25rem 3rem; }
  .post-nav .post-nav-item--next::before { left: 1rem; right: auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D2A3E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E");
  }
  .award-card { flex: 0 1 100%; }
  .founder-img { width: 11.25rem; height: 15rem; }
  .page-hero .page-hero-meta { flex-direction: column; gap: 0.625rem; }
  .event-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .help-categories { grid-template-columns: 1fr; }
  .donate-methods { grid-template-columns: 1fr; }
  .donate-stats { grid-template-columns: 1fr; }
  .hub-featured { grid-template-columns: 1fr; }
}

/* === GIVEWP FORM STYLING === */

/* Page layout – single column, centered */
.give-wrap.container {
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem 1.5rem 3rem;
}
.give-wrap #content { display: block; }

/* Hide the default placeholder sidebar image */
.give-sidebar.give-single-form-sidebar-left { display: none; }
.give-wrap .summary.entry-summary { width: 100%; float: none; }

/* GiveWP form embedded on a theme page (via shortcode) */
.entry-content .give-form-wrap {
  max-width: 720px;
  margin: 2rem auto 3rem;
}

/* Form title */
.give-form-title.entry-title {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 2rem;
  line-height: 1.3;
}

/* Form card container */
.give-form-wrap.give-display-onpage {
  background: #fff;
  border-radius: var(--border-radius-lg);
  border: 1.5px solid var(--color-border);
  box-shadow: 0 8px 40px rgba(var(--color-primary-rgb), 0.08);
  overflow: hidden;
  padding: 0;
}

/* Amount section */
.give-form .give-total-wrap {
  padding: 1.75rem 1.75rem 0;
}
.give-form .give-donation-amount {
  display: flex;
  align-items: center;
  border: 2px solid var(--color-border-light);
  border-radius: var(--border-radius-sm);
  overflow: hidden;
  background: var(--color-bg-white, #fff);
  transition: border-color var(--transition-fast);
}
.give-form .give-donation-amount:focus-within {
  border-color: var(--color-primary);
}
.give-form .give-text-input.give-amount-top {
  border: none !important;
  background: transparent !important;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  padding: 0.75rem 1rem;
  width: 100%;
  outline: none;
  text-align: center;
  height: auto;
  float: none;
  box-shadow: none;
}
.give-form .give-currency-symbol {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text-muted);
  padding: 0 1rem 0 0;
  background: transparent !important;
  border: none !important;
  height: auto;
  line-height: 1;
  float: none;
  display: flex;
  align-items: center;
}

/* Donation level buttons (ID selector needed to beat GiveWP specificity) */
#give-donation-level-button-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  padding: 1rem 1.75rem;
  list-style: none;
  margin: 0;
}
#give-donation-level-button-wrap li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.give-form .give-donation-level-btn.give-btn {
  display: block;
  width: 100%;
  padding: 0.75rem 0.5rem;
  border-radius: var(--border-radius-sm);
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;
  border: 2px solid var(--color-border-light);
  background: transparent;
  color: var(--color-text);
  cursor: pointer;
  transition: all 0.2s;
  margin: 0;
  line-height: 1.4;
}
.give-form .give-donation-level-btn.give-btn:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.give-form .give-donation-level-btn.give-default-level,
.give-form .give-donation-level-btn.give-btn:focus {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(var(--color-primary-rgb), 0.06);
  font-weight: 700;
}

/* Payment mode fieldset */
#give-payment-mode-select {
  padding: 1.25rem 1.75rem;
  border: none;
  margin: 0;
}
#give-payment-mode-select .give-payment-mode-label {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.75rem;
  display: block;
}
#give-gateway-radio-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
#give-gateway-radio-list li {
  flex: 1;
  min-width: 0;
  margin: 0;
  list-style: none;
}
#give-gateway-radio-list input[type="radio"] {
  display: none;
}
#give-gateway-radio-list label.give-gateway-option {
  display: block;
  padding: 0.625rem 0.75rem;
  border-radius: var(--border-radius-sm);
  border: 2px solid var(--color-border-light);
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--color-text-muted);
}
#give-gateway-radio-list label.give-gateway-option:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
#give-gateway-radio-list .give-gateway-option-selected label.give-gateway-option,
#give-gateway-radio-list input[type="radio"]:checked + label.give-gateway-option {
  border-color: var(--color-primary);
  color: #fff;
  background: var(--color-primary);
}

/* Personal info fieldset */
#give_checkout_user_info {
  padding: 1.25rem 1.75rem 0.5rem;
  border: none;
  margin: 0;
  border-top: 1px solid var(--color-border-light);
}
#give_checkout_user_info legend {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text);
  padding: 0;
  margin-bottom: 0.75rem;
}
.give-form .give-label {
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.375rem;
  display: block;
}
.give-form .give-input {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 2px solid var(--color-border-light);
  border-radius: var(--border-radius-sm);
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: var(--color-text);
  background: var(--color-bg-white, #fff);
  outline: none;
  transition: border-color var(--transition-fast);
}
.give-form .give-input:focus {
  border-color: var(--color-primary);
}
.give-form .give-input::placeholder {
  color: var(--color-text-light);
}
.give-form select.give-input {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  padding-right: 2.5rem;
}
.give-form .form-row {
  margin-bottom: 0.875rem;
}
.give-form .give-required-indicator {
  color: var(--color-accent);
}

/* Tooltip styling */
.give-form .give-tooltip {
  color: var(--color-text-light);
}
.give-form [class*="hint--"]::after {
  font-family: var(--font-body);
  font-size: 0.78rem;
  border-radius: 8px;
}

/* Company radio */
.give-form .give-company-radio-list {
  list-style: none;
  padding: 0;
  margin: 0.375rem 0 0;
  display: flex;
  gap: 1rem;
}
.give-form .give-company-radio-list li { list-style: none; }
.give-form .give-company-radio-list label {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  cursor: pointer;
}

/* Terms fieldset */
.give-form #give_terms_agreement {
  padding: 0.75rem 1.75rem;
  border: none;
  margin: 0;
}
.give-form #give_terms_agreement legend {
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text);
}
.give-form .give_terms_links {
  color: var(--color-primary);
  font-size: 0.82rem;
  text-decoration: none;
}
.give-form .give_terms_links:hover {
  color: var(--color-primary-dark);
  text-decoration: underline;
}
.give-form #give_terms_agreement label {
  font-size: 0.82rem;
  color: var(--color-text-muted);
}

/* Submit section */
#give_purchase_submit.give-donation-submit {
  padding: 1rem 1.75rem 1.75rem;
  border: none;
  margin: 0;
}
#give-final-total-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.875rem 1rem;
  margin-bottom: 1rem;
  background: rgba(var(--color-primary-rgb), 0.06);
  border-radius: var(--border-radius-sm);
}
#give-final-total-wrap .give-donation-total-label {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text);
}
#give-final-total-wrap .give-final-total-amount {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-primary);
}

/* Submit button */
.give-form input[type="submit"].give-submit {
  display: block;
  width: 100%;
  padding: 0.875rem;
  border-radius: 12px;
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));
  border: none;
  cursor: pointer;
  transition: all 0.25s;
  box-shadow: 0 4px 20px rgba(var(--color-accent-rgb), 0.3);
  text-transform: none;
  letter-spacing: 0;
}
.give-form input[type="submit"].give-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(var(--color-accent-rgb), 0.4);
}
.give-form .give-submit-button-wrap {
  position: relative;
}
.give-form .give-loading-animation {
  display: none;
}

/* Stripe card element */
.give-form .give-stripe-cc-field {
  padding: 0.625rem 0.875rem;
  border: 2px solid var(--color-border-light);
  border-radius: var(--border-radius-sm);
  background: var(--color-bg-white, #fff);
  transition: border-color var(--transition-fast);
}
.give-form .give-stripe-cc-field:focus-within {
  border-color: var(--color-primary);
}

/* Hide GiveWP default form goal if not set */
.give-goal-progress { display: none; }

/* Responsive */
@media (max-width: 600px) {
  .give-wrap.container { padding: 1.25rem 1rem 2rem; }
  .give-form-title.entry-title { font-size: 1.35rem; }
  .give-form .give-donation-levels-wrap.give-list-inline {
    grid-template-columns: repeat(2, 1fr);
    padding: 1rem 1.25rem;
  }
  .give-form .give-total-wrap { padding: 1.25rem 1.25rem 0; }
  .give-form #give-payment-mode-select { padding: 1rem 1.25rem; }
  .give-form #give_checkout_user_info { padding: 1rem 1.25rem 0.5rem; }
  .give-form .give-donation-submit { padding: 1rem 1.25rem 1.5rem; }
  .give-form #give_terms_agreement { padding: 0.75rem 1.25rem; }
  .give-form #give-gateway-radio-list { flex-direction: column; }
  .give-form .give-text-input.give-amount-top { font-size: 1.25rem; }
}

/* === REDUCED MOTION (WCAG 2.1 AA – 2.3.3) === */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .hero-bg img { transform: none !important; }
  .fade-in, .fade-in-left, .fade-in-right, .scale-in { opacity: 1 !important; transform: none !important; }
}

/* ===================================================================
   VERENA-UPDATE 11.06.2026
   #7 Header + Buttons grün (Shop-Look), Hover Schwarz
   #6 Spendenbox kompakter
   Farben zentral hier anpassbar. Shop-Grün = var(--color-primary) #8EA672.
   =================================================================== */
:root {
  --color-nav-bg: #3D4F2F;        /* war #283024 - jetzt klar grün (Shop-Oliv), weiße Nav-Schrift bleibt lesbar */
  --color-nav-bg-rgb: 61, 79, 47;
}

/* #7 Spenden-/CTA-Buttons: Orange -> Grün (Shop-Grün), Text weiß */
.btn-spenden.wp-block-button .wp-block-button__link,
.nav .nav-btns .btn-spenden .wp-block-button__link,
.fk-donate-form .wp-block-button.fk-donate-submit-btn a.wp-block-button__link,
.footer .footer-donate-btn .wp-block-button__link {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}
/* #7 Button-Hover: Schwarz */
.btn-spenden.wp-block-button .wp-block-button__link:hover,
.nav .nav-btns .btn-spenden .wp-block-button__link:hover,
.fk-donate-form .wp-block-button.fk-donate-submit-btn a.wp-block-button__link:hover,
.footer .footer-donate-btn .wp-block-button__link:hover {
  background: #231F20 !important;
  border-color: #231F20 !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25) !important;
}

/* Spendenbox-Kopfzeile: Orange-Gradient -> Grün */
.fk-donate-header {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)) !important;
  color: #fff;
  padding: 1.1rem 1.4rem;
}
.fk-donate-header h3 { font-size: 1rem; line-height: 1.25; }

/* #6 Spendenbox kompakter (nicht mehr auf volle Spaltenhöhe gestreckt) */
.spenden-right { justify-content: center; }
.spenden-right > * { flex: 0 1 auto; }
.fk-donate-form { max-width: 380px; margin-left: auto; align-self: center; }
.fk-donate-body { padding: 1rem 1.4rem 1.4rem; }

/* #1 Anchor-Sprung: Offset wegen fixem Header (gilt für alle Sprungmarken) */
html { scroll-padding-top: 90px; }

/* #4 Termine-Seite: 'Flugkraft vor Ort' klar von 'Termine für Betroffene' abtrennen */
.section-vor-ort {
  border-top: 2px solid var(--color-border-light);
  margin-top: 1.5rem;
  padding-top: 2.5rem !important;
}

/* #3 Aktuelles: Spendenübergaben-Sektion klar von News & Geschichten abtrennen */
.section-spendenuebergaben {
  border-top: 2px solid var(--color-border-light);
  margin-top: 1.5rem;
  padding-top: 3rem !important;
}

/* #7 Nachzügler: orangen Glow (box-shadow) der grünen Buttons auf grün umstellen */
.fk-donate-form .wp-block-button.fk-donate-submit-btn a.wp-block-button__link,
.footer .footer-donate-btn .wp-block-button__link,
.fk-donate-submit {
  box-shadow: 0 4px 16px rgba(var(--color-primary-rgb), 0.30) !important;
}

/* #7 Restliche orange CTA-Buttons (Termin-Aktion + GiveWP-Spendenformular) -> grün, Hover schwarz */
.event-action-btn--primary,
.give-form input[type="submit"].give-submit {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(var(--color-primary-rgb), 0.30) !important;
}
.event-action-btn--primary:hover,
.give-form input[type="submit"].give-submit:hover {
  background: #231F20 !important;
  border-color: #231F20 !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25) !important;
}


/* Aktuelles: Sprungkarten wie auf der Terminseite */
.aktuelles-jump-section{padding:0 0 2.5rem}
.aktuelles-jump-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.aktuelles-jump-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.5rem;border:1px solid rgba(58,91,65,.18);border-radius:16px;background:rgba(255,255,255,.46)}
.aktuelles-jump-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#eef3df;color:#526f49}
.aktuelles-jump-icon svg{width:32px;height:32px}
.aktuelles-jump-card h2{font-size:1.25rem;line-height:1.25;margin:0 0 .35rem}
.aktuelles-jump-card p{font-size:.95rem;line-height:1.5;margin:0;color:#57635a}
.aktuelles-jump-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:9px;background:#8fae6e;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.aktuelles-jump-button:hover{background:#789858;color:#fff}
@media(max-width:900px){.aktuelles-jump-card{grid-template-columns:auto 1fr}.aktuelles-jump-button{grid-column:1/-1}}
@media(max-width:700px){.aktuelles-jump-grid{grid-template-columns:1fr}.aktuelles-jump-card{grid-template-columns:52px 1fr;padding:1.15rem}.aktuelles-jump-icon{width:52px;height:52px}}
