:root{--brand-blue:#1f6fb2;--text:#1f2937;--muted:#6b7280;--bg:#f7f8fa;--card:#fff;--border:#e5e7eb;--radius:12px;--container:1100px}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--brand-blue);text-decoration:none}a:hover{text-decoration:underline}
.site-header{background:#fff;border-bottom:1px solid var(--border); position:sticky; top:0; z-index:1000; }
.header-inner{max-width:var(--container);margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.brand img{max-height:65px;height:auto;width:auto;vertical-align:middle}
.brand-text{display:flex;flex-direction:column;gap:2px}
.site-title{font-weight:700;font-size:20px;color:var(--brand-blue);line-height:1}
.site-sub{font-size:12px;color:var(--muted)}
.site-nav{background:transparent;border-bottom:1px solid var(--border)}
.nav-inner{max-width:var(--container);margin:0 auto;padding:8px 16px}
.navlinks{display:flex;gap:14px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.navlinks a{padding:8px 10px;border-radius:10px}
.navlinks a:is(:hover,:focus-visible){background:#eef5fe;text-decoration:none}
.main{max-width:var(--container);margin:16px auto 60px;padding:0 16px}
.section{margin-top:24px}.section h2{display:flex;align-items:center;gap:6px;}
.hero-card{background:#e8f1fb;color:#1f2937;padding:24px;border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.hero-card h1{margin:0 0 8px;font-size:28px;line-height:1.25}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.site-footer{background:#fff;border-top:1px solid var(--border)}
.footer-inner{max-width:var(--container);margin:0 auto;padding:16px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:12px}
.footer-meta{font-size:13px;color:var(--muted)}
.footer-links{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.footer-links a{color:var(--text)}
@media (min-width:720px){.footer-grid{grid-template-columns:1fr auto;align-items:center}}


/* Partner grid & cards */
.partner-controls{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px}
.partner-controls input, .partner-controls select{padding:8px;border:1px solid var(--border);border-radius:8px;outline:none}
.partner-grid{display:grid !important;grid-template-columns:repeat(2,minmax(360px,500px)) !important;gap:24px !important;margin:40px auto !important;justify-content:center !important;align-items:start !important;max-width:calc(2 * 500px + 48px) !important;}
@media (max-width: 900px){.partner-grid{display:grid !important;grid-template-columns:repeat(2,minmax(360px,500px)) !important;gap:24px !important;margin:40px auto !important;justify-content:center !important;align-items:start !important;max-width:calc(2 * 500px + 48px) !important;}}
@media (max-width: 700px){.partner-grid{display:grid !important;grid-template-columns:repeat(2,minmax(360px,500px)) !important;gap:24px !important;margin:40px auto !important;justify-content:center !important;align-items:start !important;max-width:calc(2 * 500px + 48px) !important;}}

.partner-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100% !important;max-width:500px !important;min-height:280px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,0.05);margin-bottom:24px;transition:transform .2s ease, box-shadow .2s ease;}
.partner-card h3{margin:0 0 8px 0;font-size:18px}
.partner-card .org-logo{width:100px;height:auto;margin:6px 0 10px 0;object-fit:contain}
.partner-card p{margin:0 0 6px 0}
.partner-card .ziel,.partner-card .contacts{font-size:14px;line-height:1.4;color:#444}
.partner-card .ziel{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.partner-card .contacts{margin-top:auto;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.partner-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100% !important;max-width:500px !important;min-height:280px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,0.05);margin-bottom:24px;transition:transform .2s ease, box-shadow .2s ease;}

@media (max-width: 1100px){
  .partner-grid{
    grid-template-columns:minmax(300px,600px) !important;
    max-width:600px !important;
  }
}


/* Ensure in-page anchors aren't hidden under the (sticky) header */
#netzwerkpartner{ scroll-margin-top: 120px; }
#about, #kontakt, #start{ scroll-margin-top: 120px; }


/* === Accents & Icons for Mission/Ziele/Was-wir-tun === */
.section h2{display:flex;align-items:center;gap:6px;}
.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;}
.icon svg{width:22px;height:22px;display:block;}
.card.accent{background:#f3f7fd;border-color:#dae6f7;}
.card.accent ul{margin:0;padding-left:20px;}
@media (min-width:900px){
  .card.accent ul{columns:2;column-gap:40px;}
  .card.accent ul li{break-inside:avoid;}
}
.card.accent li{margin:6px 0;}


/* Ensure small inline icons inside h2 */
.section h2 .icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;}
.section h2 .icon svg{width:100%;height:100%;display:block;}
/* Remove any accidental large SVGs inside sections */
section#mission > svg, section#ziele > svg, section#was-wir-tun > svg{display:none !important;}


/* Rebuilt homepage content */
.section.feature h2{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.section.feature h2 .icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:inherit}
.section.feature h2 .icon svg{width:100%;height:100%;display:block}
.card.accent{background:#f3f7fd;border-color:#dae6f7}
.twocol{margin:0;padding-left:20px}
@media (min-width:900px){.twocol{columns:2;column-gap:40px}.twocol li{break-inside:avoid}}


/* === Photo Gallery on homepage === */
.photo-gallery{margin:10px auto 32px; max-width:1200px; padding:0 12px;}
.photo-grid{display:grid; gap:16px;}
@media (min-width: 700px){ .photo-grid{grid-template-columns: repeat(3, 1fr);} }
.photo-card{position:relative; overflow:hidden; border-radius:14px; box-shadow:0 4px 16px rgba(0,0,0,.06); background:#e9eef8;}
.photo-card img{width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:16/9; transition:transform .5s ease;}
.photo-card:hover img{transform:scale(1.03);}
.photo-caption{position:absolute; left:12px; bottom:10px; background:rgba(15,39,68,.6); color:#fff; padding:6px 10px; border-radius:999px; font-size:13px; backdrop-filter:saturate(140%) blur(2px);}


/* === Dynamic side-by-side feature rows === */
.features{max-width:1200px;margin:10px auto 40px;padding:0 12px;display:grid;gap:28px;}
.feature-row{display:grid;gap:22px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.06);}
.feature-media{position:relative;overflow:hidden;}
.feature-media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/10;transform:scale(1.02);transition:transform .6s ease;}
.feature-row:hover .feature-media img{transform:scale(1.06);}
.feature-text{padding:22px 22px 24px 22px;}
.feature-text h3{font-size:22px;margin:0 0 6px 0;}
.feature-text p{margin:0 0 10px 0;color:#374151}
.feature-bullets{margin:10px 0 0 18px}
.feature-bullets li{margin:6px 0}
/* grid columns for wide screens */
@media (min-width: 900px){
  .feature-row{grid-template-columns: 1.1fr 1fr;}
  .feature-row.reverse{grid-template-columns: 1fr 1.1fr;}
}
/* gentle reveal animation */
@media (prefers-reduced-motion: no-preference){
  .feature-row{opacity:0;transform:translateY(18px);animation:fadeUp .6s ease forwards}
  .feature-row:nth-child(2){animation-delay:.05s}
  .feature-row:nth-child(3){animation-delay:.1s}
  .feature-row:nth-child(4){animation-delay:.15s}
  @keyframes fadeUp{to{opacity:1;transform:none}}
}
/* buttons */
.btn{display:inline-block;border:1px solid #2f6fde;background:#2f6fde;color:#fff;padding:8px 12px;border-radius:10px;text-decoration:none;font-weight:600}
.btn:hover{filter:brightness(.95)}


/* === Sticky Header (with integrated nav) === */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(140%) blur(6px);
  border-bottom: 1px solid var(--border);
  display:flex;
  align-items:center;
  gap:16px;
  padding:8px 12px;
}
.site-header .brand{display:flex; align-items:center; gap:10px;}
.site-header .brand img{max-height:65px; height:auto; width:auto;}
.site-header nav{margin-left:auto;}
.site-header nav ul{display:flex; gap:18px; list-style:none; margin:0; padding:0;}
.site-header nav a{display:block; padding:10px 8px; text-decoration:none;}
.site-header nav a:hover{opacity:.85;}
main section[id]{ scroll-margin-top: 120px; }


/* === Centered Navigation Layout === */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(140%) blur(6px);
  border-bottom: 1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:8px 12px;
}
.site-header .brand{
  position:absolute;
  left:20px;
  display:flex;
  align-items:center;
  gap:10px;
}
.site-header .brand img{max-height:65px; height:auto; width:auto;}
.site-header nav ul{
  display:flex;
  gap:20px;
  list-style:none;
  margin:0;
  padding:0;
  justify-content:center;
}
.site-header nav a{
  display:block;
  padding:10px 8px;
  text-decoration:none;
  font-weight:500;
}
.site-header nav a:hover{opacity:.85;}
main section[id]{ scroll-margin-top: 120px; }


/* === Center the entire header content in a container === */
.site-header .container.header-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* brand | nav (center) | spacer */
  align-items: center;
  gap: 16px;
}
.site-header .brand{position: static; display:flex; align-items:center; gap:10px;}
.site-header nav{margin-left: 0; justify-self: center;}
.site-header nav ul{display:flex; gap:20px; list-style:none; margin:0; padding:0;}

/* keep sticky look */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(140%) blur(6px);
  border-bottom: 1px solid var(--border);
}
/* anchor offset */
main section[id]{ scroll-margin-top: 120px; }


/* === About Section === */
.about-section{
  padding: 72px 0 80px;
  background: linear-gradient(to bottom, #f5f7fb 0%, #ffffff 55%, #ffffff 100%);
}
.about-inner.container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 40px;
  align-items: flex-start;
}
@media (max-width: 900px){
  .about-inner.container{
    grid-template-columns: minmax(0, 1fr);
  }
}
.about-text .eyebrow{
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  font-weight: 600;
  color: #4b6cb7;
  margin-bottom: 6px;
}
.about-text h2{
  font-size: 2rem;
  margin-bottom: 10px;
}
.about-text .lead{
  font-size: 1.05rem;
  margin-bottom: 8px;
}
.about-pill-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.about-pill-grid .pill{
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid #d0ddf5;
  background: rgba(255,255,255,0.9);
  font-size: 0.85rem;
}
.about-cards{
  display: grid;
  gap: 16px;
}
.about-card{
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  padding: 18px 18px 20px;
  box-shadow: 0 10px 25px rgba(15,23,42,0.05);
  font-size: 0.95rem;
}
.about-card h3{
  margin-top: 0;
  margin-bottom: 8px;
}
.about-card ul{
  padding-left: 20px;
  margin: 6px 0 0;
}
.about-card.mission{
  background: linear-gradient(135deg, #2f6fde, #4b6cb7);
  color: #ffffff;
  border-color: transparent;
}
.about-card.mission h3{
  color: #e5edff;
}
.about-card.mission .mission-text{
  margin: 4px 0 0;
  font-size: 1.05rem;
}


/* Subpage hero & breadcrumb */
.subpage-hero{
  padding: 80px 0 48px;
  background: radial-gradient(circle at top left, rgba(79, 127, 232, 0.22), transparent 55%),
              linear-gradient(to bottom, #f5f7fb 0%, #ffffff 65%, #ffffff 100%);
}
.subpage-hero .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.subpage-hero .eyebrow{
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #4b6cb7;
  margin-bottom: 6px;
}
.subpage-hero h1{
  font-size: 2.3rem;
  margin: 0 0 8px;
}
.subpage-hero .hero-subtitle{
  max-width: 640px;
  font-size: 1.05rem;
  color: #4b5563;
}

.breadcrumb{
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 8px;
}
.breadcrumb .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.breadcrumb a{
  color: #4b6cb7;
  text-decoration: none;
}
.breadcrumb a:hover{
  text-decoration: underline;
}

/* Active nav item */
.site-header nav a.nav-active,
.site-header nav a[aria-current="page"]{
  position: relative;
  font-weight: 700;
}
.site-header nav a.nav-active::after,
.site-header nav a[aria-current="page"]::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  border-radius: 999px;
  background: #2f6fde;
}

/* Subtle fade-up animation for about cards */
@keyframes fadeUpSoft{
  from{
    opacity: 0;
    transform: translateY(12px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}
.about-card{
  animation: fadeUpSoft 0.6s ease-out both;
}
.about-card:nth-child(2){
  animation-delay: 0.08s;
}
.about-card:nth-child(3){
  animation-delay: 0.16s;
}


/* === Über-uns Hero mit Bild === */
.subpage-hero{
  padding: 96px 0 56px;
  background: radial-gradient(circle at top left, rgba(79,127,232,0.18), transparent 55%),
              linear-gradient(to bottom, #f5f7fb 0%, #ffffff 60%, #ffffff 100%);
}

.hero-grid{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.9fr);
  gap: 40px;
  align-items: center;
}

.hero-copy h1{
  font-size: 2.4rem;
  margin: 0 0 10px;
}

.hero-copy .hero-subtitle{
  max-width: 620px;
  font-size: 1.05rem;
  color: #4b5563;
}

.hero-visual{
  display: flex;
  justify-content: flex-end;
}

.hero-visual img{
  max-width: 340px;
  width: 100%;
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(15,23,42,0.25);
  transform: translateY(4px);
}

/* Mobile Hero */
@media (max-width: 900px){
  .hero-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .hero-visual{
    justify-content: flex-start;
    order: -1;
  }
  .hero-visual img{
    max-width: 260px;
    border-radius: 18px;
  }
}

/* Mehr Luft im Partner-Absatz */
.about-text p + p{
  line-height: 1.6;
  margin-bottom: 0.9rem;
}

/* Pills stärker hervorheben */
.about-pill-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.about-pill-grid .pill{
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #b9c7ea;
  background: #ffffff;
  font-size: 0.85rem;
  font-weight: 500;
  color: #111827;
  box-shadow: 0 6px 15px rgba(15,23,42,0.04);
}

/* Karten-Icons & weichere Animation */
.about-card h3{
  position: relative;
  padding-left: 30px;
  margin-top: 0;
  margin-bottom: 8px;
}

.about-card h3::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #ffffff 0, #ffffff 20%, #4b6cb7 85%);
  opacity: 0.25;
}

.about-card.mission h3::before{
  background: rgba(255,255,255,0.4);
}

/* Fade-Up-Animation verfeinern */
@keyframes fadeUpSoft{
  from{
    opacity: 0;
    transform: translateY(12px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.about-card{
  animation: fadeUpSoft 0.5s ease-out both;
}

.about-card:nth-child(2){
  animation-delay: 0.04s;
}

.about-card:nth-child(3){
  animation-delay: 0.08s;
}

/* Mission-Card hervorheben */
.about-card.mission{
  background: linear-gradient(135deg, #2f6fde, #4866c7);
  color: #ffffff;
  border-color: transparent;
}

.about-card.mission .mission-text{
  margin: 4px 0 0;
  font-size: 1.05rem;
  line-height: 1.5;
}

@media (min-width: 900px){
  .about-cards{
    grid-template-rows: auto auto auto;
  }
  .about-card.mission{
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

/* Breadcrumb & aktiver Menüpunkt – Fallback, falls noch nicht vorhanden */
.breadcrumb{
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 8px;
}
.breadcrumb .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.breadcrumb a{
  color: #4b6cb7;
  text-decoration: none;
}
.breadcrumb a:hover{
  text-decoration: underline;
}

.site-header nav a.nav-active,
.site-header nav a[aria-current="page"]{
  position: relative;
  font-weight: 700;
}
.site-header nav a.nav-active::after,
.site-header nav a[aria-current="page"]::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  border-radius: 999px;
  background: #2f6fde;
}


/* Balance Über-uns-Seite: weniger Abstand zwischen Hero und Inhalt */
.subpage-hero{
  padding-bottom: 40px;
}

.about-section{
  padding-top: 32px;
}

/* Hero-Bild etwas kleiner für bessere Balance */
.hero-visual img{
  max-width: 240px;
}

/* Mission-Banner unten mit etwas weniger Rand */
.about-card.mission{
  padding-top: 14px;
  padding-bottom: 16px;
}


/* Über-uns-Layout Feinschliff */
.subpage-hero{
  padding: 72px 0 40px;
}

.hero-grid{
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 45px rgba(15,23,42,0.08);
  padding: 32px 40px;
}

@media (max-width: 900px){
  .hero-grid{
    padding: 24px 18px;
    border-radius: 18px;
  }
}


/* Netzwerk-Seite: Filterleiste */
.netz-main{
  padding:32px 16px;
}
#netzwerkpartner .container{
  max-width:1100px;
  margin:0 auto 8px auto;
}
.netz-controls{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end;
  margin:16px 0 24px 0;
}
.netz-controls-group{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:180px;
}
.netz-controls select,
.netz-controls input[type="search"]{
  padding:6px 10px;
  border-radius:8px;
  border:1px solid var(--border);
  font-size:14px;
}


/* Netzwerk-Seite: Header & Filterbereich optisch hervorheben */
.subpage-header{
  margin-bottom: 12px;
}
.subpage-header h1{
  margin: 0 0 8px 0;
  font-size: 26px;
}
.subpage-header .lead{
  margin: 0 0 4px 0;
  color: var(--muted);
}
.subpage-header .sublead{
  margin: 0;
  font-size: 14px;
  color: #4b5563;
}

.netz-controls-card{
  margin-top: 18px;
  margin-bottom: 24px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, #f9fafb, #eef2ff);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
}

.netz-controls{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:flex-end;
}
.netz-controls-group{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:220px;
}
.netz-controls-group label{
  font-size:13px;
  font-weight:600;
  color: var(--muted);
}
.netz-controls select,
.netz-controls input[type="search"]{
  padding:7px 11px;
  border-radius:10px;
  border:1px solid var(--border);
  font-size:14px;
}
.netz-controls select:focus,
.netz-controls input[type="search"]:focus{
  outline:2px solid var(--brand-blue);
  outline-offset:1px;
}

@media (max-width: 700px){
  .netz-controls-card{
    padding:10px 10px;
  }
  .netz-controls-group{
    min-width:100%;
  }
}


/* --- CENTER NETWORK HEADER & FILTER SECTION --- */

.subpage-header{
  text-align: center;
  margin-bottom: 12px;
}

.subpage-header h1{
  margin: 0 0 8px 0;
  font-size: 28px;
  text-align: center;
}

.subpage-header .lead,
.subpage-header .sublead{
  text-align: center;
}

/* Center the filter card */
.netz-controls-card{
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
}

/* Center controls inside the card */
.netz-controls{
  justify-content: center;
}



/* Kontaktseite */
.kontakt-layout{
  display:grid;
  gap:24px;
  align-items:flex-start;
}
.kontakt-main-card{
  background:#ffffff;
  border-radius:16px;
  border:1px solid #e5e7eb;
  padding:18px 20px 20px;
  box-shadow:0 10px 25px rgba(15,23,42,0.05);
}
.kontakt-side{
  background:linear-gradient(135deg,#eef2ff,#e0e7ff);
  border-radius:16px;
  padding:18px 20px 20px;
  font-size:0.95rem;
}
.kontakt-side h3{
  margin-top:0;
  margin-bottom:8px;
}
.kontakt-note{
  font-size:0.8rem;
  color:#6b7280;
  margin-top:8px;
}
.kontakt-partner-grid .kontakt-card{
  padding-bottom:18px;
}
.kontakt-partner-grid .kontakt-actions{
  margin-top:8px;
}
.btn.btn-sm{
  padding:6px 12px;
  font-size:0.9rem;
}

@media (min-width: 880px){
  .kontakt-layout{
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1.2fr);
  }
}


/* Über-uns Mission-Card: einfache einspaltige Variante B */
.about-card h3,
.about-card.mission h3{
  position: static !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.about-card h3::before,
.about-card.mission h3::before{
  display: none !important;
  content: none !important;
}

.about-card.mission{
  background: linear-gradient(135deg, #3557d9, #22348f);
  color: #eef2ff;
}

.about-card.mission .mission-text{
  margin: 4px 0 8px 0;
  font-size: 1.05rem;
}

.about-card.mission .mission-text strong{
  font-weight: 700;
}

.about-card.mission p{
  color: #eef2ff;
}


/* Fix: Mission-Card Überschrift über gesamtem Text */
.about-card.mission{
    display: block !important;
}

.about-card.mission h3{
    margin-bottom: 12px !important;
    display: block !important;
}

/* Ensure claim + text follow below the heading */
.about-card.mission .mission-text,
.about-card.mission p{
    display: block !important;
}


/* Termine-Seite */
.termine-grid{
  display:grid;
  gap:20px;
  margin-top:16px;
}
.termin-card{
  background:#ffffff;
  border-radius:16px;
  border:1px solid #e5e7eb;
  padding:16px 18px 18px;
  box-shadow:0 10px 22px rgba(15,23,42,0.04);
}
.termin-card h3{
  margin-top:0;
  margin-bottom:6px;
}
.termin-meta{
  font-size:0.9rem;
  color:#6b7280;
  margin-top:0;
  margin-bottom:10px;
}
.termin-hinweis{
  margin-top:16px;
  font-size:0.85rem;
  color:#6b7280;
}
@media (min-width: 880px){
  .termine-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.two-col {display:grid; grid-template-columns:1fr 450px; gap:2rem; align-items:start;}
@media(max-width:800px){ .two-col{grid-template-columns:1fr;} .col-img{margin-top:1rem;} }


/* Feinjustierung Termine-Bild: kleiner und nach rechts ausgerichtet */
.section .two-col{
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr);
}

.two-col .col-img{
  display: flex;
  justify-content: flex-end;
}

.two-col .col-img img{
  max-width: 320px;
  height: auto;
  border-radius: 16px;
}
@media (max-width: 800px){
  .section .two-col{
    grid-template-columns: 1fr;
  }
  .two-col .col-img{
    justify-content: flex-start;
  }
}


/* Highlighted event card */
.termin-card{
  border:2px solid #F09D3B;
  padding:1.5rem;
  border-radius:16px;
  box-shadow:0 4px 10px rgba(0,0,0,0.08);
}
.termin-badge{
  display:inline-block;
  background:#f09d3b;
  color:white;
  padding:4px 10px;
  border-radius:8px;
  font-size:0.85rem;
  margin-bottom:0.5rem;
 border:2px solid #F09D3B;}
.cta-button{
  display:inline-block;
  margin-top:1rem;
  background:#2a6fe8;
  color:white;
  padding:10px 16px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
}
.cta-button:hover{
  background:#1f54b8;
}


/* Event + Maps side by side */
.event-map-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:start;
}
.event-map iframe{
  width:100%;
  height:100%;
  min-height:350px;
  border-radius:16px;
}
@media(max-width:900px){
  .event-map-grid{
    grid-template-columns:1fr;
  }
}


/* Harmonisiertes Layout: Event-Box & Karte gleich groß (Standard-Elegant) */
.event-map-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: stretch;
}

.event-map-grid .termin-card{
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.event-map{border:2px solid #F09D3B; border-radius:16px; overflow:hidden;}

.event-map iframe{
  width: 100%;
  height: 100%;
  min-height: 360px;
  max-height: 360px;
  border-radius: 16px;
}

/* Mobile: untereinander, volle Breite */
@media (max-width: 900px){
  .event-map-grid{
    grid-template-columns: 1fr;
  }
  .event-map iframe{
    min-height: 260px;
    max-height: none;
  }
}


/* Container ohne Grid für spezielle Bereiche (z.B. Termine) */
.container-full{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Termine-Layout: zwei gleich breite Spalten */
.section-termine .termine-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: stretch;
  margin-top: 16px;
}

/* Termin-Karte: volle Höhe, wie die Map */
.section-termine .termin-card{
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* CTA-Button an das untere Ende schieben */
.section-termine .termin-card .cta-button{
  margin-top: auto;
}

/* Map-Container */
.section-termine .event-map{border:2px solid #F09D3B; border-radius:16px; overflow:hidden;}

/* Map selbst: gleiche Höhe wie Karte */
.section-termine .event-map iframe{
  width: 100%;
  height: 100%;
  min-height: 420px;
  border-radius: 16px;
}

/* Mobile: Boxen untereinander */
@media (max-width: 900px){
  .section-termine .termine-layout{
    grid-template-columns: 1fr;
  }
  .section-termine .event-map iframe{
    min-height: 260px;
  }
}


/* Termine: Save the Date Badge größer + Diakonie-Logo */
.termin-badge{
  display:inline-block;
  background:#f09d3b;
  color:#fff;
  padding:8px 18px;
  border-radius:20px;
  font-size:1rem;
  font-weight:700;
  margin-bottom:0.75rem;
 border:2px solid #F09D3B;}

.termin-logo{
  display:block;
  max-width:120px; /* smaller */
  margin: 0.5rem auto 1rem auto; /* centered */
}


/* Save the Date row with date aligned right */
.save-date-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.save-date-row .termin-badge{
  margin:0;
}

.save-date-date{
  font-size:1rem;
  font-weight:700;
  color:#F09D3B;
}


/* v1.3 – Über-uns: klare Werte- und Kartenstruktur */
.about-pill-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px !important;
  margin:18px 0 22px !important;
}
.about-pill-grid .pill{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:12px 14px !important;
  border-radius:12px !important;
  border:1px solid #d8e1f1 !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,23,42,.045) !important;
  text-align:center;
  line-height:1.3;
  font-weight:600 !important;
  color:#172033 !important;
}
.about-cards{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px !important;
}
.about-card{
  min-width:0;
  padding:22px 24px !important;
  border-radius:16px !important;
}
.about-card.mission{
  grid-column:1 / -1 !important;
  display:block !important;
  padding:22px 24px !important;
}
@media (max-width:900px){
  .about-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .about-cards{grid-template-columns:1fr !important;}
  .about-card.mission{grid-column:auto !important;}
}
@media (max-width:560px){
  .about-pill-grid{grid-template-columns:1fr !important;}
}

/* Zusätzliche Layout-Bausteine für den v1.4 Page Builder */
.cms-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
@media(max-width:850px){.cms-card-grid{grid-template-columns:1fr}}

/* ========================================================================
   v1.6 – Live redesign: modern Netzwerk look (blue/green, airy, professional)
   ======================================================================== */
:root{
  --brand-blue:#087fc4;
  --brand-blue-dark:#12345a;
  --brand-green:#6fbd43;
  --brand-cyan:#29a9d6;
  --text:#17324f;
  --muted:#60738a;
  --bg:#f7fafc;
  --card:#ffffff;
  --border:#dce7f1;
  --radius:18px;
  --container:1240px;
  --shadow:0 14px 40px rgba(24,57,89,.08);
}
html{scroll-behavior:smooth}
body{background:linear-gradient(180deg,#fff 0,#f8fbfd 44%,#f6f9fb 100%);color:var(--text);font-size:16px;line-height:1.55}
a{color:var(--brand-blue)}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:1000;
  width:100%;padding:0;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(145%) blur(14px);
  border-bottom:1px solid rgba(190,210,226,.75);
  box-shadow:0 8px 28px rgba(18,52,90,.07);
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent 2%,rgba(8,127,196,.5) 32%,rgba(111,189,67,.55) 70%,transparent 98%);opacity:.5}
.site-header .container.header-inner{
  max-width:1480px;margin:0 auto;padding:13px 28px;
  display:grid;grid-template-columns:auto minmax(230px,.8fr) minmax(560px,1.7fr) auto;
  align-items:center;gap:28px;
}
.site-header .brand{display:flex;align-items:center;text-decoration:none;min-width:0}
.site-header .brand img{max-height:82px;width:auto;display:block}
.header-tagline{border-left:1px solid #e1e9ef;padding-left:28px;display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}
.header-tagline span{font-family:"Segoe Print","Bradley Hand",cursive;font-size:21px;color:#168fc9;transform:rotate(-1deg)}
.header-tagline small{font-size:13px;font-weight:700;color:#168fc9;margin-top:4px;margin-left:44px;letter-spacing:.01em}
.site-header nav{justify-self:end;margin:0;min-width:0}
.site-header nav ul{display:flex;align-items:center;justify-content:flex-end;gap:4px;list-style:none;margin:0;padding:0;white-space:nowrap}
.site-header nav a{position:relative;display:block;padding:12px 11px;color:#284762;font-size:14px;font-weight:600;text-decoration:none;border-radius:10px;transition:color .18s ease,background .18s ease}
.site-header nav a:hover{color:#087fc4;background:#f1f8fc;text-decoration:none}
.site-header nav a.nav-active,.site-header nav a[aria-current="page"]{font-weight:750;color:#087fc4;background:transparent}
.site-header nav a.nav-active::after,.site-header nav a[aria-current="page"]::after{left:10px;right:10px;bottom:3px;height:3px;background:linear-gradient(90deg,#118fd0,#65b84c)}
.header-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;color:#fff!important;font-weight:750;text-decoration:none!important;background:linear-gradient(100deg,#70bd49,#038bcb);box-shadow:0 8px 22px rgba(8,127,196,.18);white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease}
.header-cta:hover{transform:translateY(-1px);box-shadow:0 11px 26px rgba(8,127,196,.25)}

/* GENERAL PAGE FRAME */
.main,.netz-main{max-width:none;margin:0;padding:0 24px 72px}
.main>.section,.main>.features,.netz-main>#netzwerkpartner{max-width:var(--container);margin-left:auto;margin-right:auto}
.section{margin-top:30px}
.section h1,.section h2,.section h3,.feature-text h3,.subpage-header h1{color:#15324e;letter-spacing:-.025em}
.section h2{font-size:clamp(25px,2.1vw,34px)}
.card,.about-card,.kontakt-main-card,.kontakt-side,.termin-card,.netz-controls-card{border-color:var(--border);box-shadow:var(--shadow)}

/* START & GENERIC HERO */
.main#start>.section:first-child,.main#ueber-uns>.section:first-child,.main#termine>.section:first-child,.main#kontakt>.section:first-child{max-width:none;margin:0 -24px 34px;padding:0}
.main#start>.section:first-child .hero-card,.main#ueber-uns>.section:first-child .hero-card,.main#termine>.section:first-child .hero-card,.main#kontakt>.section:first-child .hero-card{
  position:relative;overflow:hidden;max-width:none;min-height:390px;margin:0;padding:74px max(7vw,calc((100% - 1240px)/2 + 24px));
  border:0;border-radius:0;box-shadow:none;
  background:linear-gradient(90deg,rgba(248,252,255,.98) 0%,rgba(248,252,255,.97) 44%,rgba(248,252,255,.66) 62%,rgba(248,252,255,.12) 100%);
  display:flex;flex-direction:column;justify-content:center;
}
.main#start>.section:first-child .hero-card::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url('assets/photos/start-hero-netzwerk-clean.jpg') center right/58% 100% no-repeat;
}
.main#start>.section:first-child .hero-card::after{
  content:"";position:absolute;right:2.5%;top:9%;width:255px;height:255px;border-radius:50%;z-index:-1;
  background:linear-gradient(135deg,rgba(111,189,67,.62),rgba(20,154,202,.62));filter:blur(.1px);opacity:.28;
}
.main#start>.section:first-child .hero-card h1{max-width:650px;font-size:clamp(44px,5.4vw,72px);line-height:1.03;margin:0 0 22px;color:#14324e;letter-spacing:-.045em}
.main#start>.section:first-child .hero-card h1::first-line{color:#14324e}
.main#start>.section:first-child .hero-card p{max-width:650px;margin:0;font-size:19px;line-height:1.55;color:#425f78}
.main#start>.section:first-child .hero-card p strong{display:inline-block;margin-bottom:6px;font-size:24px;color:#087fc4;background:linear-gradient(90deg,#078dcc,#6fbd43);-webkit-background-clip:text;background-clip:text;color:transparent}

/* subpage hero gets a calmer, branded treatment */
.main:not(#start)>.section:first-child .hero-card{min-height:245px;background:radial-gradient(circle at 88% 14%,rgba(111,189,67,.16),transparent 27%),radial-gradient(circle at 76% 65%,rgba(8,127,196,.16),transparent 30%),linear-gradient(120deg,#f4faff,#fff)}
.main:not(#start)>.section:first-child .hero-card h1{font-size:clamp(36px,4.5vw,58px);max-width:850px;margin:0 0 14px}
.main:not(#start)>.section:first-child .hero-card p{max-width:820px;font-size:18px;color:#536c82}

/* FEATURE ROWS */
.features{max-width:var(--container);padding:0;gap:28px;margin:34px auto 60px}
.feature-row{border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);min-height:320px;background:rgba(255,255,255,.96)}
.feature-row:hover{box-shadow:0 20px 48px rgba(24,57,89,.12)}
.feature-media img{aspect-ratio:16/10;min-height:310px}
.feature-text{padding:34px 38px}
.feature-text h3{font-size:27px;margin-bottom:12px}
.feature-text p{font-size:16px;line-height:1.65;color:#4e667c}
.feature-bullets{padding-left:21px;color:#27445f}
.feature-bullets li{padding-left:3px;margin:8px 0}
.feature-bullets li::marker{color:#67b848}

/* pills / principles */
.about-pill-grid,.principles,.werte-grid{gap:12px!important}
.about-pill-grid .pill,.principle,.grundsatz{
  border:1px solid #cfe0ec!important;background:#fff!important;color:#284762!important;
  border-radius:16px!important;padding:13px 16px!important;box-shadow:0 8px 22px rgba(24,57,89,.06)!important;font-weight:650!important
}

/* ABOUT CARDS */
.about-section{background:linear-gradient(180deg,#f7fbfd,#fff);padding:48px 0 80px}
.about-inner.container{max-width:var(--container)}
.about-card{border-radius:22px;padding:25px 27px;background:#fff}
.about-card h3{font-size:23px;padding-left:0}.about-card h3::before{display:none}
.about-card.mission{background:linear-gradient(115deg,#087fc4,#273fa2);border-radius:22px;box-shadow:0 18px 44px rgba(32,70,156,.22)}
.about-card.mission h3,.about-card.mission strong{color:#fff}

/* NETWORK PARTNERS */
.netz-main{padding-top:54px}
#netzwerkpartner .container{max-width:var(--container)}
.subpage-header{padding:30px 0 18px}
.subpage-header h1{font-size:clamp(34px,4.5vw,54px)}
.subpage-header .lead{font-size:18px;color:#536c82}
.netz-controls-card{max-width:920px;border-radius:20px;padding:18px 20px;background:#fff}
.netz-controls select,.netz-controls input[type="search"]{min-height:44px;border-color:#cdddea;background:#fbfdff}
.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:1100px!important;gap:24px!important;margin:34px auto!important}
.partner-card{max-width:none!important;min-height:290px;border-radius:22px!important;padding:24px!important;border-color:var(--border)!important;box-shadow:var(--shadow)!important}
.partner-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(24,57,89,.12)!important}
.partner-card h3{font-size:20px;color:#173b5b}
.partner-card .org-logo{width:120px;max-height:72px;object-fit:contain}

/* BUTTONS */
.btn,.cta-button,.form-wrap button,.partnership button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
  border:0;border-radius:999px;padding:11px 20px;background:linear-gradient(100deg,#078bc9,#1774c5);color:#fff!important;
  font-weight:750;text-decoration:none!important;box-shadow:0 8px 22px rgba(8,127,196,.18);transition:transform .18s ease,box-shadow .18s ease
}
.btn:hover,.cta-button:hover,.form-wrap button:hover,.partnership button:hover{transform:translateY(-1px);box-shadow:0 12px 27px rgba(8,127,196,.25)}

/* CONTACT */
.kontakt-layout{max-width:var(--container);gap:24px}
.kontakt-main-card,.kontakt-side{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px}
.kontakt-main-card{position:relative;overflow:hidden}.kontakt-main-card::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-65px;top:-70px;background:linear-gradient(135deg,rgba(111,189,67,.22),rgba(8,127,196,.22))}

/* EVENTS */
.section-termine .container-full,.section-muted .container{max-width:var(--container);margin:0 auto}
.termin-card{border-radius:24px!important;padding:28px!important;background:#fff!important;border:1px solid var(--border)!important}
.termin-badge{border-radius:999px!important;background:#eaf6ff!important;color:#087fc4!important;font-weight:750!important}

/* FORMS */
.page-hero,.form-wrap{max-width:var(--container);margin:0 auto;padding-left:24px;padding-right:24px}
.page-hero{padding-top:54px}.page-hero .card{padding:32px;border-radius:24px;background:linear-gradient(120deg,#f3faff,#fff);box-shadow:var(--shadow)}
.form-wrap{padding-bottom:72px}.partnership{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.field input,.field select,.field textarea{border:1px solid #cbdce8!important;border-radius:12px!important;min-height:44px!important;padding:10px 12px!important;background:#fbfdff!important}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(8,127,196,.25)!important;border-color:#168fc9!important}

/* LEGAL PAGES */
.main>.section:only-child{max-width:1000px;padding-top:48px}.main>.section:only-child>.card{border-radius:22px;padding:28px}

/* FOOTER */
.site-footer{background:#fff;border-top:1px solid #dce7f1;margin-top:0}
.footer-inner{max-width:var(--container);padding:34px 24px 28px}
.footer-brand-row{display:flex;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid #e5eef5}
.footer-brand-row img{height:54px;width:auto}.footer-brand-row div{display:flex;flex-direction:column}.footer-brand-row strong{color:#15324e}.footer-brand-row span{font-size:13px;color:#71859a}
.footer-links a{color:#486278;font-weight:600}

/* responsive */
@media (max-width:1280px){
  .site-header .container.header-inner{grid-template-columns:auto 1fr auto;gap:18px;padding:11px 18px}
  .header-tagline{display:none}
  .site-header nav a{padding:10px 8px;font-size:13px}
  .site-header .brand img{max-height:72px}
}
@media (max-width:980px){
  .site-header .container.header-inner{display:flex;flex-wrap:wrap;gap:8px 16px}
  .site-header .brand img{max-height:64px}.header-cta{margin-left:auto}
  .site-header nav{order:3;width:100%;overflow-x:auto;padding-bottom:2px}.site-header nav ul{justify-content:flex-start;width:max-content}
  .main#start>.section:first-child .hero-card::before{background-position:center;background-size:cover;opacity:.24}
  .main#start>.section:first-child .hero-card{background:linear-gradient(90deg,rgba(248,252,255,.96),rgba(248,252,255,.86));min-height:350px}
  .feature-text{padding:26px}
}
@media (max-width:700px){
  .site-header .container.header-inner{padding:9px 13px}.site-header .brand img{max-height:56px}.header-cta{padding:9px 14px;font-size:13px}
  .main,.netz-main{padding-left:14px;padding-right:14px}
  .main#start>.section:first-child,.main#ueber-uns>.section:first-child,.main#termine>.section:first-child,.main#kontakt>.section:first-child{margin-left:-14px;margin-right:-14px}
  .main#start>.section:first-child .hero-card,.main:not(#start)>.section:first-child .hero-card{padding:52px 20px;min-height:310px}
  .main#start>.section:first-child .hero-card h1{font-size:42px}
  .main#start>.section:first-child .hero-card p{font-size:17px}
  .partner-grid{grid-template-columns:1fr!important;max-width:620px!important}
  .feature-row{border-radius:20px}.feature-media img{min-height:220px}.feature-text{padding:24px 20px}
  .footer-brand-row{align-items:flex-start}.footer-brand-row img{height:46px}
}


/* =========================================================
   v1.7 – Full-width Live Redesign
   Ziel: freigegebene Gesamtseiten-Optik, Inhalte bleiben gleich
   ========================================================= */
:root{
  --brand-blue:#0786d1;
  --brand-blue-dark:#0d2d4c;
  --brand-green:#69bb45;
  --brand-teal:#10a7b8;
  --text:#19334f;
  --muted:#61778d;
  --bg:#ffffff;
  --card:#ffffff;
  --border:#dce8f2;
  --radius:20px;
  --container:1440px;
  --content:1240px;
  --shadow:0 16px 46px rgba(18,54,87,.09);
}
html{scroll-behavior:smooth}
body{
  background:#fff;
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
}
a{color:#067fc6}
a:hover{text-decoration:none}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(204,222,236,.8);
  box-shadow:0 4px 24px rgba(20,55,85,.06);
  backdrop-filter:blur(12px) saturate(140%);
  padding:0;
}
.site-header .container.header-inner{
  width:min(96vw,1500px);
  max-width:none;
  min-height:94px;
  margin:0 auto;
  padding:10px 18px;
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto auto;
  align-items:center;
  gap:22px;
}
.site-header .brand{display:flex;align-items:center}
.site-header .brand img{
  display:block;
  max-height:74px;
  width:auto;
  max-width:290px;
}
.header-tagline{
  padding-left:22px;
  border-left:1px solid #dfeaf3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.header-tagline span{
  color:#0786d1;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:21px;
  line-height:1.05;
  white-space:nowrap;
}
.header-tagline small{
  margin-top:3px;
  color:#1386c6;
  font-weight:700;
  font-size:12px;
}
.site-header nav{justify-self:end}
.site-header nav ul{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  list-style:none;
  margin:0;
  padding:0;
  flex-wrap:nowrap;
}
.site-header nav a{
  color:#24425f;
  font-weight:650;
  font-size:14px;
  padding:15px 11px 13px;
  border-radius:10px;
  position:relative;
  white-space:nowrap;
}
.site-header nav a:hover{
  color:#0786d1;
  background:#f4f9fd;
}
.site-header nav a.nav-active,
.site-header nav a[aria-current="page"]{color:#0786d1}
.site-header nav a.nav-active::after,
.site-header nav a[aria-current="page"]::after{
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,#0786d1,#69bb45);
  left:11px;
  right:11px;
  bottom:5px;
}
.header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(110deg,#6abe4a 0%,#0d9fc1 55%,#087ec7 100%);
  box-shadow:0 10px 24px rgba(6,139,178,.20);
  white-space:nowrap;
}
.header-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:0 13px 28px rgba(6,139,178,.26)}

/* Home takes the entire page width */
.main#start{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 70px;
  overflow:hidden;
}
.main#start > .section:first-child{
  margin:0;
  width:100%;
}
.main#start .hero-card{
  min-height:540px;
  width:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:110px max(7vw,40px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.43) 61%,rgba(255,255,255,.08) 100%),
    url("assets/photos/start-hero-netzwerk-clean.jpg") center 44%/cover no-repeat;
}
.main#start .hero-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-70px;
  top:42px;
  width:290px;
  height:290px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 35%,rgba(105,187,69,.72),rgba(16,167,184,.47) 57%,rgba(7,134,209,.32) 58%,rgba(7,134,209,.05) 78%,transparent 79%);
  opacity:.82;
}
.main#start .hero-card h1{
  max-width:780px;
  margin:0 0 18px;
  font-size:clamp(48px,5vw,78px);
  line-height:1.01;
  letter-spacing:-.04em;
  color:#102f4f;
}
.main#start .hero-card p{
  max-width:710px;
  margin:0;
  font-size:clamp(18px,1.45vw,24px);
  color:#385a78;
  line-height:1.55;
}
.main#start .hero-card strong{
  display:inline-block;
  font-size:clamp(26px,2.4vw,39px);
  line-height:1.12;
  margin-bottom:12px;
  color:#0786d1;
  background:linear-gradient(90deg,#0786d1 0%,#11a7b8 44%,#6abb45 82%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Feature story – full-width bands */
.main#start .features{
  width:100%;
  max-width:none;
  padding:34px 0 0;
  margin:0;
  display:block;
}
.main#start .feature-row{
  width:min(90vw,1380px);
  max-width:none;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  min-height:440px;
  border:0;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.main#start .feature-row + .feature-row{margin-top:34px}
.main#start .feature-row:nth-child(even){
  background:linear-gradient(120deg,#f4faff,#fbfdff);
}
.main#start .feature-row.reverse{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.main#start .feature-media{min-height:440px}
.main#start .feature-media img{
  width:100%;
  height:100%;
  min-height:440px;
  aspect-ratio:auto;
  object-fit:cover;
  transform:none;
}
.main#start .feature-row:hover .feature-media img{transform:scale(1.015)}
.main#start .feature-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px clamp(36px,5vw,78px);
  position:relative;
}
.main#start .feature-text::before{
  content:"UNSER NETZWERK";
  display:block;
  margin-bottom:12px;
  color:#1397a9;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}
.main#start .feature-row:nth-child(2) .feature-text::before{content:"UNSER ZIEL"}
.main#start .feature-row:nth-child(3) .feature-text::before{content:"AUSTAUSCH & WISSEN"}
.main#start .feature-row:nth-child(4) .feature-text::before{content:"GEMEINSAM WIRKEN"}
.main#start .feature-text h3{
  color:#112f4d;
  font-size:clamp(30px,2.5vw,43px);
  line-height:1.12;
  letter-spacing:-.025em;
  margin:0 0 18px;
}
.main#start .feature-text p{
  color:#4b6681;
  font-size:18px;
  line-height:1.65;
  margin:0 0 13px;
}
.main#start .feature-bullets{
  list-style:none;
  padding:0;
  margin:14px 0 0;
}
.main#start .feature-bullets li{
  position:relative;
  padding-left:31px;
  margin:10px 0;
  color:#24425f;
  font-size:16px;
}
.main#start .feature-bullets li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:21px;
  height:21px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#0ea5a5,#65b946);
  font-size:12px;
  font-weight:900;
}

/* General subpages become wider and visually consistent */
.main:not(#start){
  width:min(92vw,1380px);
  max-width:none;
  margin:38px auto 80px;
  padding:0;
}
.main:not(#start) .hero-card,
.main:not(#start) .card{
  border-radius:22px;
  border-color:#dce8f2;
  box-shadow:0 14px 38px rgba(20,55,85,.07);
}
.main:not(#start) .hero-card{
  background:linear-gradient(135deg,#eff8ff 0%,#f8fcff 62%,#f3faef 100%);
  padding:44px 48px;
}
.main:not(#start) .hero-card h1{
  color:#123553;
  font-size:clamp(36px,4vw,56px);
}
.main:not(#start) h2,.main:not(#start) h3{color:#123553}

/* Generic sections produced by the builder */
.about-section,
.subpage-hero{
  width:100%;
}
.about-inner.container,
.subpage-hero .container,
.breadcrumb .container{
  width:min(92vw,1380px);
  max-width:none;
}
.about-card{border-radius:20px}
.about-card.mission{
  background:linear-gradient(120deg,#0d82ce,#2446ad);
}

/* Partners */
.partner-grid{
  grid-template-columns:repeat(3,minmax(260px,1fr)) !important;
  width:min(92vw,1380px) !important;
  max-width:none !important;
  gap:24px !important;
}
.partner-card{
  max-width:none !important;
  min-height:300px;
  border-radius:20px;
  border-color:#dae7f1;
  box-shadow:0 12px 32px rgba(20,55,85,.07);
}

/* Buttons */
.btn{
  border:0;
  border-radius:999px;
  padding:12px 22px;
  color:#fff;
  background:linear-gradient(100deg,#0786d1,#0a9bb8);
  box-shadow:0 9px 22px rgba(7,134,209,.19);
}
.btn:hover{filter:none;transform:translateY(-1px)}

/* Footer – full width, styled */
.site-footer{
  width:100%;
  border-top:1px solid #dbe8f2;
  background:
    radial-gradient(circle at 68% 100%,rgba(105,187,69,.14),transparent 22%),
    radial-gradient(circle at 76% 100%,rgba(7,134,209,.14),transparent 27%),
    linear-gradient(180deg,#f7fbfe 0%,#ffffff 74%);
}
.footer-inner{
  width:min(92vw,1380px);
  max-width:none;
  margin:0 auto;
  padding:50px 0 30px;
}
.footer-brand-row{
  display:flex;
  align-items:center;
  gap:22px;
  padding-bottom:30px;
  margin-bottom:22px;
  border-bottom:1px solid #dce7ef;
}
.footer-brand-row img{
  width:auto;
  max-height:76px;
}
.footer-brand-row div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.footer-brand-row strong{font-size:20px;color:#123553}
.footer-brand-row span{color:#0786d1;font-weight:650}
.footer-grid{grid-template-columns:1fr auto}
.footer-meta{color:#708397}
.footer-links{gap:20px}
.footer-links a{color:#31516d;font-weight:600}
.footer-links a:hover{color:#0786d1}

/* Responsive */
@media (max-width:1220px){
  .header-tagline{display:none}
  .site-header .container.header-inner{grid-template-columns:auto 1fr auto}
  .site-header nav{justify-self:end}
  .partner-grid{grid-template-columns:repeat(2,minmax(280px,1fr)) !important}
}
@media (max-width:980px){
  .site-header .container.header-inner{
    grid-template-columns:auto 1fr auto;
    min-height:80px;
  }
  .site-header nav{display:none}
  .site-header .brand img{max-height:62px}
  .main#start .hero-card{
    min-height:500px;
    padding:78px 6vw;
    background:
      linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.92) 55%,rgba(255,255,255,.34)),
      url("assets/photos/start-hero-netzwerk-clean.jpg") 62% center/cover no-repeat;
  }
  .main#start .hero-card h1{font-size:clamp(44px,8vw,65px)}
  .main#start .feature-row,
  .main#start .feature-row.reverse{
    grid-template-columns:1fr;
    width:min(92vw,900px);
  }
  .main#start .feature-row.reverse .feature-text{order:2}
  .main#start .feature-row.reverse .feature-media{order:1}
  .main#start .feature-media,
  .main#start .feature-media img{min-height:350px}
  .main#start .feature-text{padding:44px 38px 50px}
}
@media (max-width:720px){
  .site-header .container.header-inner{
    width:100%;
    padding:8px 14px;
    grid-template-columns:1fr auto;
  }
  .site-header .brand img{max-height:56px;max-width:230px}
  .header-cta{min-height:42px;padding:0 15px;font-size:13px}
  .main#start .hero-card{
    min-height:520px;
    padding:62px 24px 70px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 60%,rgba(255,255,255,.52) 100%),
      url("assets/photos/start-hero-netzwerk-clean.jpg") 62% center/cover no-repeat;
  }
  .main#start .hero-card h1{font-size:42px}
  .main#start .hero-card p{font-size:17px}
  .main#start .hero-card strong{font-size:25px}
  .main#start .hero-card::after{width:180px;height:180px;right:-65px}
  .main#start .features{padding-top:22px}
  .main#start .feature-row + .feature-row{margin-top:22px}
  .main#start .feature-row{border-radius:18px}
  .main#start .feature-media,.main#start .feature-media img{min-height:245px}
  .main#start .feature-text{padding:34px 25px 40px}
  .main#start .feature-text h3{font-size:30px}
  .main#start .feature-text p{font-size:16px}
  .partner-grid{grid-template-columns:1fr !important;width:min(92vw,620px)!important}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand-row{align-items:flex-start}
}


/* =========================================================
   v1.7.1 – Hero Fix
   Keine Bildverzerrung + klar lesbarer Text
   ========================================================= */
.main#start .hero-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:520px;
  padding:78px max(5.5vw,42px);
  background:
    linear-gradient(90deg,
      #f7fbfe 0%,
      #f7fbfe 37%,
      rgba(247,251,254,.98) 43%,
      rgba(247,251,254,.80) 49%,
      rgba(247,251,254,.22) 58%,
      rgba(247,251,254,0) 68%
    );
}

/* Alte 58% x 100%-Bildregel vollständig ersetzen */
.main#start>.section:first-child .hero-card::before,
.main#start .hero-card::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:-2 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:62% !important;
  height:100% !important;
  background-image:url("assets/photos/start-hero-netzwerk-clean.jpg") !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  opacity:1 !important;
}

/* dezente Markenform nur rechts, nicht über dem Text */
.main#start .hero-card::after{
  z-index:-1;
  right:2.8%;
  top:11%;
  width:250px;
  height:250px;
  opacity:.22;
}

/* Textbereich bleibt vollständig auf der hellen Seite */
.main#start .hero-card h1,
.main#start .hero-card p{
  position:relative;
  z-index:2;
  width:min(40vw,690px);
  max-width:690px;
}
.main#start .hero-card h1{
  font-size:clamp(46px,4.7vw,72px);
  line-height:1.02;
  margin-bottom:18px;
}
.main#start .hero-card p{
  font-size:18px;
  line-height:1.6;
  color:#405e78;
}
.main#start .hero-card p strong{
  font-size:24px;
  line-height:1.25;
}

/* Wide screens: Bild darf großzügig sein, ohne Text zu überdecken */
@media (min-width:1500px){
  .main#start .hero-card::before{
    width:60% !important;
    background-position:center center !important;
  }
  .main#start .hero-card h1,
  .main#start .hero-card p{
    width:min(38vw,690px);
  }
}

/* Tablet: klarer Split, aber weiterhin proportional */
@media (max-width:1050px){
  .main#start .hero-card{
    min-height:560px;
    padding:64px 5vw;
    background:
      linear-gradient(90deg,
        rgba(247,251,254,.99) 0%,
        rgba(247,251,254,.97) 48%,
        rgba(247,251,254,.72) 62%,
        rgba(247,251,254,.18) 100%
      );
  }
  .main#start .hero-card::before{
    width:58% !important;
    background-position:center center !important;
  }
  .main#start .hero-card h1,
  .main#start .hero-card p{
    width:min(52vw,610px);
  }
}

/* Mobile: Bild als Hintergrund, Text mit sicherer Lesefläche */
@media (max-width:760px){
  .main#start .hero-card{
    min-height:590px;
    padding:58px 24px 70px;
    background:
      linear-gradient(180deg,
        rgba(247,251,254,.99) 0%,
        rgba(247,251,254,.98) 44%,
        rgba(247,251,254,.86) 67%,
        rgba(247,251,254,.42) 100%
      );
  }
  .main#start .hero-card::before{
    width:100% !important;
    height:100% !important;
    background-position:60% center !important;
  }
  .main#start .hero-card h1,
  .main#start .hero-card p{
    width:100%;
    max-width:100%;
  }
  .main#start .hero-card h1{
    font-size:41px;
  }
  .main#start .hero-card p{
    font-size:16.5px;
  }
}


/* =========================================================
   v1.7.2 – Hero als echte visuelle 43/57-Zweispaltenfläche
   Links nur Text, rechts nur Foto – keine Überlagerung
   ========================================================= */
.main#start > .section:first-child{
  width:100%;
  margin:0;
  padding:0;
}

.main#start > .section:first-child .hero-card{
  width:100%;
  min-height:520px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
  position:relative;
  display:grid !important;
  grid-template-columns:43% 57%;
  grid-template-rows:1fr auto auto 1fr;
  column-gap:0;
  background:#f7fbfe !important;
  isolation:isolate;
}

/* Bild beginnt exakt nach der linken Textspalte */
.main#start > .section:first-child .hero-card::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:43% !important;
  width:57% !important;
  height:100% !important;
  background-image:url("assets/photos/start-hero-netzwerk-clean.jpg") !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  opacity:1 !important;
}

/* Sehr weicher Übergang nur innerhalb des Bildrandes */
.main#start > .section:first-child .hero-card::after{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  top:0 !important;
  bottom:0 !important;
  left:43% !important;
  right:auto !important;
  width:70px !important;
  height:auto !important;
  border-radius:0 !important;
  background:linear-gradient(90deg,#f7fbfe 0%,rgba(247,251,254,.78) 26%,rgba(247,251,254,0) 100%) !important;
  opacity:1 !important;
  pointer-events:none;
}

/* Text steht ausschließlich in Spalte 1 */
.main#start > .section:first-child .hero-card h1{
  grid-column:1;
  grid-row:2;
  align-self:end;
  position:relative;
  z-index:2;
  width:auto !important;
  max-width:none !important;
  margin:0;
  padding:0 52px 16px max(6vw,42px);
  color:#102f4f;
  font-size:clamp(46px,4.15vw,70px);
  line-height:1.02;
  letter-spacing:-.04em;
}

.main#start > .section:first-child .hero-card p{
  grid-column:1;
  grid-row:3;
  align-self:start;
  position:relative;
  z-index:2;
  width:auto !important;
  max-width:none !important;
  margin:0;
  padding:0 58px 0 max(6vw,42px);
  color:#405e78;
  font-size:18px;
  line-height:1.62;
}

.main#start > .section:first-child .hero-card p strong{
  display:inline-block;
  margin:0 0 8px;
  color:#0786d1;
  font-size:24px;
  line-height:1.25;
  background:linear-gradient(90deg,#0786d1 0%,#11a7b8 44%,#6abb45 82%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Größere Monitore */
@media (min-width:1600px){
  .main#start > .section:first-child .hero-card{
    min-height:560px;
  }
  .main#start > .section:first-child .hero-card h1{
    padding-left:max(8vw,70px);
    padding-right:70px;
  }
  .main#start > .section:first-child .hero-card p{
    padding-left:max(8vw,70px);
    padding-right:78px;
  }
}

/* Tablet: Verhältnis etwas textfreundlicher */
@media (max-width:1100px){
  .main#start > .section:first-child .hero-card{
    grid-template-columns:48% 52%;
    min-height:520px;
  }
  .main#start > .section:first-child .hero-card::before{
    left:48% !important;
    width:52% !important;
  }
  .main#start > .section:first-child .hero-card::after{
    left:48% !important;
  }
  .main#start > .section:first-child .hero-card h1{
    padding-left:5vw;
    padding-right:34px;
    font-size:clamp(42px,5.5vw,58px);
  }
  .main#start > .section:first-child .hero-card p{
    padding-left:5vw;
    padding-right:38px;
    font-size:17px;
  }
}

/* Mobil: Text oben, Foto darunter */
@media (max-width:760px){
  .main#start > .section:first-child .hero-card{
    display:grid !important;
    grid-template-columns:1fr;
    grid-template-rows:auto auto 300px;
    min-height:0;
    background:#f7fbfe !important;
  }
  .main#start > .section:first-child .hero-card::before{
    position:absolute !important;
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:300px !important;
    background-position:center center !important;
  }
  .main#start > .section:first-child .hero-card::after{
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:250px !important;
    width:100% !important;
    height:52px !important;
    background:linear-gradient(180deg,#f7fbfe 0%,rgba(247,251,254,0) 100%) !important;
  }
  .main#start > .section:first-child .hero-card h1{
    grid-column:1;
    grid-row:1;
    padding:48px 24px 14px;
    font-size:40px;
  }
  .main#start > .section:first-child .hero-card p{
    grid-column:1;
    grid-row:2;
    padding:0 24px 46px;
    font-size:16.5px;
  }
}


