/* =====================================================================
   Feuerwehr-Intern – Plugin-Widget-Stylesheet (Nachbildung)
   Originale CSS-Klassen des Plugins „Feuerwehr Intern" (Elementor-Widgets):
   Fahrzeuge (fw-*), Mitglieder/Einsätze (fi-*), Spenden (fw-donation-*),
   Jugend (fi-youth-*), Kinder (fi-kids-*).
   Akzentfarbe an das Demo-Design angeglichen (#B22222); Kinderbereich Orange.
   ===================================================================== */

:root{
  --fi-primary:#B22222;            /* Plugin-Original: #C0392B – hier an Site-Rot angeglichen */
  --fi-primary-dark:#8e1b1b;       /* Plugin-Original: #962B1F */
  --fi-ink:#1F2937;
  --fi-muted:#6B7280;
  --fi-border:#E5E7EB;
  --fi-bg:#FFFFFF;
  --fi-soft:#F9FAFB;
  --fi-radius:8px;
}

/* ---------- Seitencontainer für Plugin-Widgets ---------- */
.fi-page{ max-width:1200px; margin:0 auto; padding:56px 24px 80px; }
.fi-block{ margin-bottom:40px; }
.fi-block-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.fi-block-title{
  font-family:"Staatliches",sans-serif; text-transform:uppercase; letter-spacing:.03em;
  font-size:1.9rem; color:var(--fi-ink); margin:0; line-height:1;
}
.fi-block-sub{ color:var(--fi-muted); margin:.4rem 0 0; font-size:.95rem; }

/* ====================================================================
   GENERISCHE BAUSTEINE (fw-* / fi-*)
   ==================================================================== */
.fw-card{
  background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius);
  padding:16px; box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.fi-card{
  background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius);
  padding:14px;
}
.fi-muted{ color:var(--fi-muted); font-size:13px; }

