/* ============================================================
   VORST AKTIV e.V. – Design System
   Statische Website | 2025
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap');

/* ---------- Custom Properties ---------- */
:root {
  --clr-gold: #4a9e3f;
  --clr-gold-dim: #3d8534;
  --clr-red: #c5282f;
  --clr-red-dark: #a31f25;
  --clr-dark: #1b2618;
  --clr-dark-2: #263322;
  --clr-gray-900: #333333;
  --clr-gray-700: #555555;
  --clr-gray-500: #888888;
  --clr-gray-300: #c4cfc2;
  --clr-gray-100: #f0f4ee;
  --clr-bg: #f8faf6;
  --clr-white: #ffffff;

  --ff-display: 'DM Sans', sans-serif;
  --ff-body: 'Source Serif 4', Georgia, serif;

  --fs-hero: clamp(2.4rem, 5vw, 3.8rem);
  --fs-h1: clamp(1.8rem, 3.5vw, 2.5rem);
  --fs-h2: clamp(1.4rem, 2.5vw, 1.75rem);
  --fs-h3: 1.15rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-xs: 0.75rem;

  --shadow-card: 0 2px 12px rgba(0,0,0,.07);
  --shadow-card-hover: 0 8px 28px rgba(0,0,0,.1);
  --radius: 10px;
  --radius-sm: 6px;
  --transition: .25s ease;
}

/* ---------- Skip Link (Accessibility) ---------- */
.skip-link{
  position:absolute;top:-100%;left:50%;transform:translateX(-50%);
  background:var(--clr-gold);color:var(--clr-white);
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-small);
  padding:.6rem 1.2rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);
  z-index:9999;transition:top .2s ease;
  text-decoration:none;
}
.skip-link:focus{top:0}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--ff-body);
  font-size:var(--fs-body);
  line-height:1.7;
  color:var(--clr-gray-900);
  background:var(--clr-bg);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit;border:none;background:none}
button{cursor:pointer}
h1,h2,h3,h4{font-family:var(--ff-display);line-height:1.25;font-weight:700}

/* ---------- Utilities ---------- */
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.container--narrow{max-width:900px;margin:0 auto;padding:0 1.25rem}
.container--text{max-width:680px;margin:0 auto;padding:0 1.25rem}
.section{padding:4.5rem 1.25rem}
.section--alt{background:var(--clr-gray-100)}
.section--white{background:var(--clr-white)}
.section--dark{background:var(--clr-dark);color:var(--clr-white)}
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---------- Scroll Animations ---------- */
.fade-up{
  opacity:0;
  transform:translateY(28px);
  animation:fadeUp .7s ease forwards;
  animation-play-state:paused;
}
.fade-up.is-visible{animation-play-state:running}
@keyframes fadeUp{
  to{opacity:1;transform:translateY(0)}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-small);
  padding:.75rem 1.6rem;border-radius:var(--radius-sm);
  letter-spacing:.02em;transition:var(--transition);
  text-transform:uppercase;
}
.btn--gold{
  background:var(--clr-gold);color:var(--clr-white);
}
.btn--gold:hover{background:var(--clr-gold-dim);transform:translateY(-2px)}
.btn--red{
  background:var(--clr-red);color:var(--clr-white);
}
.btn--red:hover{background:var(--clr-red-dark);transform:translateY(-2px)}
.btn--outline{
  border:2px solid var(--clr-gold);color:var(--clr-gold);
}
.btn--outline:hover{background:var(--clr-gold);color:var(--clr-white)}
.btn--outline-white{
  border:2px solid rgba(255,255,255,.35);color:var(--clr-white);
}
.btn--outline-white:hover{border-color:var(--clr-gold);color:var(--clr-gold)}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:linear-gradient(135deg,var(--clr-dark),var(--clr-dark-2));
  border-bottom:3px solid var(--clr-gold);
}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto;padding:.75rem 1.25rem;
}
.header__brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.header__logo-img{
  height:42px;width:auto;
  object-fit:contain;
  filter:brightness(1.1);
}
.header__logo{
  width:40px;height:40px;
  background:var(--clr-gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;line-height:1;flex-shrink:0;
}
.header__wordmark{
  font-family:var(--ff-display);font-weight:800;font-size:1.05rem;
  color:var(--clr-white);letter-spacing:.06em;text-transform:uppercase;
  line-height:1.2;
}
.header__wordmark small{
  display:block;font-weight:400;font-size:.6rem;letter-spacing:.12em;
  color:var(--clr-gray-500);text-transform:uppercase;
}

/* Desktop Nav */
.main-nav{display:flex;align-items:center;gap:.15rem}
.nav-link{
  font-family:var(--ff-display);font-weight:500;font-size:var(--fs-small);
  color:rgba(255,255,255,.7);padding:.5rem .85rem;border-radius:var(--radius-sm);
  transition:var(--transition);letter-spacing:.01em;
}
.nav-link:hover,.nav-link.is-active{color:var(--clr-white);background:rgba(255,255,255,.08)}
.nav-link.is-active{color:var(--clr-gold)}

/* Mobile Toggle */
.mobile-toggle{
  display:none;
  width:40px;height:40px;
  color:var(--clr-white);font-size:1.4rem;
  align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border-radius:var(--radius-sm);
}

/* Mobile Nav */
.mobile-nav{
  display:none;
  background:var(--clr-dark);
  border-top:1px solid rgba(255,255,255,.08);
}
.mobile-nav.is-open{display:block}
.mobile-nav__list{padding:.75rem 1.25rem 1rem}
.mobile-nav__link{
  display:block;
  font-family:var(--ff-display);font-weight:500;font-size:var(--fs-body);
  color:rgba(255,255,255,.75);
  padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06);
  transition:var(--transition);
}
.mobile-nav__link:hover,.mobile-nav__link.is-active{color:var(--clr-gold)}