/* =========================================================
   v1.7.3 – Mobile Navigation
   ========================================================= */
.mobile-menu-toggle{
  display:none;
  width:46px;
  height:46px;
  padding:10px;
  border:1px solid #d7e5ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 15px rgba(20,55,85,.08);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.mobile-menu-toggle span{
  display:block;
  width:23px;
  height:2px;
  border-radius:3px;
  background:#173a59;
  transition:transform .2s ease,opacity .2s ease;
}

@media (max-width:980px){
  .site-header .container.header-inner{
    grid-template-columns:auto 1fr auto auto;
  }
  .mobile-menu-toggle{
    display:flex;
    grid-column:3;
    justify-self:end;
  }
  .site-header .header-cta{
    grid-column:4;
  }
  .site-header nav{
    display:none !important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    padding:10px 18px 20px;
    background:#fff;
    border-top:1px solid #e2edf4;
    border-bottom:1px solid #d9e7f0;
    box-shadow:0 18px 34px rgba(20,55,85,.13);
  }
  body.mobile-menu-open .site-header nav{
    display:block !important;
  }
  .site-header nav ul{
    width:min(100%,720px);
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  .site-header nav li{width:100%}
  .site-header nav a{
    display:block;
    width:100%;
    padding:13px 14px;
    border-radius:10px;
    font-size:15px;
  }
  .site-header nav a.nav-active::after,
  .site-header nav a[aria-current="page"]::after{
    left:14px;
    right:auto;
    width:42px;
    bottom:5px;
  }
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2){
    opacity:0;
  }
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}