.fw-btn,.fi-button{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  padding:8px 16px; min-height:40px; border-radius:6px; border:1px solid transparent;
  font-weight:600; font-size:14px; line-height:1; text-decoration:none; cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.fw-btn--primary,.fi-button{ background:var(--fi-primary); color:#fff; }
.fw-btn--primary:hover,.fi-button:hover{ background:var(--fi-primary-dark); color:#fff; }
.fw-btn--secondary{ background:#fff; border-color:var(--fi-border); color:var(--fi-ink); }
.fw-btn--secondary:hover{ background:var(--fi-soft); }
.fw-btn--ghost{ background:transparent; color:var(--fi-muted); }
.fw-btn--ghost:hover{ background:#f3f4f6; color:var(--fi-ink); }
.fi-button-small{ min-height:34px; padding:6px 12px; font-size:13px; }

.fw-input,.fw-select,.fi-select,.fi-search-field{
  padding:8px 12px; border:1px solid var(--fi-border); border-radius:6px;
  font-size:14px; background:#fff; color:var(--fi-ink); min-height:44px;
}
.fw-input:focus,.fw-select:focus,.fi-select:focus,.fi-search-field:focus{
  outline:none; border-color:var(--fi-primary); box-shadow:0 0 0 3px rgba(178,34,34,.12);
}

.fw-badge{ display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
.fw-badge--warning{ background:#FEF3C7; color:#78350F; }
.fw-badge--muted{ background:#E5E7EB; color:#374151; }
.fw-badge--success{ background:#D1FAE5; color:#065F46; }

.fi-filter-bar{
  display:flex; flex-wrap:wrap; gap:8px; padding:12px 14px; margin-bottom:18px;
  background:var(--fi-soft); border:1px solid var(--fi-border); border-radius:var(--fi-radius);
  align-items:center;
}
.fi-filter-bar .fi-select,.fi-filter-bar .fi-search-field{ flex:0 1 200px; }

/* ====================================================================
   FAHRZEUGE  (Fuhrpark-Archiv)
   ==================================================================== */
.fi-vehicle-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.fi-vehicle-card{ display:flex; flex-direction:column; gap:10px; }
.fi-vehicle-card__head{ display:flex; justify-content:space-between; align-items:flex-start; gap:8px; }
.fi-vehicle-card__name{ font-weight:700; color:var(--fi-ink); text-decoration:none; }
.fi-vehicle-card__name:hover{ color:var(--fi-primary); }
.fi-vehicle-card__radio{ font-size:13px; color:var(--fi-muted); display:block; margin-top:2px; }
.fi-status-badge{
  flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:4px 10px;
  border-radius:999px; color:#fff; font-size:12px; font-weight:600;
}
.fi-status-badge .dot{ width:8px; height:8px; border-radius:50%; background:#fff; opacity:.9; }
.fi-vehicle-card__meta{ font-size:13px; color:#374151; display:flex; flex-direction:column; gap:3px; }
.fi-vehicle-card__meta span{ display:inline-flex; gap:.45rem; }
.fi-vehicle-card__badges{ display:flex; flex-wrap:wrap; gap:6px; }
.fi-vehicle-card__actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.fi-vehicle-card__actions .fw-btn{ flex:1 1 auto; }

/* ====================================================================
   MITGLIEDER  (Übersicht: Cards / Premium / Sections)
   ==================================================================== */
.fi-members-overview{ --fi-mo-cols:4; --fi-mo-photo-size:140px; --fi-mo-gap:16px; }
.fi-members-grid{ display:grid; grid-template-columns:repeat(var(--fi-mo-cols),1fr); gap:var(--fi-mo-gap); }
.fi-member-card{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px;
  padding:14px; background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius);
}
.fi-member-photo{
  width:var(--fi-mo-photo-size); height:var(--fi-mo-photo-size); object-fit:cover;
  border:1px solid var(--fi-border); background:#f3f4f6;
}
.fi-member-photo-square{ border-radius:8px; }
.fi-member-photo-round{ border-radius:50%; }
.fi-member-photo-placeholder{
  display:inline-flex; align-items:center; justify-content:center;
  width:var(--fi-mo-photo-size); height:var(--fi-mo-photo-size);
  background:var(--fi-primary); color:#fff; font-weight:700; font-size:28px; border-radius:8px; letter-spacing:.05em;
}
.fi-member-name{ font-weight:600; margin-top:8px; color:var(--fi-ink); }
.fi-member-rank{ color:var(--fi-muted); font-size:13px; margin-top:2px; }

/* Sections-Design */
.fi-member-section{ margin-bottom:34px; }
.fi-member-section-header h3{
  font-family:"Staatliches",sans-serif; text-transform:uppercase; letter-spacing:.04em;
  font-size:1.4rem; color:var(--fi-ink); margin:0 0 14px; padding-bottom:8px;
  border-bottom:2px solid var(--fi-border); display:flex; align-items:center; gap:.6rem;
}
.fi-member-section-header h3::before{ content:""; width:26px; height:3px; background:var(--fi-primary); }
.fi-member-section-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.fi-member-section-card{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px;
  padding:14px; background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius);
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}

/* Premium-Design (featured/leadership) */
.fi-premium-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; }
.fi-premium-card{
  position:relative; overflow:hidden; background:#fff; border:1px solid var(--fi-border);
  border-radius:12px; padding-bottom:22px; text-align:center;
  transition:box-shadow .2s, transform .2s; box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.fi-premium-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.12); transform:translateY(-2px); }
.fi-premium-image-wrap{ position:relative; overflow:hidden; aspect-ratio:4/5; background:#f3f4f6; }
.fi-premium-image{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.fi-premium-card:hover .fi-premium-image{ transform:scale(1.05); }
.fi-premium-placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:var(--fi-primary); color:#fff; font-family:"Staatliches",sans-serif; font-size:3rem; letter-spacing:.05em;
}
.fi-premium-badge{
  position:absolute; left:50%; bottom:8px; transform:translateX(-50%);
  background:var(--fi-primary); color:#fff; padding:4px 12px; border-radius:999px;
  font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.fi-premium-name{ font-weight:600; margin-top:16px; color:var(--fi-ink); }
.fi-premium-rank{ color:var(--fi-muted); font-size:13px; margin-top:2px; }

/* Verzeichnis-Liste */
.fi-member-list.fi-list-cards{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.fi-member-list .fi-member-card{ align-items:stretch; text-align:left; }
.fi-member-card h3{ margin:0 0 4px; font-size:1.05rem; color:var(--fi-ink); }
.fi-unit-badge{ display:inline-block; padding:2px 10px; background:var(--fi-primary); color:#fff; border-radius:999px; font-size:12px; }
.fi-meta-list{ list-style:none; margin:8px 0 0; padding:0; }
.fi-meta-list li{ padding:8px 0; border-bottom:1px solid var(--fi-border); font-size:13px; }
.fi-meta-list li:last-child{ border-bottom:none; }

/* ====================================================================
   EINSÄTZE (Incidents + Statistik)
   ==================================================================== */
.fi-incidents-grid{ list-style:none; margin:0; padding:0; }
.fi-incidents-grid.fi-list-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.fi-incident-card{
  display:flex; flex-direction:column; gap:8px; padding:0; overflow:hidden;
  background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius);
  transition:transform .2s, box-shadow .2s;
}
.fi-incident-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px -20px rgba(0,0,0,.4); }
.fi-incident-image{ display:block; aspect-ratio:16/10; overflow:hidden; }
.fi-incident-image img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.fi-incident-card:hover .fi-incident-image img{ transform:scale(1.06); }
.fi-incident-body{ padding:6px 16px 16px; display:flex; flex-direction:column; gap:6px; }
.fi-incident-keyword{
  display:inline-block; align-self:flex-start; margin:0; padding:3px 9px;
  background:var(--fi-primary); color:#fff; border-radius:4px; font-size:11px;
  text-transform:uppercase; letter-spacing:.05em; font-weight:600;
}
.fi-incident-keyword.is-thl{ background:#1d4ed8; }
.fi-incident-keyword.is-rescue{ background:#059669; }
.fi-incident-body h3{ margin:0; font-size:1.2rem; color:var(--fi-ink); line-height:1.25; }
.fi-incident-body h3 a{ color:inherit; text-decoration:none; }
.fi-incident-body h3 a:hover{ color:var(--fi-primary); }
.fi-incident-meta{ margin:0; font-size:.85rem; }
.fi-incident-card p:not([class]){ margin:0; font-size:.92rem; color:#4b5563; }
.fi-incident-vehicles{ font-style:italic; margin:0; font-size:.85rem; }
.fi-incident-actions{ margin-top:6px; }

/* Statistik-Kacheln */
.fi-stat-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.fi-stat-card{
  display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center;
  padding:18px 12px; background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius);
}
.fi-stat-card strong{ font-family:"Staatliches",sans-serif; font-size:2.2rem; color:var(--fi-primary); line-height:1; }
.fi-stat-card span{ font-size:12px; color:var(--fi-muted); text-transform:uppercase; letter-spacing:.04em; }

/* Balkendiagramm */
.fi-bars{ display:flex; flex-direction:column; gap:8px; }
.fi-bar-row{ display:grid; grid-template-columns:54px 1fr 44px; align-items:center; gap:12px; }
.fi-bar-label{ font-size:12px; color:var(--fi-muted); text-transform:uppercase; }
.fi-bar-track{ display:block; background:#e5e7eb; border-radius:999px; height:14px; overflow:hidden; }
.fi-bar-fill{ display:block; height:100%; background:var(--fi-primary); border-radius:999px; }
.fi-bar-value{ font-size:12px; text-align:right; font-weight:700; color:var(--fi-ink); }

/* ====================================================================
   FÖRDERVEREIN / SPENDEN  (fw-donation-*)
   ==================================================================== */
.fw-donation{ display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:start; }
.fw-donation-form{ color:#111827; font-size:15px; line-height:1.5; }
.fw-donation-section{
  border:1px solid var(--fi-border); border-radius:12px; padding:16px 18px; margin:0 0 18px; background:#fff;
}
.fw-donation-section > legend{ font-weight:700; padding:0 6px; color:var(--fi-primary); }
.fw-donation-field{ margin:0 0 12px; }
.fw-donation-field > label{ display:block; font-size:13px; color:#374151; }
.fw-donation-field input,.fw-donation-field select,.fw-donation-field textarea{
  display:block; width:100%; box-sizing:border-box; margin-top:4px; padding:9px 11px;
  border:1px solid #D1D5DB; border-radius:8px; font-size:15px; background:#fff;
}
.fw-donation-field input:focus,.fw-donation-field select:focus{
  outline:none; border-color:var(--fi-primary); box-shadow:0 0 0 3px rgba(178,34,34,.12);
}
.fw-donation-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fw-donation-radio{ display:flex; flex-wrap:wrap; gap:14px; margin:0 0 12px; align-items:center; }
.fw-donation-radio label,.fw-donation-check{ display:flex; align-items:center; gap:8px; font-size:14px; cursor:pointer; }
.fw-donation-check{ margin:8px 0; }
.fw-donation-amounts__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.fw-chip{ background:#fff; border:1px solid #D1D5DB; border-radius:8px; padding:8px 14px; font-size:14px; cursor:pointer; font-weight:600; }
.fw-chip.is-active{ background:var(--fi-primary); color:#fff; border-color:var(--fi-primary); }
.fw-donation-actions{ margin-top:8px; }
.fw-donation-btn{
  display:inline-block; background:var(--fi-primary); color:#fff; border:none; border-radius:8px;
  padding:12px 22px; font-size:16px; font-weight:600; cursor:pointer;
}
.fw-donation-btn:hover{ background:var(--fi-primary-dark); }

.fw-donation-aside{ display:flex; flex-direction:column; gap:18px; }
.fw-donation-bankbox{ border:1px solid var(--fi-border); border-radius:12px; padding:16px 18px; background:var(--fi-soft); }
.fw-donation-bankbox h4{ margin:0 0 10px; font-weight:700; color:#111827; }
.fw-donation-bankbox table{ width:100%; border-collapse:collapse; }
.fw-donation-bankbox th{ text-align:left; color:#6B7280; font-weight:500; padding:5px 12px 5px 0; white-space:nowrap; vertical-align:top; width:42%; }
.fw-donation-bankbox td{ padding:5px 0; font-weight:600; color:#111827; }

/* Kampagnen */
.fw-donation-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; }
.fw-donation-card{ border:1px solid var(--fi-border); border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.fw-donation-card__img img{ display:block; width:100%; height:170px; object-fit:cover; }
.fw-donation-card__body{ padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
.fw-donation-card__title{ margin:0; font-size:18px; color:#111827; font-weight:600; }
.fw-donation-card__desc{ margin:0; color:var(--fi-muted); font-size:.92rem; }
.fw-donation-progress__bar{ height:12px; border-radius:7px; background:#E5E7EB; overflow:hidden; }
.fw-donation-progress__fill{ height:12px; background:var(--fi-primary); border-radius:7px; }
.fw-donation-progress__meta{ display:flex; flex-wrap:wrap; gap:8px; font-size:13px; margin-top:6px; }
.fw-donation-progress__raised{ font-weight:700; color:#111827; }
.fw-donation-progress__target{ color:#6B7280; }
.fw-donation-progress__pct{ margin-left:auto; color:var(--fi-primary); font-weight:600; }

/* Spenderliste */
.fw-donor-list{ list-style:none; margin:0; padding:0; }
.fw-donor-list__item{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:baseline; padding:10px 0; border-bottom:1px solid #F3F4F6; }
.fw-donor-list__name{ font-weight:600; color:#111827; }
.fw-donor-list__amount{ color:var(--fi-primary); font-weight:700; margin-left:auto; }
.fw-donor-list__date{ color:#9CA3AF; font-size:12px; }

/* Unterstützerwand */
.fw-supporter-wall{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; align-items:center; }
.fw-supporter-wall__item{ display:flex; align-items:center; justify-content:center; min-height:90px; padding:10px; border:1px solid var(--fi-border); border-radius:12px; background:#fff; text-align:center; color:var(--fi-muted); font-weight:600; }

/* ====================================================================
   JUGENDFEUERWEHR  (fi-youth-*)  – Rot
   ==================================================================== */
.fi-youth-area{ display:grid; grid-template-columns:230px 1fr; gap:18px; align-items:start; }
.fi-youth-menu{ background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius); padding:8px; }
.fi-youth-menu-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.fi-youth-menu-item a{ display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:6px; color:var(--fi-ink); text-decoration:none; font-size:15px; }
.fi-youth-menu-item a:hover{ background:var(--fi-soft); }
.fi-youth-menu-item-active a{ background:var(--fi-primary); color:#fff; }
.fi-youth-content{ background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius); padding:22px; }
.fi-youth-dashboard-header h2{ font-family:"Staatliches",sans-serif; text-transform:uppercase; letter-spacing:.03em; color:var(--fi-ink); margin:0 0 6px; }
.fi-youth-dashboard-intro{ color:var(--fi-muted); margin:0 0 18px; }
.fi-youth-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.fi-youth-card{ background:var(--fi-soft); border:1px solid var(--fi-border); border-radius:var(--fi-radius); padding:16px; }
.fi-youth-card h3{ margin:0 0 10px; font-size:1.05rem; color:var(--fi-ink); display:flex; align-items:center; gap:.5rem; }
.fi-youth-card ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.fi-youth-card li{ font-size:.9rem; color:#374151; display:flex; justify-content:space-between; gap:10px; border-bottom:1px dashed var(--fi-border); padding-bottom:8px; }
.fi-youth-card li:last-child{ border-bottom:none; padding-bottom:0; }
.fi-youth-card li .when{ color:var(--fi-primary); font-weight:600; white-space:nowrap; }
.fi-youth-gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.fi-youth-gallery-card{ background:#fff; border:1px solid var(--fi-border); border-radius:var(--fi-radius); overflow:hidden; transition:transform .12s, box-shadow .12s; }
.fi-youth-gallery-card:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.08); }
.fi-youth-gallery-card img{ width:100%; height:150px; object-fit:cover; }
.fi-youth-gallery-card-title{ margin:10px 12px 2px; font-size:.95rem; color:var(--fi-ink); }
.fi-youth-gallery-card-date{ margin:0 12px 12px; font-size:.8rem; color:var(--fi-muted); }

/* ====================================================================
   KINDERFEUERWEHR  (fi-kids-*)  – Orange, kindgerecht
   ==================================================================== */
.fi-kids-area{
  --fi-kids-primary:#f59e0b; --fi-kids-dark:#b45309; --fi-kids-border:#fde68a; --fi-kids-bg:#fffbeb; --fi-kids-radius:14px;
  display:grid; grid-template-columns:240px 1fr; gap:18px; align-items:start;
}
.fi-kids-menu{ background:#fff; border:2px solid var(--fi-kids-border); border-radius:var(--fi-kids-radius); padding:8px; box-shadow:0 2px 6px rgba(0,0,0,.04); }
.fi-kids-menu-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.fi-kids-menu-item a{ display:flex; align-items:center; gap:10px; padding:12px; border-radius:10px; color:var(--fi-ink); text-decoration:none; font-size:16px; font-weight:500; min-height:48px; }
.fi-kids-menu-item a:hover{ background:var(--fi-kids-bg); }
.fi-kids-menu-item-active a{ background:var(--fi-kids-primary); color:#fff; }
.fi-kids-content{ background:#fff; border:2px solid var(--fi-kids-border); border-radius:var(--fi-kids-radius); padding:22px; min-height:320px; box-shadow:0 2px 6px rgba(0,0,0,.04); }
.fi-kids-dashboard-header h2{ font-family:"Staatliches",sans-serif; text-transform:uppercase; color:var(--fi-kids-dark); margin:0 0 6px; }
.fi-kids-dashboard-intro{ color:#92400e; margin:0 0 18px; }
.fi-kids-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.fi-kids-tile{ background:var(--fi-kids-bg); border:2px solid var(--fi-kids-border); border-radius:var(--fi-kids-radius); padding:18px; color:var(--fi-ink); display:block; transition:transform .12s, box-shadow .12s; text-decoration:none; }
.fi-kids-tile:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(245,158,11,.16); }
.fi-kids-tile .ico{ font-size:30px; line-height:1; }
.fi-kids-tile h3{ margin:8px 0; font-size:18px; color:var(--fi-kids-dark); }
.fi-kids-tile-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.fi-kids-tile-list li{ font-size:.92rem; display:flex; justify-content:space-between; gap:10px; }
.fi-kids-tile-list .when{ color:var(--fi-kids-dark); font-weight:700; white-space:nowrap; }
.fi-kids-gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
.fi-kids-gallery-card{ background:#fff; border:2px solid var(--fi-kids-border); border-radius:var(--fi-kids-radius); overflow:hidden; transition:transform .12s; }
.fi-kids-gallery-card:hover{ transform:translateY(-2px); }
.fi-kids-gallery-card img{ display:block; width:100%; height:160px; object-fit:cover; }
.fi-kids-gallery-card-title{ margin:10px 12px 2px; font-size:1rem; color:var(--fi-kids-dark); }
.fi-kids-gallery-card-date{ margin:0 12px 12px; font-size:.82rem; color:#92400e; }

/* ====================================================================
   RESPONSIVE
   ==================================================================== */
@media (max-width:1000px){
  .fw-donation{ grid-template-columns:1fr; }
  .fi-members-overview{ --fi-mo-cols:3; }
}
@media (max-width:860px){
  .fi-youth-area{ grid-template-columns:1fr; }
  .fi-kids-area{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .fi-page{ padding:40px 18px 64px; }
  .fi-members-overview{ --fi-mo-cols:2; --fi-mo-photo-size:120px; }
  .fi-vehicle-grid,.fi-incidents-grid.fi-list-cards,.fw-donation-grid{ grid-template-columns:1fr; }
  .fw-donation-row{ grid-template-columns:1fr; }
}
@media (max-width:420px){
  .fi-members-overview{ --fi-mo-cols:1; }
}