@media(max-width:768px){
  .main-nav{display:none}
  .mobile-toggle{display:flex}
}

/* ============================================================
   HOME HERO
   ============================================================ */
.home-hero{
  background:linear-gradient(160deg,var(--clr-dark) 0%,#1a2e14 50%,var(--clr-dark) 100%);
  color:var(--clr-white);
  padding:6rem 1.25rem 5rem;
  text-align:center;
  position:relative;overflow:hidden;
}
.home-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 50% 40%,rgba(74,158,63,.1),transparent);
  pointer-events:none;
}
.home-hero__label{
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-xs);
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--clr-gold);margin-bottom:1rem;
  display:inline-block;
}
.home-hero__title{
  font-size:var(--fs-hero);font-weight:800;
  margin-bottom:1.25rem;line-height:1.1;
}
.home-hero__title em{
  font-style:normal;color:var(--clr-gold);
}
.home-hero__subtitle{
  font-family:var(--ff-body);font-size:clamp(1rem,2vw,1.2rem);
  color:rgba(255,255,255,.65);max-width:560px;margin:0 auto 2.25rem;
  line-height:1.65;
}
.home-hero__buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* ============================================================
   STAT BAR
   ============================================================ */
.stat-bar{
  background:var(--clr-red);color:var(--clr-white);
  padding:1.75rem 1.25rem;
}
.stat-bar__inner{
  display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;
  max-width:900px;margin:0 auto;text-align:center;
}
.stat-bar__item{min-width:110px}
.stat-bar__number{
  font-family:var(--ff-display);font-weight:800;font-size:1.6rem;
  line-height:1;display:block;
}
.stat-bar__label{
  font-family:var(--ff-display);font-size:var(--fs-xs);font-weight:500;
  text-transform:uppercase;letter-spacing:.08em;
  opacity:.85;margin-top:.25rem;display:block;
}