@media (max-width:720px){
  .site-header .container.header-inner{
    grid-template-columns:1fr auto auto;
    gap:8px;
  }
  .site-header .brand{grid-column:1}
  .mobile-menu-toggle{grid-column:2}
  .site-header .header-cta{
    grid-column:3;
    padding:0 13px;
  }
}
@media (max-width:480px){
  .site-header .brand img{
    max-width:185px;
    max-height:50px;
  }
  .header-cta{
    font-size:0;
    width:44px;
    min-width:44px;
    padding:0;
  }
  .header-cta span{
    font-size:20px;
  }
}


/* =========================================================
   v1.7.7 – Mitglied werden: Formular
   ========================================================= */
#partnerForm{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 28px;
  padding:36px clamp(24px,4vw,54px) 42px;
  margin:0;
}
#partnerForm > *{min-width:0}
#partnerForm label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#183b5b;
  font-weight:700;
  line-height:1.35;
}
#partnerForm input[type="text"],
#partnerForm input[type="email"],
#partnerForm input[type="tel"],
#partnerForm input[type="url"],
#partnerForm select,
#partnerForm textarea{
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #cbdde9;
  border-radius:12px;
  background:#fff;
  color:#173752;
  font:inherit;
  font-weight:400;
  outline:none;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
#partnerForm textarea{min-height:132px;resize:vertical}
#partnerForm input:focus,
#partnerForm select:focus,
#partnerForm textarea:focus{
  border-color:#0786d1;
  box-shadow:0 0 0 4px rgba(7,134,209,.11);
}
#partnerForm .pf-invalid{border-color:#b42318 !important;box-shadow:0 0 0 3px rgba(180,35,24,.08)}
#partnerForm fieldset{
  grid-column:1/-1;
  border:0;
  padding:4px 0 0;
  margin:0;
}
#partnerForm legend{
  margin-bottom:12px;
  color:#173752;
  font-size:17px;
  font-weight:800;
}
#partnerForm fieldset label,
#partnerForm label:has(input[type="checkbox"]){
  display:inline-flex;
  flex-direction:row;
  align-items:flex-start;
  gap:9px;
  margin:0 22px 10px 0;
  font-weight:500;
}
#partnerForm input[type="checkbox"]{
  width:19px;
  height:19px;
  margin:1px 0 0;
  accent-color:#0786d1;
  flex:0 0 auto;
}
#partnerForm button,
#partnerForm input[type="submit"],
#partnerForm input[type="reset"]{
  min-height:48px;
  border:0;
  border-radius:999px;
  padding:0 22px;
  background:linear-gradient(100deg,#0786d1,#0a9bb8);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(7,134,209,.17);
}
#partnerForm input[type="reset"],
#partnerForm button[type="reset"]{
  background:#edf4f8;
  color:#24465f;
  box-shadow:none;
}
#partnerForm .pf-status{
  grid-column:1/-1;
  padding:15px 18px;
  border-radius:12px;
  font-weight:600;
}
#partnerForm .pf-status ul{margin:8px 0 0 20px}
#partnerForm .pf-success{background:#eaf8ee;border:1px solid #a8dfb5;color:#176b31}
#partnerForm .pf-error{background:#fff0ef;border:1px solid #efb2ad;color:#8d2118}
#partnerForm .pf-honeypot{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
@media(max-width:760px){
  #partnerForm{
    grid-template-columns:1fr;
    padding:25px 20px 32px;
    gap:17px;
  }
  #partnerForm fieldset{grid-column:1}
  #partnerForm fieldset label,
  #partnerForm label:has(input[type="checkbox"]){
    display:flex;
    margin:0 0 11px;
  }
}


