/* ══════════════════════════════════════════════════════════
   fw-redesign-ende.css

   Herausgeloest am 15.08.2026, zusammen mit fw-seiten.css.

   Hier stehen Fussbereich, Umbrueche fuer kleine Bildschirme und die
   dunklen Sektionen. Der Inhalt ist global, die LADEREIHENFOLGE ist es
   aber nicht: diese Regeln muessen NACH den Seitenregeln kommen.

   Grund: In der urspruenglichen fw-redesign.css standen die Umbrueche
   hinter den Seitenabschnitten und haben sie bei gleicher Spezifitaet
   ueberstimmt. Nach der Aufteilung lud fw-seiten.css zuletzt und hat
   die Umbrueche geschlagen. Ergebnis waren halbbreite Textspalten am
   Handy auf Startseite, Ueber uns und im Zitatblock.

   Wer hier etwas ergaenzt, sollte wissen: die Datei gewinnt gegen
   fw-seiten.css. Das ist Absicht, nicht Zufall.
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   17. FOOTER (neu)
   ══════════════════════════════════════════════════════════ */
.fw-footer-new {
  background: var(--fw-charcoal);
  padding: clamp(48px, 6vw, 80px) 0 28px;
  margin-top: 0;
}
.fw-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
.fw-footer-brand .fw-nav-logo { font-size: 1.5rem; display: block; margin-bottom: 14px; }
.fw-footer-brand p {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.85rem !important;
  line-height: 1.7 !important;
  max-width: 220px;
  text-shadow: none !important;
}
.fw-footer-col h4 {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  margin: 0 0 16px !important;
  text-shadow: none !important;
}
.fw-footer-col ul { list-style: none; padding: 0; margin: 0; }
.fw-footer-col li { margin-bottom: 10px; }
.fw-footer-col a {
  font-size: 0.88rem !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.fw-footer-col a:hover { color: rgba(255,255,255,0.95) !important; }
.fw-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.fw-footer-bottom p {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.3) !important;
  margin: 0 !important;
  text-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════
   18. RESPONSIVE BREAKPOINTS
   ══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .fw-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .fw-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .fw-fdm-wrap { grid-template-columns: 1fr; }
  .fw-events-submit-cta { grid-template-columns: 1fr; text-align: center; }
  .fw-podcast-cta { grid-template-columns: 1fr; text-align: center; }
}
@media (max-width: 768px) {
  .fw-hero-split { grid-template-columns: 1fr; min-height: auto; max-height: none; }
  .fw-hero-image { display: none; }
  .fw-hero-text { min-height: 75vh; }
  .fw-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .fw-split, .fw-split.fw-split-reverse { grid-template-columns: 1fr; gap: 36px; }
  .fw-split.fw-split-reverse .fw-split-img { order: 0; }
  .fw-promo-grid { grid-template-columns: 1fr; }
  .fw-quotes-grid { grid-template-columns: 1fr; }
  .fw-join-inner { grid-template-columns: 1fr; }
  .fw-benefits-grid { grid-template-columns: 1fr; }
  .fw-footer-grid { grid-template-columns: 1fr; }
  .fw-podcast-hero-inner { grid-template-columns: 1fr; text-align: center; }
  .fw-podcast-cover { margin: 0 auto; }
  .fw-podcast-subscribe { justify-content: center; }
  .fw-episode-card { grid-template-columns: 1fr auto; }
  .fw-example-entry { grid-template-columns: 1fr; text-align: center; }
  .fw-example-logo { margin: 0 auto; }
}
@media (max-width: 480px) {
  .fw-cat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .fw-hero-text h1 { font-size: 2.6rem; }
}


