
/*
 * NaturFreunde Essen – globale Modernisierung
 * Bewusst nur vorhandene Theme-Klassen gestalten, keine Inhalte ersetzen.
 */
.nfe-modern-suite{
  --nfe-green:#173f30;
  --nfe-green-2:#236247;
  --nfe-green-3:#2f6c4c;
  --nfe-red:#c8141d;
  --nfe-lime:#dce97b;
  --nfe-ink:#19271f;
  --nfe-muted:#69766e;
  --nfe-soft:#f3f7f4;
  --nfe-soft-2:#edf3ef;
  --nfe-line:#dce6df;
  --nfe-white:#fff;
}

/* Grundrhythmus */
.nfe-modern-suite .wrap{width:min(1120px,calc(100% - 34px));margin-inline:auto}
.nfe-modern-suite .section{padding-top:38px;padding-bottom:38px}
.nfe-modern-suite .section.soft{background:var(--nfe-soft-2)}
.nfe-modern-suite .section.sand{background:#f3efe5}
.nfe-modern-suite .section-title,
.nfe-modern-suite .nf7-section-head,
.nfe-modern-suite .nfch-title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:17px;
}
.nfe-modern-suite .section-title h2,
.nfe-modern-suite .nf7-section-head h2,
.nfe-modern-suite .nfch-title-row h2{
  margin:4px 0 0;
  font-size:clamp(27px,3.4vw,43px);
  line-height:.98;
  letter-spacing:-.045em;
}
.nfe-modern-suite .section-title p,
.nfe-modern-suite .nf7-section-head p,
.nfe-modern-suite .nfch-title-row>p{
  max-width:500px;
  margin:0;
  color:var(--nfe-muted);
  font-size:10.5px;
  line-height:1.5;
}
.nfe-modern-suite .eyebrow,
.nfe-modern-suite .kicker,
.nfe-modern-suite .nf7-kicker{
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase;
}

/* Einheitlicher Seitenkopf */
.nfe-modern-suite .nf7-page-hero{
  position:relative;
  overflow:hidden;
  padding:44px 0 42px!important;
  background:linear-gradient(145deg,var(--nfe-green),var(--nfe-green-2))!important;
  color:#fff!important;
}
.nfe-modern-suite .nf7-page-hero:before{
  content:'';
  position:absolute;
  left:0;top:0;
  width:145px;height:5px;
  background:var(--nfe-red);
}
.nfe-modern-suite .nf7-page-hero:after{
  content:'';
  position:absolute;
  right:-100px;
  bottom:-145px;
  width:360px;height:360px;
  border-radius:50%;
  background:rgba(255,255,255,.045);
}
.nfe-modern-suite .nf7-page-hero .wrap{position:relative;z-index:1}
.nfe-modern-suite .nf7-breadcrumb,
.nfe-modern-suite .nf7-breadcrumb a{color:rgba(255,255,255,.66)!important}
.nfe-modern-suite .nf7-page-hero .nf7-kicker{color:var(--nfe-lime)!important}
.nfe-modern-suite .nf7-page-hero h1{
  margin-top:7px!important;
  font-size:clamp(40px,5.6vw,67px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
}
.nfe-modern-suite .nf7-page-hero .nf7-page-hero-intro{
  max-width:720px;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;
  line-height:1.6!important;
}
.nfe-modern-suite .nf7-stat-stack{gap:7px!important}
.nfe-modern-suite .nf7-stat-stack>div{
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.085)!important;
  box-shadow:none!important;
}
.nfe-modern-suite .nf7-stat-stack strong{color:var(--nfe-lime)!important}
.nfe-modern-suite .nf7-stat-stack span{color:rgba(255,255,255,.68)!important}
.nfe-modern-suite .nf7-page-links a{
  border-color:rgba(255,255,255,.18)!important;
  border-radius:8px!important;
  color:#fff!important;
  background:rgba(255,255,255,.06)!important;
}