/* =========================================================
   v1.7.8 – Mitglied werden: hochwertiges Formular-Redesign
   ========================================================= */
#partnerForm{
  position:relative;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:22px 24px;
  padding:42px clamp(28px,4vw,58px) 48px;
  background:
    radial-gradient(circle at 100% 0%,rgba(105,187,69,.06),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
#partnerForm::before{
  content:"MITGLIEDSANFRAGE";
  grid-column:1/-1;
  color:#0786d1;
  font-size:12px;
  font-weight:900;
  letter-spacing:.17em;
  margin-bottom:-6px;
}
#partnerForm .pf-field{
  grid-column:span 6;
  padding:0;
  margin:0;
  font-size:15px;
}
#partnerForm .pf-field-org,
#partnerForm .pf-field-traeger,
#partnerForm .pf-field-tel,
#partnerForm .pf-field-web{grid-column:1/span 6}
#partnerForm .pf-field-name,
#partnerForm .pf-field-email,
#partnerForm .pf-field-bundesland{grid-column:7/span 6}
#partnerForm .pf-field-desc{grid-column:7/span 6}
#partnerForm .pf-field-hinweis{grid-column:1/span 6}

#partnerForm .pf-field input,
#partnerForm .pf-field select,
#partnerForm .pf-field textarea{
  margin-top:2px;
  background:#fafdff;
  border:1px solid #cbdde9;
}
#partnerForm .pf-field input:hover,
#partnerForm .pf-field select:hover,
#partnerForm .pf-field textarea:hover{border-color:#a9c9dc}
#partnerForm .pf-required{position:relative}
#partnerForm .pf-required::after{
  content:"Pflichtfeld";
  align-self:flex-start;
  margin-top:-30px;
  margin-right:10px;
  margin-left:auto;
  padding:3px 8px;
  border-radius:999px;
  background:#edf7fc;
  color:#39708f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  pointer-events:none;
}