/* ============================================================
   CARD GRID
   ============================================================ */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;
}
.card-grid--small{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

/* ============================================================
   EVENT CARD
   ============================================================ */
.event-card{
  background:var(--clr-white);border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:1.5rem;
  border-top:4px solid var(--clr-gray-300);
  transition:var(--transition);
}
.event-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}
.event-card--highlight{border-top-color:var(--clr-red)}
.event-card--sport{border-top-color:#2e8b57}
.event-card--tradition{border-top-color:var(--clr-gold)}
.event-card--weekly{border-top-color:var(--clr-gray-500)}
.event-card--community{border-top-color:#4b0082}

.event-card__icon{
  font-size:1.6rem;margin-bottom:.75rem;display:block;
}
.event-card__badge{
  font-family:var(--ff-display);font-size:var(--fs-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;
  padding:.2rem .6rem;border-radius:3px;
  display:inline-block;margin-bottom:.5rem;
}
.event-card--highlight .event-card__badge{background:rgba(204,0,0,.1);color:var(--clr-red)}
.event-card--sport .event-card__badge{background:rgba(46,139,87,.1);color:#2e8b57}
.event-card--tradition .event-card__badge{background:rgba(255,215,0,.15);color:#b8a000}
.event-card--weekly .event-card__badge{background:rgba(136,136,136,.1);color:var(--clr-gray-700)}
.event-card--community .event-card__badge{background:rgba(75,0,130,.08);color:#4b0082}

.event-card__title{
  font-family:var(--ff-display);font-size:var(--fs-h3);font-weight:700;
  margin-bottom:.35rem;
}
.event-card__meta{
  font-family:var(--ff-display);font-size:var(--fs-small);
  color:var(--clr-gray-500);margin-bottom:.6rem;
}
.event-card__text{
  font-size:var(--fs-small);color:var(--clr-gray-700);line-height:1.6;
}

/* ============================================================
   APFEL HIGHLIGHT
   ============================================================ */
.apfel-section{
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;
}
.apfel-section__text h2{
  font-size:var(--fs-h2);margin-bottom:1rem;
}
.apfel-section__text p{
  color:var(--clr-gray-700);margin-bottom:1.5rem;line-height:1.7;
}
.apfel-panel{
  background:linear-gradient(145deg,#f2f8f0,#e6f0e3);
  border-radius:var(--radius);padding:2.5rem;
  text-align:center;position:relative;overflow:hidden;
  border:1px solid rgba(74,158,63,.2);
}
.apfel-panel::after{
  content:'🍎';position:absolute;right:-10px;bottom:-10px;
  font-size:6rem;opacity:.12;pointer-events:none;
}
.apfel-panel__big{
  font-family:var(--ff-display);font-weight:800;font-size:3.5rem;
  color:var(--clr-red);line-height:1;
}
.apfel-panel__label{
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-body);
  color:var(--clr-gray-700);margin-top:.35rem;margin-bottom:1.5rem;
}
.apfel-panel__fact{
  font-size:var(--fs-small);color:var(--clr-gray-700);
  padding:.65rem 0;border-top:1px solid rgba(0,0,0,.06);
}
.apfel-panel__fact:last-child{border-bottom:1px solid rgba(0,0,0,.06)}
.apfel-panel__fact strong{color:var(--clr-gray-900)}

@media(max-width:768px){
  .apfel-section{grid-template-columns:1fr;gap:2rem}
}

/* ============================================================
   PARTNER LOGOS
   ============================================================ */
.partner-logos{padding:3rem 1.25rem;text-align:center}
.partner-logos__title{
  font-family:var(--ff-display);font-size:var(--fs-small);
  font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  color:var(--clr-gray-500);margin-bottom:1.75rem;
}
.partner-logos__row{
  display:flex;align-items:center;justify-content:center;
  gap:2.5rem;flex-wrap:wrap;
  max-width:900px;margin:0 auto;
}
.partner-logos__img{
  max-height:50px;width:auto;
  object-fit:contain;
  filter:grayscale(100%) opacity(.5);
  transition:var(--transition);
}
.partner-logos__img:hover{filter:grayscale(0%) opacity(1)}

@media(max-width:600px){
  .partner-logos__row{gap:1.5rem}
  .partner-logos__img{max-height:38px}
}

/* ============================================================
   PAGE HERO (Unterseiten)
   ============================================================ */
.page-hero{
  background:linear-gradient(160deg,var(--clr-dark),var(--clr-dark-2));
  color:var(--clr-white);
  padding:4.5rem 1.25rem 3.5rem;
  text-align:center;
}
.page-hero__label{
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-xs);
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--clr-gold);margin-bottom:.75rem;display:inline-block;
}
.page-hero__title{
  font-size:var(--fs-h1);font-weight:800;margin-bottom:.75rem;
}
.page-hero__subtitle{
  font-family:var(--ff-body);font-size:clamp(.95rem,1.8vw,1.1rem);
  color:rgba(255,255,255,.6);max-width:560px;margin:0 auto;
}

/* ============================================================
   TIMELINE (Über uns)
   ============================================================ */
.timeline{
  position:relative;padding:2rem 0;
  max-width:680px;margin:0 auto;
}
.timeline::before{
  content:'';position:absolute;left:18px;top:0;bottom:0;
  width:3px;background:var(--clr-gray-300);border-radius:2px;
}
.timeline__item{
  position:relative;padding-left:52px;margin-bottom:2.25rem;
}
.timeline__dot{
  position:absolute;left:8px;top:4px;
  width:24px;height:24px;border-radius:50%;
  background:var(--clr-white);
  border:3px solid var(--clr-gold);
  z-index:1;
}
.timeline__item:last-child .timeline__dot{border-color:var(--clr-red);background:var(--clr-red)}
.timeline__year{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-h3);
  color:var(--clr-gray-900);
}
.timeline__desc{
  font-size:var(--fs-small);color:var(--clr-gray-700);margin-top:.15rem;
}

/* ============================================================
   VORSTAND CARDS (Über uns)
   ============================================================ */
.vorstand-card{
  background:var(--clr-white);border-radius:var(--radius);
  box-shadow:var(--shadow-card);padding:1.5rem;text-align:center;
  border-top:4px solid var(--clr-gold);
  transition:var(--transition);
}
.vorstand-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}
.vorstand-card--primary{border-top-color:var(--clr-red)}
.vorstand-card__avatar{
  width:56px;height:56px;border-radius:50%;
  background:var(--clr-gray-100);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);font-weight:700;font-size:1rem;
  color:var(--clr-gray-700);
  margin:0 auto .85rem;
}
.vorstand-card--primary .vorstand-card__avatar{
  background:rgba(204,0,0,.08);color:var(--clr-red);
}
.vorstand-card__name{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-body);
}
.vorstand-card__role{
  font-family:var(--ff-display);font-size:var(--fs-small);font-weight:600;
  color:var(--clr-red);margin-top:.15rem;
}
.vorstand-card__note{
  font-size:var(--fs-xs);color:var(--clr-gray-500);margin-top:.3rem;
}

