/* Eventserver-Karten (Eventserver 1 → 2 → 3) über den Kategorien — _eventserver_karte.js / _eventserver_top.js. */
.es { margin: 0 0 24px; min-width: 0; }
.es__raster { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.es-k {
  position: relative; min-width: 0; background: var(--card-strong); overflow: hidden;
}
.es-k--aus { opacity: 0.8; }
.es-k__name {
  margin: 0; padding: 12px 16px 10px; font-family: var(--font-display); font-size: 15px;
  letter-spacing: 0.12em; text-transform: uppercase;
}
/* Banner 2:1; der Platzhalter bleibt sichtbar, wenn das Bild fehlt (onerror blendet es aus). */
.es-banner { position: relative; aspect-ratio: 2 / 1; overflow: hidden; background: var(--bg-1); }
.es-banner__platz {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #1a2130 0%, #121722 100%);
}
.es-banner__platz b {
  font-family: var(--font-display); font-size: clamp(56px, 9vw, 96px); line-height: 1; color: var(--text);
}
.es-banner__platz span { font-size: 14px; letter-spacing: 0.4em; color: var(--text-dim); font-weight: 700; }
a.es-banner { display: block; text-decoration: none; cursor: var(--cur-pointer); }
.es-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.es-k__body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.es-k__event { font-size: 19px; font-weight: 800; color: var(--text); overflow-wrap: anywhere; }
.es-k--aus .es-k__event { color: var(--text-dim); }
.es-k__autos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 14px; color: var(--text); min-width: 0; }
.es-k__auto { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; overflow-wrap: anywhere; }
.es-k__auto .mfr-tile { width: 24px; height: 24px; }
.es-k__autos b { color: var(--text); }
.es-k__join {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 8px 20px;
  font-size: 14px; text-decoration: none; cursor: var(--cur-pointer);
}
.es-top__knopf { padding: 4px 14px; font: inherit; font-size: 13px; border: 0; cursor: var(--cur-pointer); }
.es-k__zahlen { display: flex; gap: 6px 18px; flex-wrap: wrap; font-size: 14px; color: var(--text-dim); }
.es-k__zahlen b { color: var(--text); font-size: 17px; }
.es-k__on b { color: var(--sector-ok); }
.es-k__leer { margin: 0; font-size: 13px; color: var(--text-faint); }
.es-k__top { margin-top: 6px; min-width: 0; }
.es-top__wrap { overflow: hidden; }
.es-top__tab { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.es-top__tab th { text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-faint); padding: 4px 4px; }
.es-top__tab td { padding: 5px 4px; border-top: 1px solid var(--line); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.es-top__tab th:nth-child(1) { width: 30px; }
.es-top__tab th:nth-child(3) { width: 70px; }
.es-top__z { color: var(--text); font-weight: 700; }
.es-top__a { color: var(--text-dim); }
.es-top__mehr { display: none; }
.es-top--offen .es-top__mehr { display: table-row; }
.es-top__fuss { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.es-top__link { font-weight: 700; font-size: 14px; text-decoration: none; cursor: var(--cur-pointer); margin-left: auto; padding: 5px 18px 5px 14px; }
@media (max-width: 860px) {
  .es__raster { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .es-top__tab th:nth-child(3) { width: 64px; }
  .es-k__body { padding: 12px; }
}
