/* MW Anlässe: Liste + Details */
.mw-ev,.mw-evd{
  --mw-ev-accent:#0b4a8f;--mw-ev-accent-soft:#eaf2fb;--mw-ev-heading:#1d2733;--mw-ev-text:#4a5563;--mw-ev-muted:#6b7480;
  --mw-ev-line:#e3e8ef;--mw-ev-card:#fff;--mw-ev-soft:#f4f6f9;--mw-ev-radius:14px;--mw-ev-cols:3;
  color:var(--mw-ev-text);
}
.mw-ev *,.mw-evd *{box-sizing:border-box}

/* ---------- Kopf ---------- */
.mw-ev .mw-ev__head{max-width:680px;margin:0 0 28px}
.mw-ev .mw-ev__eyebrow{margin:0 0 10px!important;color:var(--mw-ev-accent);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.mw-ev .mw-ev__title{margin:0!important;color:var(--mw-ev-heading)!important;font-size:clamp(26px,3vw,36px);font-weight:500;line-height:1.2;letter-spacing:-.4px}
.mw-ev .mw-ev__text{margin:12px 0 0!important;font-size:15px;line-height:1.65}

/* ---------- Liste ---------- */
.mw-ev ul.mw-ev__list{display:flex!important;flex-direction:column;gap:14px;margin:0!important;padding:0!important;list-style:none!important}
.mw-ev--grid ul.mw-ev__list:not(.mw-ev__list--compact){display:grid!important;grid-template-columns:repeat(var(--mw-ev-cols),minmax(0,1fr));gap:18px}
.mw-ev li.mw-ev__item{margin:0!important;padding:0!important;list-style:none!important;min-width:0}
.mw-ev li.mw-ev__item::before,.mw-ev li.mw-ev__item::marker{content:none!important}

.mw-ev .mw-ev__card{
  position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;align-items:start;height:100%;
  padding:18px;border:1px solid var(--mw-ev-line);border-radius:var(--mw-ev-radius);background:var(--mw-ev-card);
  box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;
}
.mw-ev .mw-ev__card:hover{border-color:#d3dbe6;box-shadow:0 10px 26px rgba(16,24,40,.08);transform:translateY(-2px)}
.mw-ev--list .mw-ev__card.has-image{grid-template-columns:76px 180px minmax(0,1fr)}

/* Datums-Kachel */
.mw-ev__date{
  display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;min-height:86px;padding:10px 6px;
  border-radius:calc(var(--mw-ev-radius) * .8);background:var(--mw-ev-accent);color:#fff;text-align:center;line-height:1;
}
.mw-ev__day{font-size:28px;font-weight:700;letter-spacing:-.5px}
.mw-ev__day{font-variant-numeric:tabular-nums;white-space:nowrap}
.mw-ev__sep{margin:0 1px;font-weight:500;opacity:.7}
.mw-ev__date--range .mw-ev__day{font-size:19px;letter-spacing:-.3px}
.mw-ev__date--range .mw-ev__month{white-space:nowrap;letter-spacing:.02em}
.mw-ev__month{margin-top:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.mw-ev__year{margin-top:4px;font-size:11.5px;opacity:.75}
.mw-ev .mw-ev__card--past .mw-ev__date{background:var(--mw-ev-soft);color:var(--mw-ev-muted)}

.mw-ev .mw-ev__media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:calc(var(--mw-ev-radius) * .7);background:var(--mw-ev-soft)}
.mw-ev .mw-ev__media img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;margin:0!important;border-radius:0!important}

.mw-ev .mw-ev__body{min-width:0}
.mw-ev .mw-ev__meta,.mw-evd .mw-evd__dateinfo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.mw-ev .mw-ev__meta time{color:var(--mw-ev-muted);font-size:13.5px;font-weight:500}
.mw-ev__status{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--mw-ev-accent-soft);color:var(--mw-ev-accent);font-size:12px;font-weight:600;line-height:1.4}
.mw-ev__status--running{background:#e7f5ec;color:#2e7d4f}
.mw-ev .mw-ev__name{margin:6px 0 0!important;padding:0!important;font-size:18px!important;font-weight:600!important;line-height:1.35!important;color:var(--mw-ev-heading)!important;text-transform:none!important}
.mw-ev .mw-ev__name a{color:inherit!important;text-decoration:none!important}
.mw-ev .mw-ev__name a::after{content:"";position:absolute;inset:0;border-radius:var(--mw-ev-radius)} /* ganze Karte klickbar */
.mw-ev .mw-ev__card:hover .mw-ev__name{color:var(--mw-ev-accent)!important}
.mw-ev .mw-ev__excerpt{margin:8px 0 0!important;font-size:14.5px;line-height:1.6;color:var(--mw-ev-text)}
.mw-ev .mw-ev__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px}
.mw-ev a.mw-ev__more,.mw-ev a.mw-ev__ics{
  position:relative;z-index:1;display:inline-flex!important;align-items:center;gap:6px;
  color:var(--mw-ev-accent)!important;font-size:14px;font-weight:600;text-decoration:none!important;
}
.mw-ev a.mw-ev__ics{color:var(--mw-ev-muted)!important;font-weight:500}
.mw-ev a.mw-ev__more svg,.mw-ev a.mw-ev__ics svg{width:16px;height:16px;flex:0 0 16px}
.mw-ev a.mw-ev__more svg{transition:transform .2s ease}
.mw-ev .mw-ev__card:hover a.mw-ev__more svg{transform:translateX(3px)}
.mw-ev a.mw-ev__ics:hover{color:var(--mw-ev-accent)!important}

