/* =========================
   Basis / Typo / Layout
   ========================= */
body { background:#f8f9fa; }
footer { font-size:.85rem; }
.navbar-brand i { color:#198754; }
.card-title { display:flex; align-items:center; gap:.5rem; }

/* Hero (Startseite optional) */
.hero {
  padding: 4rem 1rem;
  background: linear-gradient(135deg, #e8f5e9, #f8f9fa);
  border-radius: .5rem;
  text-align: center;
}

/* =========================
   Cards & Buttons
   ========================= */
.card { display:flex; flex-direction:column; transition: transform .12s ease, box-shadow .12s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.card-body { flex-grow:1; }
.btn { border-radius: 12px; }

/* =========================
   Bildbereich + Overlays
   ========================= */
.card-img-wrap { position: relative; overflow: hidden; }
.card-img-top {
  display:block; width:100%; height:160px; object-fit:cover;
}

/* Premium: nur Stern links oben */
.premium-icon {
  position:absolute; top:8px; left:8px; z-index:2;
  color:#ffc107; /* gold-gelb */
  font-size:1.2rem;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}

/* Status-Badge rechts oben (geöffnet/geschlossen/unbekannt) */
.status-icon {
  position:absolute; top:8px; right:8px; z-index:2;
  font-size:.75rem; font-weight:600;
  padding:4px 8px; border-radius:999px; color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.3);
}
.status-open    { background:#28a745; }  /* grün */
.status-closed  { background:#dc3545; }  /* rot */
.status-unknown { background:#6c757d; }  /* grau */

/* =========================
   Info-Grid (links/rechts)
   ========================= */
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.info-grid div { font-size:.95rem; }
.info-grid small { display:block; color:#6c757d; }
@media (max-width: 576px){ .info-grid { grid-template-columns:1fr; } }

/* =========================
   Service-/Themen-Badges
   ========================= */
.service-badges .badge {
  background:#f8f9fa;
  border:1px solid #e2e6ea;
  color:#212529;
  margin:2px 6px 0 0;
  font-weight:500;
}

/* =========================
   Suche / Filterzeile
   ========================= */
#filterRow .input-group-text { background:#fff; }
#filterRow .form-check { margin:0; }
#filterRow .form-check-label { margin-left:.35rem; }
#filterRow .form-control { height:42px; }

/* =========================
   Badges (Farbe leicht fetter)
   ========================= */
.badge.bg-success,
.badge.bg-secondary { font-weight:600; }

/* =========================
   Dark-Mode Feinheiten
   ========================= */
@media (prefers-color-scheme: dark) {
  .service-badges .badge { background:#1f2429; border-color:#2b3137; color:#e9ecef; }
}
