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

/* Raster (Sammel-Shortcode) */
.dume-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .dume-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .dume-grid { grid-template-columns: 1fr; } }

/* Einzelkarte (ein Shortcode pro Divi-Kasten), füllt die volle Breite */
.dume-single { display: block; }
.dume-single .dume-card { width: 100%; }

/* Reine Textausgabe (stil="text"): fügt sich in einen gestalteten Divi-Kasten ein,
   ohne eigenen Rahmen oder Datumsblock. */
.dume-text { display: block; }
.dume-text .dume-t-head {
  /* Typografie bewusst NICHT gesetzt: Größe, Gewicht, Farbe, Zeilenhöhe und
     Schriftart der Überschrift werden vollständig über die Divi-H4-Einstellungen
     des Moduls gesteuert. Hier bleibt nur der Abstand als Layout-Standard. */
  margin: 0 0 10px;
}
.dume-text .dume-t-role {
  margin: 0 0 12px; color: var(--dume-ink); font-weight: 800;
}
.dume-text .dume-t-role strong { font-weight: 800; }
.dume-text .dume-t-desc {
  margin: 0; color: var(--dume-cocoa); line-height: 1.6;
}
.dume-text--empty .dume-t-head { color: var(--dume-stone); }

.dume-card {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 20px;
  background: #fff;
  border: 1px solid var(--dume-line);
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 3px 10px rgba(87,72,56,.07);
}
.dume-card.is-next {
  box-shadow: 0 0 0 2px var(--dume-honey), 0 3px 10px rgba(87,72,56,.07);
  background: var(--dume-cream);
}
@media (max-width: 480px) { .dume-card { grid-template-columns: 1fr; } }

.dume-date {
  border-radius: 16px;
  background: var(--dume-cream);
  color: var(--dume-ink);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 6px;
  text-align: center;
}
.dume-card.is-next .dume-date { background: var(--dume-red); color: #fff; }
.dume-date .d { font-family: inherit; font-weight: 600; font-size: 2rem; line-height: 1; }
.dume-date .m { font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin-top: 6px; opacity: .85; }
.dume-date .wd { font-size: .72rem; margin-top: 2px; opacity: .7; }

.dume-body { display: flex; flex-direction: column; }
.dume-badges { margin-bottom: 10px; }
.dume-badge {
  display: inline-flex; align-items: center;
  font-size: .74rem; font-weight: 800; letter-spacing: .03em;
  padding: 6px 12px; border-radius: 999px;
}
.dume-badge.next { background: var(--dume-red); color: #fff; }
.dume-badge.soon { background: #fff; color: var(--dume-stone); box-shadow: inset 0 0 0 1px var(--dume-line); }
.dume-card.is-next .dume-badge.soon { background: rgba(255,255,255,.6); }

.dume-speaker { display: flex; align-items: center; gap: 13px; margin: 2px 0 10px; }
.dume-avatar {
  width: 48px; height: 48px; border-radius: 50%; flex: none;
  display: grid; place-items: center; color: #fff;
  font-family: inherit; font-weight: 600; font-size: 1.05rem;
  background: linear-gradient(135deg, var(--dume-red), var(--dume-ink));
}
.dume-speaker b { font-family: inherit; font-weight: 600; font-size: 1.08rem; color: var(--dume-ink); }
.dume-speaker span { display: block; font-size: .9rem; color: var(--dume-stone); font-weight: 600; }

.dume-topic { margin: 0 0 6px; color: var(--dume-ink); font-size: 1rem; }
.dume-desc { margin: 0; color: var(--dume-cocoa); font-size: .96rem; line-height: 1.6; }

.dume-empty {
  background: #FBEDD2; color: #574838; border-radius: 12px;
  padding: 16px 18px; font-weight: 600;
}

/* Platzhalter-Karte (noch kein Vortrag hinterlegt) */
.dume-card.dume-placeholder { border-style: dashed; background: #FCF8F1; box-shadow: none; }
.dume-card.dume-placeholder .dume-date { background: #EFE6D3; color: var(--dume-stone); }
.dume-card.dume-placeholder .dume-topic { color: var(--dume-stone); }