/* Auswahlbereiche als echte, ruhige Chips/Karten */
#partnerForm .pf-choice-group{
  grid-column:1/-1;
  margin:6px 0 0;
  padding:22px 24px 12px;
  border:1px solid #dce9f2;
  border-radius:17px;
  background:#f8fbfd;
}
#partnerForm .pf-choice-group legend{
  float:left;
  width:100%;
  margin:0 0 15px;
  color:#153957;
  font-size:16px;
}
#partnerForm .pf-choice-group legend + *{clear:left}
#partnerForm .pf-choice-group label{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin:0 8px 10px 0;
  padding:9px 14px 9px 11px;
  border:1px solid #d5e4ee;
  border-radius:12px;
  background:#fff;
  color:#294a65;
  font-weight:600;
  cursor:pointer;
  transition:.16s ease;
}
#partnerForm .pf-choice-group label:hover{
  border-color:#8ec5df;
  background:#f5fbff;
  transform:translateY(-1px);
}
#partnerForm .pf-choice-group label:has(input:checked){
  border-color:#58b6d1;
  background:#edf9fb;
  color:#0d617c;
  box-shadow:0 0 0 2px rgba(13,159,184,.08);
}
#partnerForm .pf-choice-group input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0 8px 0 0;
}

/* Freitextfelder etwas großzügiger */
#partnerForm .pf-field-desc textarea,
#partnerForm .pf-field-hinweis textarea{
  min-height:150px;
}