/* ============================================================
   MITGLIEDER (Suche, Filter, Branchenkarten)
   ============================================================ */
.search-bar{
  position:relative;max-width:520px;margin:0 auto 1.75rem;
}
.search-bar__input{
  width:100%;
  font-family:var(--ff-display);font-size:var(--fs-body);
  padding:.85rem 1rem .85rem 2.75rem;
  border:2px solid var(--clr-gray-300);border-radius:var(--radius);
  background:var(--clr-white);transition:var(--transition);
}
.search-bar__input:focus{outline:none;border-color:var(--clr-gold)}
.search-bar__icon{
  position:absolute;left:.9rem;top:50%;transform:translateY(-50%);
  width:18px;height:18px;color:var(--clr-gray-500);pointer-events:none;
}

.filter-pills{
  display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;
  margin-bottom:2rem;
}
.filter-pill{
  font-family:var(--ff-display);font-weight:500;font-size:var(--fs-small);
  padding:.45rem 1rem;border-radius:50px;
  border:1.5px solid var(--clr-gray-300);
  color:var(--clr-gray-700);background:var(--clr-white);
  transition:var(--transition);
}
.filter-pill:hover{border-color:var(--clr-gold);color:var(--clr-gray-900)}
.filter-pill.is-active{
  background:var(--clr-gold);border-color:var(--clr-gold);color:var(--clr-white);font-weight:600;
}

.branche-card{
  background:var(--clr-white);border-radius:var(--radius);
  box-shadow:var(--shadow-card);padding:1.5rem;
  transition:var(--transition);
}
.branche-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}
.branche-card__header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:.6rem;
}
.branche-card__title{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-h3);
}
.branche-card__count{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-small);
  background:var(--clr-gold);color:var(--clr-white);
  padding:.15rem .55rem;border-radius:50px;min-width:28px;text-align:center;
}
.branche-card__examples{
  font-size:var(--fs-small);color:var(--clr-gray-700);line-height:1.6;
}

/* ============================================================
   EVENT LIST (Veranstaltungen-Seite)
   ============================================================ */