.fw-fdm-banner {
  display: flex;
  gap: 20px;
  align-items: center;
  background: #fff;
  border: 1px solid #ede5d8;
  border-radius: 12px;
  padding: 22px 24px;
  margin: 24px 0;
  box-shadow: 0 2px 12px rgba(42,37,32,.05);
}
.fw-fdm-banner-logo {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 10px;
  border: 1px solid #ede5d8;
  background: #f7f3ee;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  inset: auto !important;
}
.fw-fdm-banner-logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  inset: auto !important;
  float: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  transform: none !important;
}
.fw-fdm-banner-body { flex: 1; min-width: 0; }
.fw-fdm-label {
  font-family: 'Jost', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b85c38;
  display: block;
  margin-bottom: 6px;
}
.fw-fdm-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 400 !important;
  color: #2a2520 !important;
  margin: 0 0 8px !important;
  line-height: 1.2 !important;
}
.fw-fdm-title a { color: inherit !important; text-decoration: none !important; }
.fw-fdm-title a:hover { color: #3a5c47 !important; }
.fw-fdm-excerpt {
  font-size: 0.88rem !important;
  color: #6b5f54 !important;
  margin: 0 0 14px !important;
  line-height: 1.6 !important;
}
@media (max-width: 480px) {
  .fw-fdm-banner { flex-direction: column; align-items: flex-start; }
  .fw-fdm-banner-logo { width: 60px; height: 60px; }
}


.fw-event-list-frontend {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fw-event-card {
  display: flex !important;
  gap: 16px !important;
  border: 1px solid #ede5d8 !important;
  border-left: 3px solid var(--color-green, #3a5c47) !important;
  padding: 16px !important;
  background: #fff !important;
  border-radius: 8px !important;
  align-items: flex-start !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  box-shadow: 0 1px 4px rgba(42,37,32,.04) !important;
}
.fw-event-card:hover {
  box-shadow: 0 6px 18px rgba(42,37,32,.08) !important;
  transform: translateY(-1px) !important;
}
.fw-event-date {
  text-align: center !important;
  min-width: 58px !important;
  padding: 8px 6px !important;
  background: #f7f3ee !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
}
.fw-event-day {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  color: #2a2520 !important;
  display: block !important;
  line-height: 1 !important;
}
.fw-event-month {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #b85c38 !important;
  display: block !important;
  margin-top: 3px !important;
}
.fw-event-details { flex-grow: 1; min-width: 0; }
.fw-event-title {
  margin: 0 0 6px !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}
.fw-event-title a {
  text-decoration: none !important;
  color: #2a2520 !important;
  transition: color .15s !important;
}
.fw-event-title a:hover { color: #3a5c47 !important; }
.fw-event-meta {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.78rem !important;
  color: #6b5f54 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin-bottom: 6px !important;
}
.fw-event-format {
  background: #f7f3ee !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  color: #3a5c47 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.fw-event-messe { color: #3a5c47 !important; font-weight: 600 !important; }
.fw-event-messe a { color: #3a5c47 !important; text-decoration: none !important; }
.fw-event-messe a:hover { text-decoration: underline !important; }
.fw-event-booth {
  background: #ede5d8 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
}
.fw-event-online-badge {
  background: #e3f2fd !important;
  color: #1565c0 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}
.fw-event-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.fw-event-price-tag {
  background: #e8f5e9 !important;
  color: #3a5c47 !important;
  padding: 2px 9px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
}
@media (max-width: 480px) {
  .fw-event-card { flex-wrap: wrap !important; gap: 10px !important; }
  .fw-event-date { min-width: 48px !important; }
  .fw-event-day { font-size: 1.5rem !important; }
}


.fw-single-update-cta {
  background: #f7f3ee;
  border-top: 1px solid #ede5d8;
  padding: 40px 0;
  margin-top: 60px;
}
.fw-single-update-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.fw-single-update-inner h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: #2a2520;
  margin: 0 0 6px;
}
.fw-single-update-inner p {
  font-size: 0.88rem;
  color: #6b5f54;
  margin: 0;
}

/* Änderungsantrag Formular */
.fw-aenderung-wrap {
  max-width: 600px;
}
.fw-aenderung-wrap label {
  color: #2a2520 !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 4px !important;
}
.fw-aenderung-wrap input,
.fw-aenderung-wrap textarea {
  background: #fff !important;
  color: #2a2520 !important;
  border: 1px solid #d6c9b4 !important;
}
.fw-aenderung-wrap input::placeholder,
.fw-aenderung-wrap textarea::placeholder {
  color: #9c8e82 !important;
}
.fw-btn-outline-white {
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.6) !important;
}
.fw-btn-outline-white:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: #fff !important;
}


.fw-event-single__header {
  background-color: #3a5c47;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 40px 24px 32px;
}
.fw-event-single__header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(30,24,18,.2) 0%,
    rgba(30,24,18,.55) 40%,
    rgba(30,24,18,.82) 100%
  );
}
.fw-event-single__header > * { position: relative; z-index: 1; }

/* Echtes hochgeladenes Bild: ganz zeigen (contain) auf CI-Dunkelbraun statt zuschneiden */
.fw-event-single__header.fw-hero--contain {
  background-color: #3A2E22;
  background-size: contain;
}

/* ═══════════════════════════════════════════════════════
   DUNKLE SEKTIONEN: KONTEXT SETZT DEN WERT (v4.51)
   Keine Gegenregel, keine hoehere Spezifitaet. Das Child
   definiert die Regel einmal und liest --fw-em-color, hier
   wird nur der Wert fuer dunklen Grund gesetzt.
   Voraussetzung: Child style.css Zeile 113 auf
   color: var(--fw-em-color, var(--color-green)) umgestellt.
   Ohne den Child-Teil aendert sich nichts, nichts bricht.
   ═══════════════════════════════════════════════════════ */
.fw-search-strip {
  --fw-em-color: #fff;
  --fw-search-label-color: rgba(255,255,255,0.92);
}