/* Datenschutz/Newsletter als Abschlussblock */
#partnerForm .pf-consent,
#partnerForm .pf-newsletter{
  grid-column:1/-1;
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:11px !important;
  margin:0 !important;
  padding:16px 18px;
  border:1px solid #dce8f1;
  border-radius:13px;
  background:#fff;
  color:#294a65;
  font-weight:500 !important;
}
#partnerForm .pf-consent{margin-top:5px !important}
#partnerForm .pf-consent a{font-weight:700}
#partnerForm .pf-newsletter{background:#f8fbfd}

/* Buttons nebeneinander und als klarer Abschluss */
#partnerForm button,
#partnerForm input[type="submit"],
#partnerForm input[type="reset"]{
  grid-column:auto;
  width:auto;
  justify-self:start;
  min-width:160px;
  min-height:50px;
  margin-top:4px;
}
#partnerForm button[type="submit"],
#partnerForm input[type="submit"]{
  background:linear-gradient(100deg,#087fca,#0aa5b5);
  box-shadow:0 10px 25px rgba(7,134,209,.20);
}
#partnerForm button[type="submit"]:hover,
#partnerForm input[type="submit"]:hover{transform:translateY(-1px)}
#partnerForm button[type="reset"],
#partnerForm input[type="reset"]{
  min-width:135px;
  border:1px solid #d8e5ed;
  background:#f2f7fa;
  color:#526b7f;
}
#partnerForm .pf-status{grid-column:1/-1}

/* Hinweis oberhalb des Formulars */
.pf-intro-note{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:10px;
  background:#edf8fb;
  color:#315f78;
  font-size:14px;
}
.pf-intro-note::before{
  content:"✓";
  display:grid;
  place-items:center;
  flex:0 0 21px;
  width:21px;
  height:21px;
  margin-right:9px;
  border-radius:50%;
  background:#67b948;
  color:#fff;
  font-weight:900;
}

/* Altbestand: einzelne Sternchen-Zeilen möglichst nicht dominant anzeigen */
#partnerForm label > br + *{}

/* Mobile */
@media(max-width:760px){
  #partnerForm{
    grid-template-columns:1fr;
    padding:28px 20px 34px;
    gap:17px;
  }
  #partnerForm::before,
  #partnerForm .pf-field,
  #partnerForm .pf-field-org,
  #partnerForm .pf-field-traeger,
  #partnerForm .pf-field-tel,
  #partnerForm .pf-field-web,
  #partnerForm .pf-field-name,
  #partnerForm .pf-field-email,
  #partnerForm .pf-field-bundesland,
  #partnerForm .pf-field-desc,
  #partnerForm .pf-field-hinweis,
  #partnerForm .pf-choice-group,
  #partnerForm .pf-consent,
  #partnerForm .pf-newsletter{
    grid-column:1;
  }
  #partnerForm .pf-required::after{display:none}
  #partnerForm .pf-choice-group{padding:18px 15px 9px}
  #partnerForm .pf-choice-group label{
    display:flex;
    width:100%;
    margin-right:0;
  }
  #partnerForm button,
  #partnerForm input[type="submit"],
  #partnerForm input[type="reset"]{
    width:100%;
    justify-self:stretch;
  }
}


/* =========================================================
   v1.7.9 – Formular Layout Fix
   Überschreibt die fehlerhafte 12-Spalten-Autoplatzierung aus v1.7.8
   ========================================================= */
#partnerForm{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  grid-auto-flow:row !important;
  gap:22px 28px !important;
  align-items:start !important;
}
#partnerForm::before{grid-column:1/-1 !important}

/* Jedes normale Formularfeld bekommt zuverlässig eine halbe Zeile. */
#partnerForm > label,
#partnerForm .pf-field{
  grid-column:auto !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Gruppen, Status und Einwilligungen immer über volle Breite. */
#partnerForm > fieldset,
#partnerForm .pf-choice-group,
#partnerForm .pf-status,
#partnerForm .pf-consent,
#partnerForm .pf-newsletter{
  grid-column:1/-1 !important;
  width:100% !important;
  box-sizing:border-box !important;
}

/* Eingaben dürfen nie auf Mini-Breiten zusammengedrückt werden. */
#partnerForm input[type="text"],
#partnerForm input[type="email"],
#partnerForm input[type="tel"],
#partnerForm input[type="url"],
#partnerForm select,
#partnerForm textarea{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

/* Pflichtfeld-Badge aus v1.7.8 entfernen; Stern direkt im Label reicht. */
#partnerForm .pf-required::after{display:none !important}

/* Auswahlgruppen in einem sauberen flex-wrap Raster. */
#partnerForm .pf-choice-group{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  padding:22px 24px !important;
}
#partnerForm .pf-choice-group legend{
  display:block !important;
  flex:0 0 100% !important;
  float:none !important;
  width:100% !important;
  margin:0 0 4px !important;
}
#partnerForm .pf-choice-group label{
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  flex:0 0 auto !important;
}

/* Datenschutz / Newsletter */
#partnerForm .pf-consent,
#partnerForm .pf-newsletter{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:11px !important;
}

/* Buttons in einer ruhigen Abschlusszeile. */
#partnerForm button,
#partnerForm input[type="submit"],
#partnerForm input[type="reset"]{
  width:auto !important;
  min-width:150px !important;
  justify-self:start !important;
}

/* Den veralteten Hinweis notfalls bereits per CSS ausblenden,
   falls er aus dem CMS-Inhalt kommt und JS noch nicht gelaufen ist. */
.page-hero p:has(+ *) {}

@media(max-width:760px){
  #partnerForm{
    grid-template-columns:1fr !important;
    gap:17px !important;
  }
  #partnerForm > label,
  #partnerForm .pf-field,
  #partnerForm > fieldset,
  #partnerForm .pf-choice-group,
  #partnerForm .pf-status,
  #partnerForm .pf-consent,
  #partnerForm .pf-newsletter{
    grid-column:1 !important;
  }
  #partnerForm .pf-choice-group{
    display:block !important;
    padding:18px 16px !important;
  }
  #partnerForm .pf-choice-group label{
    display:flex !important;
    width:100% !important;
    margin:0 0 9px !important;
    box-sizing:border-box !important;
  }
  #partnerForm button,
  #partnerForm input[type="submit"],
  #partnerForm input[type="reset"]{
    width:100% !important;
    justify-self:stretch !important;
  }
}


/* =========================================================
   v1.8.0 – Zielgruppen / Angebotsbereiche sauber ausrichten
   ========================================================= */

/* Die beiden Auswahlbereiche sollen sich wie normale Felder
   in die linke/rechte Formularspalte einfügen. */
#partnerForm .pf-targets,
#partnerForm .pf-services{
  grid-column:auto !important;
  align-self:stretch !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* Legende wie ein normales Feldlabel */
#partnerForm .pf-targets legend,
#partnerForm .pf-services legend{
  float:none !important;
  width:100% !important;
  margin:0 0 10px !important;
  padding:0 !important;
  color:#173752 !important;
  font-size:15px !important;
  font-weight:800 !important;
}

/* Checkboxen in einem klaren Raster statt unregelmäßigem Umbruch */
#partnerForm .pf-targets,
#partnerForm .pf-services{
  column-gap:0 !important;
}
#partnerForm .pf-targets label,
#partnerForm .pf-services label{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  vertical-align:top !important;
  width:calc(33.333% - 8px) !important;
  min-height:42px !important;
  margin:0 8px 8px 0 !important;
  padding:9px 11px !important;
  border:1px solid #d8e6ef !important;
  border-radius:10px !important;
  background:#fafdff !important;
  color:#294a65 !important;
  line-height:1.25 !important;
  font-weight:600 !important;
}
#partnerForm .pf-targets label:hover,
#partnerForm .pf-services label:hover{
  border-color:#8fc6df !important;
  background:#f3fbff !important;
}
#partnerForm .pf-targets label:has(input:checked),
#partnerForm .pf-services label:has(input:checked){
  border-color:#49b5c7 !important;
  background:#eaf8fa !important;
  color:#0d617c !important;
}
#partnerForm .pf-targets input[type="checkbox"],
#partnerForm .pf-services input[type="checkbox"]{
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  margin:0 9px 0 0 !important;
}

/* Zielgruppen sitzt rechts unter Bundesland; Angebotsbereiche links
   in derselben Formularzeile. */
#partnerForm .pf-services{grid-column:1 !important;}
#partnerForm .pf-targets{grid-column:2 !important;}

/* Die nachfolgenden Textbereiche wieder eindeutig zuordnen. */
#partnerForm .pf-field-hinweis{grid-column:1 !important;}
#partnerForm .pf-field-desc{grid-column:2 !important;}

/* Datenschutz optisch sauber – Link/klammern dürfen nicht auseinanderlaufen */
#partnerForm .pf-consent{
  grid-column:2 !important;
  min-height:78px !important;
}
#partnerForm .pf-newsletter{
  grid-column:1 !important;
  min-height:78px !important;
}

/* Tablet: 2 Checkboxen je Reihe */
@media(max-width:1050px) and (min-width:761px){
  #partnerForm .pf-targets label,
  #partnerForm .pf-services label{
    width:calc(50% - 8px) !important;
  }
}

/* Handy: alles untereinander */
@media(max-width:760px){
  #partnerForm .pf-targets,
  #partnerForm .pf-services,
  #partnerForm .pf-field-hinweis,
  #partnerForm .pf-field-desc,
  #partnerForm .pf-consent,
  #partnerForm .pf-newsletter{
    grid-column:1 !important;
  }
  #partnerForm .pf-targets label,
  #partnerForm .pf-services label{
    display:flex !important;
    width:100% !important;
    margin:0 0 8px !important;
  }
}


/* =========================================================
   v1.8.1 – Mitgliedsformular komplett neu aufgebaut
   ========================================================= */