/* Raster-Variante */
.mw-ev--grid .mw-ev__list:not(.mw-ev__list--compact) .mw-ev__card{grid-template-columns:76px minmax(0,1fr)}
.mw-ev--grid .mw-ev__list:not(.mw-ev__list--compact) .mw-ev__card.has-image{grid-template-columns:1fr;grid-template-rows:auto auto}
.mw-ev--grid .mw-ev__card.has-image .mw-ev__media{grid-row:1;aspect-ratio:16/10}
.mw-ev--grid .mw-ev__card.has-image .mw-ev__date{position:absolute;top:28px;left:28px;z-index:1;box-shadow:0 6px 16px rgba(0,0,0,.18)}

/* Leer */
.mw-ev__empty{display:flex;align-items:center;gap:16px;padding:22px;border:1px dashed #cfd8e3;border-radius:var(--mw-ev-radius,14px);background:var(--mw-ev-card,#fff)}
.mw-ev__empty p{margin:0;font-size:15px;line-height:1.55;color:var(--mw-ev-text,#4a5563)}
.mw-ev__empty-icon{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--mw-ev-accent-soft,#eaf2fb);color:var(--mw-ev-accent,#0b4a8f);display:flex;align-items:center;justify-content:center}
.mw-ev__empty-icon svg{width:22px;height:22px}

/* Rückblick (kompakt) */
.mw-ev .mw-ev__past{margin-top:34px}
.mw-ev .mw-ev__past-title{margin:0 0 12px!important;font-size:15px!important;font-weight:600!important;color:var(--mw-ev-muted)!important;text-transform:uppercase;letter-spacing:.06em}
.mw-ev .mw-ev__list--compact{gap:0!important;border:1px solid var(--mw-ev-line);border-radius:var(--mw-ev-radius);background:var(--mw-ev-card);overflow:hidden}
.mw-ev .mw-ev__list--compact .mw-ev__item + .mw-ev__item{border-top:1px solid var(--mw-ev-line)}
.mw-ev .mw-ev__card--compact{grid-template-columns:74px minmax(0,1fr)!important;gap:14px;align-items:center;padding:12px 16px;border:0;border-radius:0;box-shadow:none}
.mw-ev .mw-ev__card--compact:hover{transform:none;box-shadow:none;background:#fafbfc}
.mw-ev .mw-ev__card--compact .mw-ev__date{width:74px;min-height:56px;padding:6px 4px}
.mw-ev .mw-ev__card--compact .mw-ev__day{font-size:19px}
.mw-ev .mw-ev__card--compact .mw-ev__date--range .mw-ev__day{font-size:15px}
.mw-ev .mw-ev__card--compact .mw-ev__date--range .mw-ev__month{font-size:9.5px}
.mw-ev .mw-ev__card--compact .mw-ev__month{margin-top:3px;font-size:10.5px}
.mw-ev .mw-ev__card--compact .mw-ev__year{display:none}
.mw-ev .mw-ev__card--compact .mw-ev__name{margin-top:2px!important;font-size:15px!important}
.mw-ev .mw-ev__card--compact .mw-ev__name a::after{border-radius:0}

/* ---------- Details ---------- */
.mw-evd .mw-evd__title{margin:0 0 20px!important;color:var(--mw-ev-heading)!important;font-size:clamp(28px,3.4vw,40px);font-weight:500;line-height:1.2;letter-spacing:-.4px}
.mw-evd .mw-evd__datebox{
  display:flex;align-items:center;gap:18px;margin:0 0 24px;padding:16px;
  border:1px solid var(--mw-ev-line);border-radius:var(--mw-ev-radius);background:var(--mw-ev-card);
}
.mw-evd--past .mw-ev__date{background:var(--mw-ev-soft);color:var(--mw-ev-muted)}
.mw-evd .mw-evd__dateinfo{flex:1 1 auto;min-width:0}
.mw-evd .mw-evd__label{display:flex;align-items:center;gap:6px;width:100%;color:var(--mw-ev-muted);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.mw-evd .mw-evd__label svg{width:15px;height:15px}
.mw-evd .mw-evd__range{color:var(--mw-ev-heading);font-size:17px;font-weight:600;line-height:1.35}
.mw-evd .mw-evd__note{width:100%;color:var(--mw-ev-muted);font-size:13.5px}
.mw-evd a.mw-evd__ics{
  flex:0 0 auto;display:inline-flex!important;align-items:center;gap:8px;padding:10px 16px!important;
  border:1.5px solid var(--mw-ev-accent)!important;border-radius:10px!important;background:transparent!important;
  color:var(--mw-ev-accent)!important;font-size:14px;font-weight:600;text-decoration:none!important;transition:background-color .15s ease,color .15s ease;
}
.mw-evd a.mw-evd__ics:hover{background:var(--mw-ev-accent)!important;color:#fff!important}
.mw-evd a.mw-evd__ics svg{width:17px;height:17px}

.mw-evd .mw-evd__desc{font-size:16px;line-height:1.75;color:var(--mw-ev-text)}
.mw-evd .mw-evd__desc > *:first-child{margin-top:0}
.mw-evd .mw-evd__desc > *:last-child{margin-bottom:0}
.mw-evd .mw-evd__desc p{margin:0 0 14px}
.mw-evd .mw-evd__desc h2,.mw-evd .mw-evd__desc h3{margin:22px 0 8px;color:var(--mw-ev-heading);font-size:20px;font-weight:600;line-height:1.3}
.mw-evd .mw-evd__desc strong{color:var(--mw-ev-heading)}
.mw-evd .mw-evd__desc a{color:var(--mw-ev-accent);text-decoration:underline;text-underline-offset:2px}
.mw-evd .mw-evd__desc img{max-width:100%;height:auto;border-radius:12px}
.mw-evd a.mw-evd__back{display:inline-flex!important;align-items:center;gap:8px;margin-top:28px;color:var(--mw-ev-accent)!important;font-size:14.5px;font-weight:600;text-decoration:none!important}
.mw-evd a.mw-evd__back svg{width:16px;height:16px;transition:transform .2s ease}
.mw-evd a.mw-evd__back:hover svg{transform:translateX(-3px)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .mw-ev--list .mw-ev__card.has-image{grid-template-columns:76px minmax(0,1fr)}
  .mw-ev--list .mw-ev__card.has-image .mw-ev__media{display:none}
}
@media (max-width:600px){
  .mw-ev .mw-ev__card{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:14px}
  .mw-ev__date{width:62px;min-height:72px}
  .mw-ev__day{font-size:23px}
  .mw-ev__date--range .mw-ev__day{font-size:17px}
  .mw-ev .mw-ev__name{font-size:16px!important}
  .mw-ev .mw-ev__card:hover{transform:none}
  .mw-ev .mw-ev__excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .mw-evd .mw-evd__datebox{flex-wrap:wrap}
  .mw-evd a.mw-evd__ics{width:100%;justify-content:center}
}