.event-list-card{
  display:flex;gap:1.25rem;
  background:var(--clr-white);border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:1.5rem;
  border-left:5px solid var(--clr-gray-300);
  transition:var(--transition);
  margin-bottom:1.25rem;
}
.event-list-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}
.event-list-card--highlight{border-left-color:var(--clr-red)}
.event-list-card--sport{border-left-color:#2e8b57}
.event-list-card--tradition{border-left-color:var(--clr-gold)}
.event-list-card--weekly{border-left-color:var(--clr-gray-500)}
.event-list-card--community{border-left-color:#4b0082}

.event-list-card__icon{
  width:48px;height:48px;flex-shrink:0;
  background:var(--clr-gray-100);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
}
.event-list-card__body{flex:1}
.event-list-card__top{
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
  margin-bottom:.25rem;
}
.event-list-card__title{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-h3);
}
.event-list-card__badge{
  font-family:var(--ff-display);font-size:var(--fs-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;
  padding:.15rem .5rem;border-radius:3px;
}
.event-list-card--highlight .event-list-card__badge{background:rgba(204,0,0,.1);color:var(--clr-red)}
.event-list-card--sport .event-list-card__badge{background:rgba(46,139,87,.1);color:#2e8b57}
.event-list-card--tradition .event-list-card__badge{background:rgba(255,215,0,.15);color:#b8a000}
.event-list-card--weekly .event-list-card__badge{background:rgba(136,136,136,.1);color:var(--clr-gray-700)}
.event-list-card--community .event-list-card__badge{background:rgba(75,0,130,.08);color:#4b0082}

.event-list-card__meta{
  font-family:var(--ff-display);font-size:var(--fs-small);
  color:var(--clr-gray-500);margin-bottom:.5rem;
}
.event-list-card__text{
  font-size:var(--fs-small);color:var(--clr-gray-700);line-height:1.6;
}

@media(max-width:600px){
  .event-list-card{flex-direction:column;gap:.75rem}
  .event-list-card__icon{width:40px;height:40px;font-size:1.2rem}
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;
  align-items:start;
}
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr;gap:2rem}
}

.contact-item{
  display:flex;gap:1rem;align-items:flex-start;
  margin-bottom:1.5rem;
}
.contact-item__icon{
  width:40px;height:40px;flex-shrink:0;
  background:var(--clr-gray-100);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--clr-gray-700);
}
.contact-item__label{
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-small);
  color:var(--clr-gray-900);
}
.contact-item__value{
  font-size:var(--fs-small);color:var(--clr-gray-700);margin-top:.1rem;
}

.cta-box{
  background:var(--clr-red);color:var(--clr-white);
  border-radius:var(--radius);padding:2rem;
  margin-top:1rem;
}
.cta-box h3{
  font-family:var(--ff-display);font-size:var(--fs-h3);font-weight:700;
  margin-bottom:.5rem;
}
.cta-box p{font-size:var(--fs-small);opacity:.9;margin-bottom:1rem;line-height:1.6}

/* Form */
.form{display:flex;flex-direction:column;gap:1rem}
.form__group label{
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-small);
  display:block;margin-bottom:.3rem;
}
.form__group label .required{color:var(--clr-red)}
.form__group input,
.form__group select,
.form__group textarea{
  width:100%;
  padding:.7rem .85rem;
  border:2px solid var(--clr-gray-300);border-radius:var(--radius-sm);
  background:var(--clr-white);transition:var(--transition);
  font-family:var(--ff-body);
}
.form__group input:focus,
.form__group select:focus,
.form__group textarea:focus{
  outline:none;border-color:var(--clr-gold);
}
.form__group textarea{resize:vertical;min-height:120px}

.form-success{
  display:none;
  text-align:center;padding:2.5rem;
  background:rgba(46,139,87,.06);border:2px solid rgba(46,139,87,.2);
  border-radius:var(--radius);
}
.form-success__icon{font-size:2.5rem;margin-bottom:.5rem;display:block}
.form-success__title{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-h3);
  color:#2e8b57;margin-bottom:.3rem;
}
.form-success__text{font-size:var(--fs-small);color:var(--clr-gray-700)}

/* ============================================================
   INFO BOX / PLACEHOLDER BOX
   ============================================================ */