.member-form{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:24px !important;
  padding:38px !important;
  background:linear-gradient(145deg,#fff 0%,#fbfdff 72%,#f7fbf5 100%) !important;
  border:1px solid #d7e6ef !important;
  border-radius:24px !important;
  box-shadow:0 16px 44px rgba(29,72,105,.06) !important;
}
.member-form::before{display:none !important}
.member-form .mf-kicker{
  grid-column:1/-1;
  color:#0786d1;
  font-size:12px;
  font-weight:900;
  letter-spacing:.17em;
}
.member-form .mf-section{
  min-width:0;
  padding:26px;
  border:1px solid #deebf2;
  border-radius:18px;
  background:rgba(255,255,255,.86);
}
.member-form .mf-section-areas,
.member-form .mf-section-message,
.member-form .mf-finish,
.member-form .pf-status{grid-column:1/-1}

.mf-section-head{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin-bottom:22px;
}
.mf-number{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  height:38px;
  border-radius:11px;
  background:#edf8fb;
  color:#0786d1;
  font-size:12px;
  font-weight:900;
}
.mf-section-head h2{
  margin:0 0 4px;
  color:#153957;
  font-size:20px;
  line-height:1.15;
}
.mf-section-head p{
  margin:0;
  color:#698092;
  font-size:13px;
}
.mf-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.mf-span-2{grid-column:1/-1}
.mf-field{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  min-width:0;
  color:#173752 !important;
  font-size:14px;
  font-weight:800 !important;
}
.mf-field > span b{color:#0786d1}
.mf-field > span em{
  color:#8093a1;
  font-size:11px;
  font-style:normal;
  font-weight:600;
}
.member-form .mf-field input,
.member-form .mf-field select,
.member-form .mf-field textarea{
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #cbdde9 !important;
  border-radius:11px !important;
  background:#fbfdff !important;
  color:#173752;
  font:inherit;
  font-weight:400;
  outline:none;
}
.member-form .mf-field textarea{min-height:145px;resize:vertical}
.member-form .mf-field input:focus,
.member-form .mf-field select:focus,
.member-form .mf-field textarea:focus{
  border-color:#0786d1 !important;
  box-shadow:0 0 0 4px rgba(7,134,209,.10) !important;
  background:#fff !important;
}

.mf-choice-columns{
  display:grid;
  grid-template-columns:1fr 1.45fr;
  gap:28px;
}
.member-form .mf-choice-group{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.member-form .mf-choice-group legend{
  float:none !important;
  width:100% !important;
  margin:0 0 11px !important;
  padding:0 !important;
  color:#173752;
  font-size:14px;
  font-weight:800;
}
.mf-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.mf-choice-grid-target{grid-template-columns:repeat(2,minmax(0,1fr))}
.member-form .mf-choice{
  position:relative;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  box-sizing:border-box;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:10px 12px !important;
  border:1px solid #d8e6ef !important;
  border-radius:11px !important;
  background:#fbfdff !important;
  color:#294a65 !important;
  font-size:13px;
  font-weight:650 !important;
  cursor:pointer;
}
.member-form .mf-choice:hover{border-color:#94c7df !important;background:#f5fbff !important}
.member-form .mf-choice:has(input:checked){
  border-color:#48b5c7 !important;
  background:#eaf8fa !important;
  color:#0c627a !important;
}
.member-form .mf-choice input{
  flex:0 0 18px;
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  accent-color:#0796b4;
}

.mf-finish{
  padding:24px 26px;
  border:1px solid #dce9f1;
  border-radius:18px;
  background:#f8fbfd;
}
.member-form .mf-checkline{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:11px !important;
  width:100% !important;
  margin:0 0 12px !important;
  padding:0 !important;
  color:#294a65;
  font-size:14px;
  font-weight:500 !important;
}
.member-form .mf-checkline input{
  flex:0 0 19px;
  width:19px !important;
  height:19px !important;
  margin:1px 0 0 !important;
  accent-color:#0796b4;
}
.member-form .mf-checkline a{color:#0786d1;font-weight:800}
.member-form .mf-checkline b{color:#0786d1}
.mf-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #dde8ef;
}
.member-form .mf-actions button{
  width:auto !important;
  min-width:0 !important;
  min-height:48px;
  margin:0 !important;
  padding:0 21px;
  border:0;
  border-radius:999px;
  background:linear-gradient(100deg,#087fca,#0aa5b5);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 9px 22px rgba(7,134,209,.18);
}
.member-form .mf-actions .mf-reset{
  border:1px solid #d7e4ec;
  background:#fff;
  color:#607789;
  box-shadow:none;
}
.mf-actions small{margin-left:auto;color:#7a8e9c}
.member-form .pf-invalid{border-color:#b42318 !important;box-shadow:0 0 0 3px rgba(180,35,24,.08) !important}
.member-form .pf-invalid-wrap{color:#8d2118 !important}
.member-form .pf-honeypot{
  position:absolute !important;left:-10000px !important;width:1px !important;height:1px !important;overflow:hidden !important;
}
.member-form .pf-status{
  padding:15px 18px;
  border-radius:12px;
  font-weight:600;
}
.member-form .pf-success{background:#eaf8ee;border:1px solid #a8dfb5;color:#176b31}
.member-form .pf-error{background:#fff0ef;border:1px solid #efb2ad;color:#8d2118}

@media(max-width:900px){
  .member-form{grid-template-columns:1fr !important;padding:24px !important}
  .member-form .mf-section-org,
  .member-form .mf-section-contact,
  .member-form .mf-section-areas,
  .member-form .mf-section-message,
  .member-form .mf-finish{grid-column:1 !important}
  .mf-choice-columns{grid-template-columns:1fr}
}
@media(max-width:620px){
  .member-form{padding:16px !important;gap:15px !important;border-radius:18px !important}
  .member-form .mf-section{padding:20px 16px}
  .mf-grid,.mf-choice-grid,.mf-choice-grid-target{grid-template-columns:1fr}
  .mf-span-2{grid-column:1}
  .mf-actions{flex-direction:column;align-items:stretch}
  .member-form .mf-actions button{width:100% !important}
  .mf-actions small{margin-left:0;text-align:center}
}


/* v1.8.2 – Zurücksetzen-Button deutlich sichtbar */
.member-form .mf-actions .mf-reset{
  background:#ffffff !important;
  color:#31536d !important;
  border:1px solid #b9cedc !important;
  box-shadow:none !important;
  opacity:1 !important;
  -webkit-text-fill-color:#31536d !important;
}
.member-form .mf-actions .mf-reset:hover{
  background:#eef6fa !important;
  color:#173752 !important;
  border-color:#8fb2c7 !important;
}
.member-form .mf-actions .mf-reset:focus-visible{
  outline:3px solid rgba(7,134,209,.22) !important;
  outline-offset:2px;
}

/* v1.9.0 dynamische Netzwerkmodule */
.dynamic-directory,.dynamic-events{padding:70px 0;background:#f7fafc}.directory-head{max-width:720px;margin-bottom:28px}.directory-head>span{color:#0789b8;font-size:12px;font-weight:900;letter-spacing:.16em}.directory-head h2{font-size:34px;color:#173752;margin:7px 0}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.partner-card{background:#fff;border:1px solid #dce8ef;border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(24,61,88,.06)}.partner-card h3{font-size:20px;color:#173752;margin:8px 0}.partner-card p{color:#536d80;line-height:1.55}.partner-state{font-size:11px;font-weight:900;color:#0789b8;text-transform:uppercase;letter-spacing:.1em}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.tag-row span{font-size:11px;background:#eef7fa;color:#31627b;border-radius:999px;padding:6px 9px}.directory-link{display:inline-block;margin-top:10px;color:#0789b8;font-weight:800;text-decoration:none}.event-list{display:grid;gap:16px}.event-card{display:grid;grid-template-columns:110px 1fr;background:#fff;border:1px solid #dce8ef;border-radius:18px;overflow:hidden}.event-date{background:#173752;color:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date strong{font-size:38px;line-height:1}.event-date span{font-weight:900;letter-spacing:.08em}.event-date small{opacity:.75;margin-top:4px}.event-body{padding:24px}.event-body h3{margin:0 0 7px;color:#173752;font-size:22px}.event-meta{font-weight:800;color:#0789b8}.event-body p{color:#536d80;line-height:1.55}@media(max-width:900px){.partner-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.partner-grid{grid-template-columns:1fr}.event-card{grid-template-columns:82px 1fr}.event-date{padding:14px}.event-date strong{font-size:30px}.dynamic-directory,.dynamic-events{padding:45px 0}}

/* v1.9.1 – Login im öffentlichen Hauptmenü */
.header-login{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:4px;
  padding:9px 11px;
  border-radius:10px;
  color:#466278;
  font-size:13px;
  font-weight:750;
  text-decoration:none;
  transition:background .18s ease,color .18s ease;
}
.header-login:hover{
  background:#eef7fa;
  color:#0789b8;
}
.header-login .login-icon{
  font-size:15px;
  line-height:1;
}
@media(max-width:900px){
  #main-navigation .header-login{display:none}
  .header-login{
    width:100%;
    box-sizing:border-box;
    justify-content:center;
    margin:8px 0 0;
    padding:12px 14px;
    border:1px solid #d9e7ef;
    background:#f7fbfd;
  }
}

/* v1.9.9 – Netzwerkpartner vollständig aus Backend */
#partner-grid .netz-card .org-logo{width:150px!important;height:82px!important;max-width:100%;object-fit:contain!important;object-position:left center;margin:10px 0 16px!important}
#partner-grid .netz-card .contacts{margin-top:auto!important;width:100%}
#partner-grid .netz-card .contacts>div{margin-top:5px}
#partner-grid .netz-card .contacts a{overflow-wrap:anywhere}
.empty-partners{grid-column:1/-1;padding:28px;background:#fff;border:1px solid var(--border);border-radius:16px;text-align:center}

/* v1.13.4 – Header sauber in einer Zeile */
@media (min-width:1181px){
  .site-header .container.header-inner{
    max-width:1540px;
    padding:12px 26px;
    display:grid;
    grid-template-columns:auto minmax(300px,.72fr) minmax(570px,1fr) auto auto;
    align-items:center;
    column-gap:18px;
  }
  .site-header .brand img{max-height:74px}
  .header-tagline{padding-left:22px;min-width:0}
  .header-tagline span{font-size:20px}
  .header-tagline small{font-size:12px;margin-left:40px}
  .site-header nav{justify-self:end}
  .site-header nav ul{gap:1px}
  .site-header nav a{padding:11px 9px;font-size:13px}
  .header-login{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#38556e!important;font-size:13px;font-weight:700;text-decoration:none!important;padding:10px 5px}
  .header-login:hover{color:#087fc4!important}
  .header-cta{justify-self:end;padding:11px 18px;font-size:14px}
}
@media (min-width:1181px) and (max-width:1360px){
  .site-header .container.header-inner{grid-template-columns:auto minmax(230px,.55fr) minmax(520px,1fr) auto auto;column-gap:12px;padding-left:18px;padding-right:18px}
  .site-header .brand img{max-height:66px}
  .header-tagline{padding-left:16px}
  .header-tagline span{font-size:17px}
  .header-tagline small{font-size:10px;margin-left:28px}
  .site-header nav a{font-size:12px;padding-left:7px;padding-right:7px}
  .header-cta{padding:10px 14px;font-size:13px}
}

/* =========================================================
   v1.13.8 – Header skalierungsfest
   Bei schmalem Viewport / Browser-Zoom rechtzeitig auf Menü umschalten.
   ========================================================= */
@media (max-width:1180px){
  .site-header .container.header-inner{
    position:relative;
    width:100%;
    max-width:none;
    min-height:76px;
    padding:8px 18px;
    display:grid;
    grid-template-columns:auto 1fr auto auto auto;
    align-items:center;
    gap:10px;
  }
  .site-header .brand{grid-column:1;min-width:0}
  .site-header .brand img{max-height:60px;max-width:220px;width:auto}
  .header-tagline{display:none}
  .header-login{
    grid-column:3;
    width:auto;
    margin:0;
    padding:9px 10px;
    border:0;
    background:transparent;
    white-space:nowrap;
    justify-content:center;
  }
  .mobile-menu-toggle{
    display:flex;
    grid-column:4;
    justify-self:end;
  }
  .site-header .header-cta{
    grid-column:5;
    justify-self:end;
    min-height:44px;
    padding:0 16px;
    font-size:13px;
  }
  .site-header nav{
    display:none !important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    padding:10px 18px 20px;
    background:#fff;
    border-top:1px solid #e2edf4;
    border-bottom:1px solid #d9e7f0;
    box-shadow:0 18px 34px rgba(20,55,85,.13);
    z-index:1001;
  }
  body.mobile-menu-open .site-header nav{display:block !important}
  .site-header nav ul{
    width:min(100%,720px);
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  .site-header nav li{width:100%}
  .site-header nav a{display:block;width:100%;padding:13px 14px;font-size:15px}
}
@media (max-width:640px){
  .site-header .container.header-inner{
    grid-template-columns:1fr auto auto;
    padding:7px 12px;
    gap:7px;
  }
  .site-header .brand{grid-column:1}
  .site-header .brand img{max-height:52px;max-width:180px}
  .header-login{display:none}
  .mobile-menu-toggle{grid-column:2;width:42px;height:42px}
  .site-header .header-cta{grid-column:3;min-height:42px;padding:0 13px}
}
@media (max-width:420px){
  .site-header .brand img{max-width:155px;max-height:48px}
  .site-header .header-cta{width:42px;min-width:42px;padding:0;font-size:0}
  .site-header .header-cta span{font-size:16px}
}

/* v1.14.2 Kontakt */
.contact-main{background:linear-gradient(180deg,#f7fbfd 0,#fff 100%)}.contact-page{max-width:900px;margin:0 auto;padding:70px 24px 90px}.contact-intro{text-align:center;max-width:700px;margin:0 auto 34px}.contact-kicker{color:#078dab;font-size:12px;font-weight:800;letter-spacing:.14em}.contact-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:10px 0 16px;color:#0d3150}.contact-intro p{font-size:17px;line-height:1.7;color:#506d84}.contact-form-card{background:#fff;border:1px solid #d7e5ec;border-radius:22px;padding:34px;box-shadow:0 18px 48px rgba(25,65,86,.08)}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form-grid label{font-weight:700;color:#173d59;font-size:14px}.contact-form-grid .span-2{grid-column:1/-1}.contact-form-grid input,.contact-form-grid textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #cbdce5;border-radius:10px;background:#fbfdfe;padding:13px 14px;font:inherit;color:#173d59;outline:none}.contact-form-grid input:focus,.contact-form-grid textarea:focus{border-color:#0b94bd;box-shadow:0 0 0 3px rgba(11,148,189,.1);background:#fff}.contact-form-grid textarea{resize:vertical;min-height:160px}.privacy-check{display:flex;gap:10px;align-items:flex-start;margin:22px 0;color:#526d7e;font-size:13px;line-height:1.5}.privacy-check input{margin-top:3px}.privacy-check a{color:#087e9d}.contact-submit{border:0;border-radius:999px;padding:13px 22px;background:linear-gradient(100deg,#55bd62,#0396ce);color:#fff;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 10px 24px rgba(7,145,175,.18)}.contact-submit span{margin-left:8px}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-status{max-width:850px;margin:24px auto 0;padding:13px 18px;border-radius:10px;text-align:center;font-weight:700}.contact-status.ok{background:#eaf8ed;color:#24723a}.contact-status.err{background:#fff0f0;color:#9a3131}@media(max-width:680px){.contact-page{padding:48px 18px 64px}.contact-form-card{padding:22px}.contact-form-grid{grid-template-columns:1fr}.contact-form-grid .span-2{grid-column:auto}}

/* v1.14.3 Nachrichtenbox */
.spam-check{max-width:320px}
.admin-messages{max-width:1180px;margin:0 auto;padding:28px 22px 60px}
.admin-page-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}
.admin-page-title h1{margin:0;color:#123653}.admin-page-title p{margin:5px 0 0;color:#678093}
.message-count{background:#edf7fa;border-radius:999px;padding:9px 14px;font-weight:700;color:#137a96}
.message-filters{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.message-filters a{padding:8px 13px;border:1px solid #d6e4ea;border-radius:999px;text-decoration:none;color:#38596e;background:#fff}
.message-filters a.active{background:#123d59;color:#fff;border-color:#123d59}
.message-list,.message-detail{background:#fff;border:1px solid #dbe7ec;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(24,65,87,.06)}
.message-detail{padding:24px;margin-bottom:20px}
.message-detail h2{margin:8px 0 5px;color:#123653}.message-detail p{margin:0;color:#668093}
.message-body{margin:24px 0;padding:20px;background:#f7fafb;border-radius:12px;line-height:1.65;color:#24495f}
.msg-badge{display:inline-block;font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px;background:#edf3f5;color:#577080}
.msg-badge.new{background:#e7f7ed;color:#23733d}.msg-badge.archived{background:#f0f0f0;color:#666}
.message-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.message-actions form{display:flex;gap:8px;flex-wrap:wrap}.message-actions button,.message-actions .button{border:1px solid #cadbe3;background:#fff;border-radius:8px;padding:9px 12px;color:#24495f;text-decoration:none;cursor:pointer}
.message-actions .button{background:#0a91bb;color:#fff;border-color:#0a91bb}.message-actions .danger{color:#a42e2e}
.message-row{display:grid;grid-template-columns:18px minmax(180px,1fr) minmax(280px,2fr) 80px;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf2f4;text-decoration:none;color:#294c61}
.message-row:last-child{border-bottom:0}.message-row:hover{background:#f8fbfc}.message-row.is-new{background:#f4fbfd}
.message-dot{width:8px;height:8px;border-radius:50%;background:#c8d5db}.is-new .message-dot{background:#42b85b}
.message-person,.message-subject,time{display:flex;flex-direction:column;gap:3px}.message-row small{color:#7a909e;font-weight:400}.is-new strong{color:#123653}
.message-row time{text-align:right;color:#526f81;font-size:13px}.empty-state{padding:40px;text-align:center;color:#78909d}
@media(max-width:760px){.message-row{grid-template-columns:14px 1fr 65px}.message-subject{grid-column:2/4}.admin-page-title{align-items:flex-start;flex-direction:column}}

/* v1.15.6 – Footer kompakter und klarer */
.site-footer{
  margin-top:56px;
  border-top:1px solid #dbe8ee;
  background:linear-gradient(100deg,#fff 0%,#f8fcfd 58%,#eef9fc 100%);
}
.site-footer .footer-inner,
.site-footer .footer-wrap,
.site-footer .container{
  max-width:1120px;
  margin:0 auto;
}
.site-footer .footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:28px 0 22px;
}
.site-footer .footer-brand{
  display:flex;
  align-items:center;
  gap:18px;
}
.site-footer .footer-brand img{
  width:112px;
  height:auto;
}
.site-footer .footer-brand strong{
  font-size:16px;
  color:#123653;
}
.site-footer .footer-brand small{
  display:block;
  margin-top:4px;
  color:#078eaf;
  font-weight:700;
}
.site-footer .footer-bottom{
  border-top:1px solid #dbe8ee;
  padding:17px 0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-footer nav,
.site-footer .footer-links{
  display:flex;
  align-items:center;
  gap:22px;
}
.site-footer a{
  text-decoration:none;
}
.site-footer a:hover{
  text-decoration:underline;
}
@media(max-width:760px){
  .site-footer{margin-top:38px}
  .site-footer .footer-top,
  .site-footer .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .site-footer .footer-brand{align-items:flex-start}
  .site-footer nav,.site-footer .footer-links{gap:18px;flex-wrap:wrap}
}


/* v1.15.7 – Über uns: Werte, Vision, Arbeitsweise und Auftrag */
body.page-ueber-uns .about-values,
body.page-ueber-uns .values-row,
body.page-ueber-uns .principles-row{
  gap:14px;
  margin-top:26px;
}

body.page-ueber-uns .about-values > *,
body.page-ueber-uns .values-row > *,
body.page-ueber-uns .principles-row > *{
  min-height:58px;
  padding:17px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid #d7e6ed;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(22,61,84,.045);
  line-height:1.35;
}

body.page-ueber-uns .about-grid,
body.page-ueber-uns .vision-grid{
  gap:18px;
  margin-top:20px;
}

body.page-ueber-uns .about-grid > *,
body.page-ueber-uns .vision-grid > *{
  padding:28px 30px;
  background:#fff;
  border:1px solid #d7e6ed;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(22,61,84,.05);
}

body.page-ueber-uns .about-grid h2,
body.page-ueber-uns .vision-grid h2{
  margin-top:0;
  margin-bottom:16px;
}

body.page-ueber-uns .about-grid p,
body.page-ueber-uns .vision-grid p,
body.page-ueber-uns .about-grid li,
body.page-ueber-uns .vision-grid li{
  line-height:1.6;
}

body.page-ueber-uns .mission,
body.page-ueber-uns .mission-card,
body.page-ueber-uns .auftrag,
body.page-ueber-uns .auftrag-card{
  margin-top:20px;
  padding:30px 32px;
  color:#123653 !important;
  background:linear-gradient(110deg,#f7fcfd 0%,#f3fbfc 58%,#eef9f5 100%) !important;
  border:1px solid #d4e8ec;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(22,61,84,.06);
}

body.page-ueber-uns .mission h2,
body.page-ueber-uns .mission-card h2,
body.page-ueber-uns .auftrag h2,
body.page-ueber-uns .auftrag-card h2{
  color:#123653 !important;
  margin:0 0 13px;
}

body.page-ueber-uns .mission strong,
body.page-ueber-uns .mission-card strong,
body.page-ueber-uns .auftrag strong,
body.page-ueber-uns .auftrag-card strong{
  display:block;
  margin-bottom:13px;
  color:#078eaf !important;
  font-size:1.08rem;
}

body.page-ueber-uns .mission p,
body.page-ueber-uns .mission-card p,
body.page-ueber-uns .auftrag p,
body.page-ueber-uns .auftrag-card p{
  color:#31556d !important;
  line-height:1.65;
}

@media(max-width:760px){
  body.page-ueber-uns .about-values,
  body.page-ueber-uns .values-row,
  body.page-ueber-uns .principles-row{
    grid-template-columns:1fr !important;
  }
  body.page-ueber-uns .about-grid,
  body.page-ueber-uns .vision-grid{
    grid-template-columns:1fr !important;
  }
  body.page-ueber-uns .mission,
  body.page-ueber-uns .mission-card,
  body.page-ueber-uns .auftrag,
  body.page-ueber-uns .auftrag-card{
    padding:24px 22px;
  }
}


/* v1.15.8 – tatsächliche Klassen der Über-uns-Seite */
.about-redesign-v158{
  margin-top:30px;
}
.about-redesign-v158 .about-pill-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 20px;
}
.about-redesign-v158 .pill{
  min-height:62px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#f8fcfd;
  border:1px solid #d7e8ee;
  border-radius:15px;
  box-shadow:none;
  color:#123653;
  font-weight:700;
}
.about-redesign-v158 .about-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:0;
}
.about-redesign-v158 .about-card{
  padding:28px 30px;
  background:#fff;
  border:1px solid #d7e8ee;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(22,61,84,.045);
  color:#123653;
}
.about-redesign-v158 .about-card h2,
.about-redesign-v158 .about-card h3{
  margin:0 0 16px;
  color:#123653;
}
.about-redesign-v158 .about-card p,
.about-redesign-v158 .about-card li{
  line-height:1.62;
}
.about-redesign-v158 .about-card.mission{
  grid-column:1 / -1;
  margin-top:0;
  padding:28px 30px;
  background:linear-gradient(105deg,#f5fbfd 0%,#f4fbfa 55%,#f1faf5 100%);
  border:1px solid #cfe5e9;
  color:#123653;
  box-shadow:0 10px 28px rgba(22,61,84,.05);
}
.about-redesign-v158 .about-card.mission h2,
.about-redesign-v158 .about-card.mission h3{
  color:#123653;
}
.about-redesign-v158 .about-card.mission .mission-text,
.about-redesign-v158 .about-card.mission strong{
  color:#078eaf;
  font-weight:800;
}
.about-redesign-v158 .about-card.mission p{
  color:#31556d;
}
@media(max-width:900px){
  .about-redesign-v158 .about-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .about-redesign-v158 .about-pill-grid,
  .about-redesign-v158 .about-cards{grid-template-columns:1fr}
  .about-redesign-v158 .about-card{padding:23px 21px}
}


/* v1.15.9 – DIREKTER Override der tatsächlich gerenderten Über-uns-Klassen */
.about-pill-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:26px 0 20px !important;
}
.about-pill-grid .pill{
  min-height:58px !important;
  padding:16px 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border:1px solid #d7e6ed !important;
  border-radius:16px !important;
  background:#f8fcfd !important;
  box-shadow:none !important;
  color:#123653 !important;
  font-weight:700 !important;
}
.about-cards{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 !important;
}
.about-cards .about-card{
  padding:28px 30px !important;
  background:#ffffff !important;
  color:#123653 !important;
  border:1px solid #d7e6ed !important;
  border-radius:18px !important;
  box-shadow:0 10px 28px rgba(22,61,84,.045) !important;
  font-size:1rem !important;
}
.about-cards .about-card h3{
  margin:0 0 16px !important;
  color:#123653 !important;
}
.about-cards .about-card p,
.about-cards .about-card li{
  color:#123653 !important;
  line-height:1.62 !important;
}
.about-cards .about-card.mission{
  grid-column:1 / -1 !important;
  margin:0 !important;
  padding:28px 30px !important;
  background:linear-gradient(105deg,#f5fbfd 0%,#f3fbfa 58%,#eef9f4 100%) !important;
  color:#123653 !important;
  border:1px solid #cfe5e9 !important;
  border-radius:18px !important;
  box-shadow:0 10px 28px rgba(22,61,84,.05) !important;
}
.about-cards .about-card.mission h3{
  color:#123653 !important;
}
.about-cards .about-card.mission .mission-text{
  margin:4px 0 12px !important;
  color:#078eaf !important;
  font-size:1.08rem !important;
  font-weight:800 !important;
}
.about-cards .about-card.mission p{
  color:#31556d !important;
}
@media(max-width:900px){
  .about-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:680px){
  .about-pill-grid,.about-cards{grid-template-columns:1fr !important}
  .about-cards .about-card{padding:23px 21px !important}
}


/* v1.16.0 – Leitmotiv im Auftrag lesbar */
.about-cards .about-card.mission .mission-text,
.about-card.mission .mission-text,
.mission .mission-text{
  color:#078eaf !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.auftrag-leitmotiv{color:#078eaf!important;opacity:1!important;text-shadow:none!important;}