/* Subnavigation */
.nfe-modern-suite .subnav{
  position:sticky;
  top:0;
  z-index:18;
  border-bottom:1px solid var(--nfe-line);
  background:rgba(255,255,255,.95)!important;
  backdrop-filter:blur(14px);
}
.nfe-modern-suite .subnav-inner{
  display:flex;
  gap:4px!important;
  overflow:auto;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.nfe-modern-suite .subnav a{
  white-space:nowrap;
  padding:7px 9px!important;
  border-radius:8px;
  color:#58665e!important;
  font-size:8px!important;
  font-weight:800!important;
  text-decoration:none;
}
.nfe-modern-suite .subnav a:hover{background:#eaf3ed;color:var(--nfe-green)!important}

/* Intro-Bereiche */
.nfe-modern-suite .intro-grid{
  gap:16px!important;
  align-items:stretch;
}
.nfe-modern-suite .prose{
  padding:21px;
  border:1px solid var(--nfe-line);
  border-radius:17px;
  background:#fff;
}
.nfe-modern-suite .prose h2{
  font-size:clamp(27px,3vw,40px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.nfe-modern-suite .prose p{color:var(--nfe-muted);font-size:10.5px;line-height:1.55}
.nfe-modern-suite .highlight{
  border:0!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,var(--nfe-green),var(--nfe-green-2))!important;
  color:#fff!important;
  box-shadow:0 12px 34px rgba(22,61,44,.11);
}
.nfe-modern-suite .highlight .quote,
.nfe-modern-suite .highlight p{color:rgba(255,255,255,.77)!important}

/* Karten allgemein */
.nfe-modern-suite .cards-3,
.nfe-modern-suite .quick-actions{
  gap:10px!important;
}
.nfe-modern-suite .info-card,
.nfe-modern-suite .quick-action,
.nfe-modern-suite .progress-card,
.nfe-modern-suite .metric,
.nfe-modern-suite .contact-box{
  border:1px solid var(--nfe-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(24,63,43,.035)!important;
}
.nfe-modern-suite a.quick-action,
.nfe-modern-suite .info-card a{transition:transform .16s ease,box-shadow .16s ease}
.nfe-modern-suite a.quick-action:hover,
.nfe-modern-suite .info-card:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 27px rgba(24,63,43,.07)!important;
}
.nfe-modern-suite .quick-action{
  min-height:155px;
  padding:16px!important;
  display:flex;
  flex-direction:column;
}
.nfe-modern-suite .quick-action strong{margin-top:10px;font-size:14px!important;letter-spacing:-.02em}
.nfe-modern-suite .quick-action span{margin-top:5px;color:var(--nfe-muted);font-size:8.5px;line-height:1.4}
.nfe-modern-suite .info-card{padding:18px!important}
.nfe-modern-suite .info-card .kicker{color:var(--nfe-green-3)!important}
.nfe-modern-suite .info-card h3{font-size:20px!important;letter-spacing:-.035em!important}
.nfe-modern-suite .info-card p{font-size:9px;line-height:1.45;color:var(--nfe-muted)}
.nfe-modern-suite .info-card.emphasis{
  background:linear-gradient(145deg,var(--nfe-green),var(--nfe-green-2))!important;
  color:#fff!important;
  border-color:transparent!important;
}
.nfe-modern-suite .info-card.emphasis p{color:rgba(255,255,255,.72)!important}

/* Buttons */
.nfe-modern-suite .btn,
.nfe-modern-suite .nf7-btn,
.nfe-modern-suite button[type="submit"]{
  border-radius:9px!important;
  box-shadow:none!important;
  font-weight:850!important;
}
.nfe-modern-suite .btn.green,
.nfe-modern-suite .nf7-btn.green,
.nfe-modern-suite button[type="submit"]{background:var(--nfe-green)!important;color:#fff!important}
.nfe-modern-suite .btn.red{background:var(--nfe-red)!important;color:#fff!important}
.nfe-modern-suite .btn.outline{border-color:#cbd9d0!important;color:var(--nfe-green)!important;background:#fff!important}
.nfe-modern-suite .text-link{color:var(--nfe-green-3)!important;font-weight:800!important}

/* Termine */
.nfe-modern-suite .filter-box,
.nfe-modern-suite .event-filter-panel{
  padding:15px!important;
  border:1px solid var(--nfe-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(24,63,43,.035)!important;
}
.nfe-modern-suite .event-filter-chip{
  border-radius:999px!important;
  border-color:#dbe5df!important;
  background:#f7faf8!important;
  color:#53645a!important;
}
.nfe-modern-suite .event-filter-chip.is-active{
  background:var(--nfe-green)!important;
  border-color:var(--nfe-green)!important;
  color:#fff!important;
}
.nfe-modern-suite .event-card{
  overflow:hidden;
  border:1px solid var(--nfe-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(24,63,43,.04)!important;
}
.nfe-modern-suite .event-date{background:#eaf3ed!important;color:var(--nfe-green)!important}
.nfe-modern-suite .event-card h3{letter-spacing:-.025em}
.nfe-modern-suite .event-card-body>p{color:var(--nfe-muted)}
.nfe-modern-suite .event-type-badge{border-radius:999px!important;background:#edf3ef!important;color:#36684d!important}

/* Formulare */
.nfe-modern-suite .nf-form,
.nfe-modern-suite .form-card,
.nfe-modern-suite form[class*="form"]{
  border-radius:16px;
}
.nfe-modern-suite input:not([type="checkbox"]):not([type="radio"]),
.nfe-modern-suite select,
.nfe-modern-suite textarea{
  border:1px solid #d9e3dc!important;
  border-radius:9px!important;
  background:#fbfcfb!important;
  box-shadow:none!important;
}
.nfe-modern-suite input:focus,
.nfe-modern-suite select:focus,
.nfe-modern-suite textarea:focus{
  outline:2px solid rgba(47,108,76,.15)!important;
  border-color:#9cb9a7!important;
}
.nfe-modern-suite fieldset{
  border-radius:12px!important;
  border-color:var(--nfe-line)!important;
}
.nfe-modern-suite label{color:#405149}

/* FAQ */
.nfe-modern-suite .faq-list{display:grid;gap:7px!important}
.nfe-modern-suite .faq-list details{
  border:1px solid var(--nfe-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  overflow:hidden;
}
.nfe-modern-suite .faq-list summary{
  padding:12px 14px!important;
  color:#253b30!important;
  font-size:9px!important;
  font-weight:850!important;
}
.nfe-modern-suite .faq-list details>div{padding:0 14px 13px!important;color:var(--nfe-muted)!important;font-size:8.5px!important;line-height:1.5}

/* Timeline */
.nfe-modern-suite .timeline{gap:7px!important}
.nfe-modern-suite .timeline-item{
  position:relative;
  padding:13px 14px 13px 18px!important;
  border:1px solid var(--nfe-line)!important;
  border-radius:11px!important;
  background:#fff!important;
}
.nfe-modern-suite .timeline-item:before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--nfe-green-3);
}

/* Bezirksgruppen-Hub */
.nfe-modern-suite .nf-district-hub-grid{gap:10px!important}
.nfe-modern-suite .nf-district-hub-card{
  border-radius:17px!important;
  overflow:hidden;
  box-shadow:0 8px 25px rgba(24,63,43,.06)!important;
}
.nfe-modern-suite .nf-district-hub-card h2,
.nfe-modern-suite .nf-district-hub-card h3{letter-spacing:-.04em!important}
.nfe-modern-suite .nf-district-hub-note{border-radius:12px!important;background:#edf3ef!important}

/* Naturfreundejugend */
.nfe-modern-suite .nfj-actions{gap:9px!important}
.nfe-modern-suite [class*="nfj-"] .info-card,
.nfe-modern-suite [class*="nfj-"] article{
  border-radius:14px;
}
.nfe-modern-suite .nfj-actions a{border-radius:9px!important}

/* Naturfreundehaus */
.nfe-modern-suite .nf-house-intro-grid,
.nfe-modern-suite .nf-house-room-grid{gap:10px!important}
.nfe-modern-suite .nf-house-contact-card,
.nfe-modern-suite .nf-house-room-card,
.nfe-modern-suite .nfhp-profile,
.nfe-modern-suite .nfhp-content{
  border:1px solid var(--nfe-line)!important;
  border-radius:16px!important;
  box-shadow:0 6px 20px rgba(24,63,43,.04)!important;
}
.nfe-modern-suite .nf-house-contact-card{background:linear-gradient(145deg,var(--nfe-green),var(--nfe-green-2))!important;color:#fff!important}
.nfe-modern-suite .nf-house-contact-card a{color:var(--nfe-lime)!important}
.nfe-modern-suite .nf-house-open{border-radius:999px!important}

/* Mitglied werden */
.nfe-modern-suite .nf-member-districts{gap:9px!important}
.nfe-modern-suite .nf-member-districts a{
  border:1px solid var(--nfe-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 5px 17px rgba(24,63,43,.035)!important;
}
.nfe-modern-suite .nf-member-form-layout{gap:17px!important}
.nfe-modern-suite .nf-member-form-copy{
  border-radius:17px!important;
  background:linear-gradient(145deg,var(--nfe-green),var(--nfe-green-2))!important;
  color:#fff!important;
}
.nfe-modern-suite .nf-member-form-copy p{color:rgba(255,255,255,.72)!important}
.nfe-modern-suite .nf-member-form-hints>div{border-radius:9px;background:rgba(255,255,255,.08)}

/* Menschen / Personen */
.nfe-modern-suite .people-grid,
.nfe-modern-suite .person-grid{gap:10px!important}
.nfe-modern-suite .person-card{
  border:1px solid var(--nfe-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(24,63,43,.04)!important;
  overflow:hidden;
}
.nfe-modern-suite .person-card h3{letter-spacing:-.03em!important}

/* Presse / Aktuelles / Postkarten */
.nfe-modern-suite .post-card,
.nfe-modern-suite .editable-content{
  border:1px solid var(--nfe-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(24,63,43,.035)!important;
}
.nfe-modern-suite .post-card{overflow:hidden}
.nfe-modern-suite .post-card h2,
.nfe-modern-suite .post-card h3{letter-spacing:-.035em!important}

/* CTA */
.nfe-modern-suite .cta{
  border-radius:18px!important;
  background:linear-gradient(145deg,var(--nfe-green),var(--nfe-green-2))!important;
  color:#fff!important;
  box-shadow:0 12px 32px rgba(22,61,44,.11)!important;
}
.nfe-modern-suite .cta p{color:rgba(255,255,255,.72)!important}

/* Editor-Hinweise unaufdringlicher */
.nfe-modern-suite .edit-hint{
  max-width:1120px;
  margin:10px auto!important;
  padding:8px 10px!important;
  border:1px dashed #d4dfd8!important;
  border-radius:9px!important;
  background:#f8faf8!important;
  color:#7c8981!important;
  font-size:7.5px!important;
}

/* Kontakt/Chronik-Plugins behalten ihr eigenes Design */
.nfe-modern-suite .nfe-contact-modern .section,
.nfe-modern-suite .nfe-chronik-modern .section{padding:unset}

/* Mobile */
@media(max-width:850px){
  .nfe-modern-suite .section-title,
  .nfe-modern-suite .nf7-section-head,
  .nfe-modern-suite .nfch-title-row{align-items:flex-start;flex-direction:column}
  .nfe-modern-suite .cards-3{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  .nfe-modern-suite .wrap{width:calc(100% - 24px)}
  .nfe-modern-suite .section{padding-top:29px;padding-bottom:29px}
  .nfe-modern-suite .nf7-page-hero{padding:34px 0!important}
  .nfe-modern-suite .cards-3,
  .nfe-modern-suite .quick-actions{grid-template-columns:1fr!important}
  .nfe-modern-suite .intro-grid{grid-template-columns:1fr!important}
  .nfe-modern-suite .info-card,
  .nfe-modern-suite .quick-action{min-height:0}
}
