/* =====================================================================
   Dumeklemmer Mitglieder – Frontend-Karten (warmes Design)
   Selbst-enthaltene Stile, mit .dume- Präfix gegen Theme-Konflikte.
   Erbt die Schriftart der Seite (keine externen Google Fonts).
   ===================================================================== */
.dume-scope {
  --dume-red: #CE1126;
  --dume-honey: #E39A2C;
  --dume-ink: #33291E;
  --dume-cocoa: #574838;
  --dume-stone: #8B7C6A;
  --dume-cream: #F5ECDC;
  --dume-line: #EADFCB;
  font-family: inherit;
}

/* Raster */
.dume-m-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
}
.dume-m-grid.cols-1 { grid-template-columns: 1fr; }
.dume-m-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.dume-m-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.dume-m-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.dume-m-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }
.dume-m-grid.cols-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 900px) {
  .dume-m-grid, .dume-m-grid.cols-3, .dume-m-grid.cols-4,
  .dume-m-grid.cols-5, .dume-m-grid.cols-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .dume-m-grid, .dume-m-grid[class*="cols-"] { grid-template-columns: 1fr; }
}

/* Karte */
.dume-m-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #fff;
  border: 1px solid var(--dume-line);
  border-radius: 16px;
  padding: 22px 20px 24px;
  box-shadow: 0 4px 18px rgba(51, 41, 30, .05);
  transition: transform .15s ease, box-shadow .15s ease;
}
.dume-m-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(51, 41, 30, .10);
}

/* Foto */
.dume-m-photo {
  width: 116px;
  height: 116px;
  margin-bottom: 14px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--dume-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--dume-line);
}
.dume-m-photo .dume-m-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dume-m-initials {
  font-size: 2rem;
  font-weight: 700;
  color: var(--dume-honey);
}

/* Text */
.dume-m-info { width: 100%; }
.dume-m-name {
  margin: 0 0 4px;
  color: var(--dume-ink);
  font-size: 1.18rem;
  line-height: 1.2;
}
.dume-m-beruf {
  margin: 0 0 2px;
  color: var(--dume-red);
  font-weight: 700;
  font-size: .95rem;
}
.dume-m-firma {
  margin: 0 0 4px;
  color: var(--dume-stone);
  font-size: .9rem;
}

/* Kontakt */
.dume-m-contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--dume-line);
}
.dume-m-contact a {
  color: var(--dume-cocoa);
  font-size: .9rem;
  text-decoration: none;
  word-break: break-word;
}
.dume-m-contact a:hover { color: var(--dume-red); text-decoration: underline; }

/* Leerzustand */
.dume-m-empty {
  color: var(--dume-cocoa);
  font-style: italic;
  padding: 8px 0;
}
