
/* === Events Popover Theme (aligned with "menschen" modal) === */
:root{
  --gold: #bfa25a;
  --gold-ink: #f4ecd0;
  --line: rgba(255,255,255,.2);
}
/* Backdrop */
.event-popover{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; padding:18px; z-index:1000; background:rgba(0,0,0,.55); }
.event-popover.open{ display:flex; }
/* Panel */
.event-popover .event-panel{
  background: rgba(10,20,15,.92);
  color: var(--gold-ink);
  max-width: min(720px, 92vw);
  width: auto;
  border-radius: 14px;
  box-shadow: 0 20px 40px rgba(0,0,0,.35);
  padding: 18px 18px 16px;
  position: relative;
  overflow: auto;
  max-height: 82vh;
}
/* Close button */
.event-popover .event-close{
  position:absolute; right:8px; top:8px; border:0; background:transparent; color:var(--gold-ink); font-size:1.4rem; cursor:pointer;
}
/* Rich text */
.event-popover .muted{ opacity:.82; }
.event-popover .rich p{ margin:0 0 .6rem; line-height:1.55; }
.event-popover .rich ul, .event-popover .rich ol{ margin:.6rem 0 .6rem 1.1rem; }
.event-popover .rich li{ margin:.2rem 0; }
.event-popover .rich em{ font-style:italic; }
.event-popover .rich strong{ font-weight:700; }
.event-popover .rich hr{ border:0; border-top:1px solid var(--line); margin:.8rem 0; opacity:.6; }
.event-popover .rich a{ text-decoration:underline; }
.event-popover .rich img{ max-width:100%; height:auto; border-radius:10px; display:block; margin:.4rem 0; }
/* Controls */
.events-controls{ display:flex; gap:10px; align-items:center; margin:6px 0 16px; flex-wrap:wrap; }
.events-controls .seg{ display:flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.events-controls .seg button{ appearance:none; border:0; padding:8px 12px; background:rgba(255,255,255,.06); color:inherit; cursor:pointer; font-weight:700; }
.events-controls .seg button + button{ border-left:1px solid var(--line); }
.events-controls .seg button.active{ background:var(--gold); color:#fff; }
/* Cards grid */
.cards{ display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
@media (max-width:1200px){ .cards{ grid-template-columns:repeat(8,1fr);} }
@media (max-width:800px){ .cards{ grid-template-columns:repeat(4,1fr);} }
@media (max-width:520px){ .cards{ grid-template-columns:repeat(2,1fr);} }
.event-card{ grid-column:span 4; background:rgba(10,20,15,.82); border:1px solid rgba(255,255,255,.12); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 10px 24px rgba(0,0,0,.24); }
@media (max-width:800px){ .event-card{ grid-column:span 4; } }
@media (max-width:520px){ .event-card{ grid-column:span 2; } }
.event-card .thumb{ width:100%; aspect-ratio:16/9; background:rgba(255,255,255,.04); object-fit:cover; display:block; }
.event-card .body{ padding:12px 14px 14px; display:grid; grid-template-areas:"badge badge" "title title" "meta meta" "text text" "cta cta"; gap:6px; }
.event-card .title{ grid-area:title; font-weight:700; font-size:1.05rem; line-height:1.25; margin:0; }
.event-card .meta{ grid-area:meta; opacity:.8; font-size:.92rem; }
.event-card .text{ grid-area:text; opacity:.95; line-height:1.45; max-height:3.9em; overflow:hidden; }
.event-card .cta{ grid-area:cta; display:flex; gap:8px; margin-top:6px; }
.badge{ grid-area:badge; width:max-content; display:inline-flex; align-items:center; gap:8px; padding:4px 10px; border-radius:999px; font-weight:600; font-size:.8rem; letter-spacing:.2px; }
.badge--eigene{ background:rgba(191,162,90,.18); border:1px solid rgba(191,162,90,.55); }
.badge--partner{ background:rgba(90,140,191,.18); border:1px solid rgba(90,140,191,.55); }
/* Buttons */
.btn{ background:var(--gold); color:#fff; border:0; padding:8px 12px; border-radius:10px; cursor:pointer; box-shadow:0 6px 14px rgba(0,0,0,.18); }
.btn:hover{ opacity:.95; }
.muted{ opacity:.8; font-size:.95rem; }