.info-box{
  border-radius:var(--radius);padding:2rem;text-align:center;
}
.info-box--gold{
  background:rgba(74,158,63,.06);border:1.5px solid rgba(74,158,63,.2);
}
.info-box--gray{
  background:var(--clr-gray-100);border:1.5px dashed var(--clr-gray-300);
  color:var(--clr-gray-500);
}
.info-box h3{
  font-family:var(--ff-display);font-size:var(--fs-h3);font-weight:700;
  margin-bottom:.5rem;
}
.info-box p{font-size:var(--fs-small);color:var(--clr-gray-700);line-height:1.6}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.section-heading{margin-bottom:2.5rem}
.section-heading__label{
  font-family:var(--ff-display);font-weight:600;font-size:var(--fs-xs);
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--clr-gold);margin-bottom:.4rem;display:block;
}
.section-heading__title{
  font-size:var(--fs-h2);font-weight:800;color:var(--clr-gray-900);
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{
  background:var(--clr-dark);color:rgba(255,255,255,.7);
  border-top:3px solid var(--clr-gold);
  padding:3.5rem 1.25rem 1.5rem;
}
.footer__grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:2rem;
  max-width:1200px;margin:0 auto;
}
.footer__heading{
  font-family:var(--ff-display);font-weight:700;font-size:var(--fs-small);
  color:var(--clr-white);text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:1rem;
}
.footer__text{font-size:var(--fs-small);line-height:1.7}
.footer__text strong{color:var(--clr-white)}
.footer__link{
  display:block;font-family:var(--ff-display);font-size:var(--fs-small);
  color:rgba(255,255,255,.6);padding:.25rem 0;transition:var(--transition);
}
.footer__link:hover{color:var(--clr-gold)}
.footer__social{display:flex;gap:.75rem;margin-top:.5rem}
.footer__social-icon{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  transition:var(--transition);
}
.footer__social-icon:hover{background:var(--clr-gold);color:var(--clr-white)}
.footer__social-icon svg{width:16px;height:16px;stroke:currentColor}
.footer__bottom{
  text-align:center;padding-top:2rem;margin-top:2rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-family:var(--ff-display);font-size:var(--fs-xs);
  color:rgba(255,255,255,.4);
}

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

/* ============================================================
   INSTAGRAM EMBED
   ============================================================ */
.instagram-embed__placeholder{
  background:var(--clr-white);border:2px dashed var(--clr-gray-300);
  border-radius:var(--radius);padding:3rem 2rem;
  text-align:center;color:var(--clr-gray-700);
}
.instagram-embed__icon{
  color:var(--clr-gray-500);margin-bottom:1rem;
  display:flex;justify-content:center;
}
.instagram-embed__placeholder p{
  font-size:var(--fs-small);line-height:1.6;
}

/* ============================================================
   CAMPAI EMBED (Mitgliedsantrag)
   ============================================================ */
.campai-embed__placeholder{
  background:var(--clr-white);border:2px dashed var(--clr-gray-300);
  border-radius:var(--radius);padding:2.5rem 2rem;
  text-align:center;color:var(--clr-gray-700);
}
.campai-embed__icon{font-size:2.5rem;margin-bottom:.75rem}
.campai-embed__placeholder h3{
  font-family:var(--ff-display);font-size:var(--fs-h3);
  margin-bottom:.5rem;
}
.campai-embed__placeholder p{
  font-size:var(--fs-small);line-height:1.6;margin-bottom:.25rem;
}
.campai-embed__placeholder a{font-weight:600}

/* ============================================================
   LEGAL CONTENT (Impressum, Datenschutz)
   ============================================================ */
.legal-content h2{
  font-size:var(--fs-h3);margin-top:2.5rem;margin-bottom:.75rem;
  padding-bottom:.4rem;border-bottom:2px solid var(--clr-gray-100);
}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{
  font-size:var(--fs-body);margin-top:1.5rem;margin-bottom:.5rem;
  color:var(--clr-gray-700);
}
.legal-content p{
  font-size:var(--fs-small);color:var(--clr-gray-700);
  margin-bottom:1rem;line-height:1.7;
}
.legal-content a{color:var(--clr-red);text-decoration:underline}
.legal-content a:hover{color:var(--clr-red-dark)}

/* Page Hero Compact */
.page-hero--compact{padding:3rem 1.25rem 2.25rem}

/* Footer Legal Links */
.footer__legal{margin-top:1rem;display:flex;flex-direction:column}
.footer__bottom-link{color:rgba(255,255,255,.5);transition:var(--transition)}
.footer__bottom-link:hover{color:var(--clr-gold)}

/* ============================================================
   PRINT
   ============================================================ */
@media print{
  .site-header,.site-footer,.mobile-nav,.home-hero__buttons,.btn,.stat-bar,.partner-logos{display:none!important}
  body{color:#000;background:#fff}
  .section{padding:1.5rem 0}
}
