/* ============================================================
   Entity Views – League Manager
   ============================================================ */

/* WRAPPER */
.lm-ev-wrap {
    max-width: 900px;
    margin: 0 auto;
    font-size: 14px;
}

/* KOPF */
.lm-ev-kopf {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 2px solid #ddd;
    padding-bottom: 12px;
    margin-bottom: 4px;
    gap: 10px;
    flex-wrap: wrap;
}

.lm-ev-kopf-titel h2 {
    margin: 0;
    font-size: 1.4em;
}

.lm-ev-kopf-sub {
    color: #666;
    display: block;
    font-size: 0.9em;
    margin-top: 2px;
}

.lm-ev-kopf-aktionen {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    flex-wrap: wrap;
}

/* BLOCKS */
.lm-ev-block {
    margin-top: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.lm-ev-block-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: #f5f5f5;
    border-radius: 4px 4px 0 0;
    cursor: pointer;
    user-select: none;
}

.lm-ev-block-header h3,
.lm-ev-block-header h4 {
    margin: 0;
    font-size: inherit;
}

.lm-ev-block-header h3 {
    font-size: 1.0em;
    font-weight: 600;
}

.lm-ev-block-header h4 {
    font-size: 0.9em;
    font-weight: 600;
}

.lm-ev-block-body {
    padding: 12px;
    overflow: hidden;
}

.lm-ev-block.lm-ev-collapsed .lm-ev-block-body {
    display: none;
}

.lm-ev-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    padding: 2px 6px;
    color: #555;
    flex-shrink: 0;
}

/* SUB-BLOCKS */
.lm-ev-block-sub {
    margin-top: 10px;
    border-color: #e0e0e0;
    font-size: 0.9em;
}

/* PROPS TABLE */
.lm-ev-props {
    border-collapse: collapse;
    width: 100%;
}

.lm-ev-props th,
.lm-ev-props td {
    padding: 5px 10px;
    border-bottom: 1px solid #eee;
    text-align: left;
    vertical-align: top;
}

.lm-ev-props th {
    width: 140px;
    color: #555;
    font-weight: 600;
    white-space: nowrap;
}

/* EMPTY STATE */
.lm-ev-leer {
    color: #888;
    font-style: italic;
    margin: 6px 0;
}

/* VEREIN LOGO */
.lm-ev-verein-logo {
    height: 24px;
    width: auto;
    vertical-align: middle;
    margin-left: 6px;
}

/* PHOTOS – feste Höhe 300px, Originalskalierung beibehalten */
.lm-ev-spielort-foto,
.lm-ev-mannschaft-foto {
    display: block;
    height: 300px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    border-radius: 4px;
    margin: 0 auto;
}

/* MANNSCHAFT LISTE (Liga-View) */
.lm-ev-mannschaft-liste {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

.lm-ev-mannschaft-card {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 10px;
    background: #fafafa;
}

.lm-ev-mannschaft-name {
    font-size: 1.05em;
    font-weight: 600;
    margin-bottom: 4px;
}

.lm-ev-mf {
    font-size: 0.9em;
    color: #444;
    margin-top: 4px;
}

/* SPIELORT LISTE */
.lm-ev-spielort-liste {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lm-ev-spielort-item {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    padding: 6px 0;
    border-bottom: 1px solid #eee;
}

.lm-ev-adresse {
    color: #666;
    font-size: 0.9em;
}

.lm-ev-maps-link {
    font-size: 1.1em;
    text-decoration: none;
}

/* SPIELPLAN TABLE */
.lm-ev-spielplan-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lm-ev-spielplan-table td {
    padding: 5px 8px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.lm-ev-sp-datum {
    white-space: nowrap;
    color: #666;
    min-width: 75px;
}

.lm-ev-sp-erg {
    text-align: center;
    font-weight: 700;
    min-width: 55px;
    white-space: nowrap;
}

.lm-ev-sp-kd {
    color: #888;
    font-weight: 400;
}

.lm-ev-sp-ort {
    color: #888;
    font-size: 0.85em;
}

/* WIN / LOSE COLORS */
.lm-erg-win {
    color: #1a7a1a;
    font-weight: 700;
}

.lm-erg-lose {
    color: #b00020;
}

/* MANNSCHAFT-VIEW: EIGENE SPIELE */
.lm-ev-mein-sieg td {
    background: #f0fff0;
}

.lm-ev-meine-niederlage td {
    background: #fff5f5;
}

/* SPIELTAG GRUPPE */
.lm-ev-spieltag-gruppe {
    margin-bottom: 16px;
}

.lm-ev-spieltag-titel {
    font-size: 0.95em;
    font-weight: 600;
    color: #555;
    border-bottom: 1px solid #ddd;
    padding-bottom: 4px;
    margin-bottom: 6px;
    margin-top: 0;
}

/* TABELLE */
.lm-ev-tabelle {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lm-ev-tabelle th,
.lm-ev-tabelle td {
    padding: 5px 8px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.lm-ev-tabelle th {
    background: #f5f5f5;
    font-weight: 600;
}

.lm-ev-tabelle td:nth-child(n+3) {
    text-align: right;
}

/* TRAININGSZEITEN */
.lm-ev-tz-item {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

.lm-ev-tz-item:last-child {
    border-bottom: none;
}

.lm-ev-tz-header {
    font-weight: 600;
}

.lm-ev-tz-trainer {
    font-size: 0.9em;
    color: #555;
    margin-top: 2px;
}

.lm-ev-tz-bemerkung {
    font-size: 0.85em;
    color: #777;
    font-style: italic;
}

.lm-ev-tz-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lm-ev-tz-table td {
    padding: 5px 8px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

/* LISTS */
.lm-ev-list {
    margin: 6px 0;
    padding-left: 20px;
}

/* MISC */
.lm-ev-kurzname {
    color: #888;
    font-size: 0.85em;
}

.lm-ev-filter-hint {
    font-size: 0.85em;
    color: #888;
    font-weight: 400;
}

/* BADGES */
.lm-ev-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 3px;
    font-size: 0.8em;
    font-weight: 600;
}

.lm-ev-badge-offen {
    background: #d4edda;
    color: #155724;
}

/* ERGEBNIS BOX (Spiel-View) */
.lm-ev-ergebnis-box {
    font-size: 2em;
    font-weight: 700;
    text-align: center;
    padding: 12px;
    margin: 8px 0;
    background: #f8f8f8;
    border-radius: 4px;
}

.lm-ev-kugeln {
    font-size: 0.5em;
    color: #666;
    font-weight: 400;
    margin-left: 8px;
}

/* STATUS BADGE */
.lm-ev-status-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.85em;
    text-transform: capitalize;
}

.lm-status-geplant    { background: #e8f4fd; color: #1a5c8a; }
.lm-status-laufend    { background: #fff3cd; color: #856404; }
.lm-status-beendet    { background: #d4edda; color: #155724; }
.lm-status-abgesagt   { background: #f8d7da; color: #721c24; }
.lm-status-verschoben { background: #fde8d8; color: #7d3c12; }

/* TEAM BLOCK */
.lm-ev-team-block {
    margin-top: 16px;
}

/* SPIELER LISTE */
.lm-ev-spieler-liste {
    columns: 3;
    column-gap: 20px;
    margin: 0;
    padding-left: 20px;
}
@media (max-width: 640px) {
    .lm-ev-spieler-liste { columns: 2; }
}
@media (max-width: 400px) {
    .lm-ev-spieler-liste { columns: 1; }
}

/* ── Vereinslogo im Mannschaft-Kopf ─────────────────────────────── */
.lm-ev-kopf-titel {
    display: flex;
    align-items: center;
    gap: 12px;
}
.lm-ev-kopf-verein-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    flex-shrink: 0;
}
.lm-ev-kopf-titel-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* ── Paar-Zeile: zwei Blöcke nebeneinander (Stamm + MF) ──────────── */
/* Punkt 4 & 5: nebeneinander auf breiten Screens, untereinander auf schmalen */
.lm-ev-pair-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    align-items: start;
}

/* Wenn nur ein Block (kein MF vorhanden), volle Breite */
.lm-ev-pair-row > .lm-ev-block:only-child {
    grid-column: 1 / -1;
}

/* Blocks in der Pair-Row brauchen keinen Extra-Abstand oben untereinander */
.lm-ev-pair-row > .lm-ev-block {
    margin-top: 16px;
}

@media (max-width: 640px) {
    /* Punkt 5: auf schmalen Screens untereinander */
    .lm-ev-pair-row {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   LIGA-VIEW: Mannschaft-Blöcke
   ============================================================ */

/* ── Sprung-Anker (unsichtbar, nullhoch) ────────────────────── */
.lm-lv-anchor {
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

/* ── Saison-Label inline hinter dem Ligannamen ──────────────── */
.lm-lv-saison {
    font-size: 0.65em;
    font-weight: 500;
    color: #555;
    margin-left: 8px;
    vertical-align: middle;
}

/* ── Navigation + Druckbutton (eine Zeile) ───────────────────── */
.lm-lv-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin: 10px 0 4px;
    padding: 6px 10px;
    background: #f5f7fa;
    border: 1px solid #dde6f0;
    border-radius: 4px;
    font-size: 0.88em;
    flex-wrap: wrap;
}
.lm-lv-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
}
.lm-lv-nav a {
    color: #1a6a9a;
    text-decoration: none;
    white-space: nowrap;
}
.lm-lv-nav a:hover { text-decoration: underline; }

/* ── „Nach oben"-Link am Block-Ende ─────────────────────────── */
.lm-lv-nach-oben {
    text-align: right;
    padding: 8px 2px 0;
    font-size: 0.82em;
}
.lm-lv-nach-oben a { color: #aaa; text-decoration: none; }
.lm-lv-nach-oben a:hover { color: #1a6a9a; text-decoration: underline; }

/* ── Block-Header: h3 + Aktionen nebeneinander ──────────────── */
.lm-lv-header-aktionen {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* ── Äußerer Rahmen pro Mannschaft ─────────────────────────── */
.lm-lv-mann-block {
    border: 1px solid #c8d4e0;
    border-radius: 5px;
    margin-bottom: 12px;
    overflow: hidden;
}

/* ── Kopfzeile: Logo + Mannschaftsname ──────────────────────── */
.lm-lv-mann-kopf {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #eef2f7;
    border-bottom: 1px solid #c8d4e0;
    font-weight: 600;
    font-size: 1.0em;
}
.lm-lv-mann-kopf a { color: inherit; text-decoration: none; }
.lm-lv-mann-kopf a:hover { text-decoration: underline; }

.lm-lv-verein-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 3px;
}
.lm-lv-verein-logo-placeholder {
    width: 36px;
    height: 36px;
    background: #d8e2ed;
    border-radius: 3px;
    flex-shrink: 0;
    display: inline-block;
}
.lm-lv-mann-kopf-name { line-height: 1.3; }

/* ── Info-Zeile: links = MF, rechts = Spielort ───────────────── */
.lm-lv-cols {
    display: flex;
    border-bottom: 1px solid #dde6f0;
}
.lm-lv-col {
    flex: 1 1 50%;
    min-width: 0;
}
.lm-lv-col-mann {
    border-right: 1px solid #dde6f0;
}

/* ── Sub-Boxen (Info-Zelle) ──────────────────────────────────── */
.lm-lv-sub-box {
    padding: 9px 13px;
    box-sizing: border-box;
}
.lm-lv-sub-box-mann {
    background: #f7f9fc;
}
.lm-lv-sub-box-spielort {
    background: #fff;
}

/* ── Mannschaftsmitglieder-Zeile (volle Breite) ─────────────── */
.lm-lv-mitglieder-row {
    padding: 8px 13px 10px;
    background: #fafbfd;
    border-bottom: 1px solid #dde6f0;
}
.lm-lv-mitglieder-label {
    display: block;
    margin-bottom: 5px;
}
/* Im Liga-View: 3 Spalten für mehr Platz (überschreibt lm-ev-spieler-liste columns:2) */
.lm-lv-spieler-liste {
    columns: 3;
}
@media (max-width: 760px) {
    .lm-lv-spieler-liste { columns: 2; }
}
@media (max-width: 480px) {
    .lm-lv-spieler-liste { columns: 1; }
}
/* Kontakt-Zeile unter dem Spielernamen (nur bei show_kontakt=1) */
.lm-lv-spieler-kontakt {
    display: block;
    font-size: 0.78em;
    color: #6a82a0;
    line-height: 1.4;
    margin-top: 1px;
}
.lm-lv-spieler-kontakt a {
    color: #1a6a9a;
    text-decoration: none;
}
.lm-lv-spieler-kontakt a:hover { text-decoration: underline; }

/* ── Foto-Zeile: beide Fotos nebeneinander (volle Breite) ────── */
.lm-lv-foto-row {
    display: flex;
}
.lm-lv-foto-row .lm-lv-foto-cell {
    flex: 1 1 50%;
}
.lm-lv-foto-row .lm-lv-foto-cell-mann {
    border-right: 1px solid #dde6f0;
}

/* ── Inline-Label (fett, vor dem Inhalt) ─────────────────────── */
.lm-lv-sub-label {
    font-size: 0.74em;
    font-weight: 700;
    color: #7a90a8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 5px;
}

/* ── Kompakt-Info: Zeile 1 (Name) + Zeile 2 (Kontakt/Adresse) ── */
.lm-lv-info-z1 {
    font-size: 0.9em;
    font-weight: 600;
    color: #222;
    line-height: 1.45;
}
.lm-lv-info-z1 a { color: #1a6a9a; text-decoration: none; }
.lm-lv-info-z1 a:hover { text-decoration: underline; }

.lm-lv-info-z2 {
    font-size: 0.82em;
    color: #555;
    line-height: 1.5;
    margin-top: 1px;
}
.lm-lv-info-z2 a { color: #1a6a9a; text-decoration: none; }
.lm-lv-info-z2 a:hover { text-decoration: underline; }

/* ── Google-Maps-Link ────────────────────────────────────────── */
.lm-lv-so-maps { margin-top: 4px; font-size: 0.82em; }
.lm-lv-so-maps a { color: #1a6a9a; text-decoration: none; }
.lm-lv-so-maps a:hover { text-decoration: underline; }

/* ── Foto-Zellen (per globalem Toggle ein-/ausblendbar) ─────── */
.lm-lv-foto-cell {
    box-sizing: border-box;
    min-height: 120px;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.lm-lv-foto-img {
    display: block;
    height: 300px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
    display: block;
}
.lm-lv-foto-leer {
    font-size: 0.82em;
    color: #aaa;
    padding: 16px;
    text-align: center;
}

/* ── Shortcode-Body ──────────────────────────────────────────── */
.lm-lv-shortcode-body { padding: 12px 0 0 0; }

/* ── Responsiv: Spalten übereinander auf schmalen Screens ────── */
@media (max-width: 560px) {
    .lm-lv-cols { flex-direction: column; }
    .lm-lv-col-mann {
        border-right: none;
        border-bottom: 1px solid #dde6f0;
    }
    .lm-lv-foto-row { flex-direction: column; }
    .lm-lv-foto-row .lm-lv-foto-cell-mann {
        border-right: none;
        border-bottom: 1px solid #dde6f0;
    }
}

/* ── Druck ────────────────────────────────────────────────────── */
@media print {
    /* Foto-Zellen immer ausblenden */
    .lm-lv-foto-cell,
    .lm-lv-nav,
    .lm-lv-nach-oben,
    .lm-ev-btn-print,
    .lm-vuo-print-btn,
    .lm-ev-toggle,
    .lm-lv-foto-global-toggle { display: none !important; }

    /* Isolierter Druck: nur Liga-View sichtbar, ohne Leerzeilen oben */
    body.lm-lv-print-active > *:not(.lm-ev-wrap) { display: none !important; }
    body.lm-lv-print-active .lm-ev-no-print       { display: none !important; }
    body.lm-lv-print-active                       { margin: 0 !important; padding: 0 !important; }
    body.lm-lv-print-active .lm-ev-wrap           { margin-top: 0 !important; }
    body.lm-lv-print-active .lm-ev-kopf           { padding: 0 !important; margin: 0 !important; border-bottom: 1px solid #ccc !important; }
    body.lm-lv-print-active .lm-ev-kopf-titel h2  { margin: 0 0 4px !important; padding: 0 !important; font-size: 1.2em !important; }
    body.lm-lv-print-active .lm-ev-block          { margin-top: 6px !important; }
}

/* ── Zurück-Button (History) ──────────────────────────────────────── */
.lm-ev-btn-zurueck-hist {
    background: #f0f2f5 !important;
    border: 1px solid #bbb !important;
    border-radius: 4px !important;
    color: #555 !important;
    padding: 5px 14px !important;
    font-size: 0.88em;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none !important;
    text-shadow: none !important;
    text-decoration: none !important;
}
.lm-ev-btn-zurueck-hist:hover {
    background: #e0e5ee !important;
    border-color: #999 !important;
    color: #222 !important;
}

/* ── Einheitlicher Druckbutton-Stil (überschreibt WordPress .button) ── */
.lm-ev-btn-print {
    background: #f0f2f5 !important;
    border: 1px solid #bbb !important;
    border-radius: 4px !important;
    color: #333 !important;
    padding: 5px 14px !important;
    font-size: 0.88em;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none !important;
    text-shadow: none !important;
}
.lm-ev-btn-print:hover {
    background: #e0e5ee !important;
    border-color: #999 !important;
    color: #000 !important;
}

/* ============================================================
   VEREINE-ÜBERSICHT (Matrix)
   ============================================================ */

.lm-vuo-wrap {
    max-width: 100%;
    overflow-x: auto;
    margin: 20px 0;
}

/* Kopf – Flex-Layout (Titel + Druckbutton nebeneinander) */

.lm-vuo-titel {
    margin: 0;
    font-size: 1.3em;
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.lm-vuo-saison {
    font-size: 0.75em;
    font-weight: normal;
    color: #666;
}

/* Tabellen-Wrapper mit horizontalem Scroll auf kleinen Screens */
.lm-vuo-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Tabelle */
.lm-vuo-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    white-space: nowrap;
}

/* Header */
.lm-vuo-th {
    padding: 7px 10px;
    background: #f0f2f5;
    border: 1px solid #ddd;
    text-align: left;
    font-weight: 600;
    font-size: calc(0.85em + 2px);
    vertical-align: bottom;
}

.lm-vuo-th-verein  { min-width: 160px; white-space: normal; }
.lm-vuo-th-person  { min-width: 120px; white-space: nowrap; }
.lm-vuo-th-spielort { min-width: 130px; white-space: normal; }
.lm-vuo-th-liga    { min-width: 90px; text-align: center; white-space: normal; }

/* Liga-Spalten-Header: Ko vs. Runde */
.lm-vuo-liga-ko   { background: #eef4ff; }
.lm-vuo-liga-runde { background: #f5f0ff; }
.lm-vuo-liga-turnier { background: #f0fff4; }

.lm-vuo-liga-link {
    display: block;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    line-height: 1.3;
}
.lm-vuo-liga-link:hover { text-decoration: underline; }

/* Modus-Badge unter Liganamen */
.lm-vuo-modus-badge {
    display: block;
    font-size: 0.78em;
    font-weight: normal;
    color: #888;
    margin-top: 2px;
}
.lm-vuo-modus-ko      { color: #1a5c8a; }
.lm-vuo-modus-runde   { color: #5a2d8a; }
.lm-vuo-modus-turnier { color: #2d7a4f; }

/* Zellen */
.lm-vuo-td {
    padding: 7px 10px;
    border: 1px solid #e8e8e8;
    vertical-align: middle;
}

.lm-vuo-row:nth-child(even) .lm-vuo-td {
    background: #fafafa;
}
.lm-vuo-row:hover .lm-vuo-td {
    background: #f0f4ff;
}

/* Verein-Zelle */
.lm-vuo-td-verein { white-space: normal; }

.lm-vuo-verein-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lm-vuo-logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 2px;
}

.lm-vuo-logo-placeholder {
    width: 32px;
    height: 32px;
    background: #e8e8e8;
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

.lm-vuo-verein-link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    border-radius: 3px;
    transition: background .15s;
}
.lm-vuo-verein-link:hover {
    text-decoration: none;
    color: #2271b1;
}
.lm-vuo-verein-link:hover .lm-vuo-logo {
    box-shadow: 0 0 0 2px #2271b1;
}

.lm-vuo-verein-name {
    font-weight: 600;
    white-space: normal;
    line-height: 1.3;
}

.lm-vuo-kurzname {
    font-weight: normal;
    color: #888;
    font-size: 0.88em;
    margin-left: 3px;
}

/* Ansprechpartner-Zelle */
.lm-vuo-td-person { white-space: nowrap; min-width: 120px; }

.lm-vuo-person-rolle {
    display: block;
    font-size: 0.78em;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.lm-vuo-person-name {
    display: block;
    font-weight: 600;
}

.lm-vuo-person-email {
    display: block;
    font-size: 0.85em;
    color: #1a6a9a;
    word-break: break-all;
}

.lm-vuo-person-tel {
    display: block;
    font-size: 0.85em;
    color: #555;
}

/* Spielort-Zelle */
.lm-vuo-td-spielort { white-space: normal; }

.lm-vuo-spielort-link {
    display: block;
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}
.lm-vuo-spielort-link:hover { text-decoration: underline; }

/* Spielort-Zelle: Adresse links, Plätze rechts */
.lm-vuo-spielort-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.lm-vuo-spielort-adresse-block {
    flex: 1 1 auto;
    min-width: 0;
}

.lm-vuo-spielort-adresse,
.lm-vuo-spielort-ort {
    display: block;
    line-height: 1.4;
}

.lm-vuo-spielort-ort {
    font-size: 0.85em;
    color: #666;
}

.lm-vuo-spielort-link .lm-vuo-spielort-ort {
    color: inherit;
    opacity: 0.75;
}

/* Plätze-Block rechts */
.lm-vuo-plaetze-block {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2px 6px;
    background: #eef4ff;
    border: 1px solid #c8daf5;
    border-radius: 4px;
    white-space: nowrap;
}

.lm-vuo-plaetze-zahl {
    font-size: 1.1em;
    font-weight: 700;
    color: #1a5c8a;
    line-height: 1.2;
}

.lm-vuo-plaetze-lbl {
    font-size: 0.72em;
    color: #5a8aaa;
    line-height: 1;
}

/* Im Header: Badge ohne farbigen Hintergrund */
.lm-vuo-plaetze-block--hdr {
    background: transparent;
    border-color: #bbb;
    color: #666;
    font-weight: 600;
    font-size: 0.85em;
}

/* Liga-Zellen */
.lm-vuo-td-liga {
    text-align: center;
    white-space: nowrap;
}

.lm-vuo-td-liga.lm-vuo-liga-ko {
    background: rgba(238,244,255,0.5);
}
.lm-vuo-td-liga.lm-vuo-liga-runde {
    background: rgba(245,240,255,0.5);
}
.lm-vuo-td-liga.lm-vuo-liga-turnier {
    background: rgba(240,255,244,0.5);
}
.lm-vuo-row:nth-child(even) .lm-vuo-td-liga.lm-vuo-liga-ko {
    background: rgba(225,235,252,0.6);
}
.lm-vuo-row:nth-child(even) .lm-vuo-td-liga.lm-vuo-liga-runde {
    background: rgba(235,228,252,0.6);
}

.lm-vuo-kurzname-liga {
    font-weight: 700;
    font-size: 0.92em;
    color: #222;
}

.lm-vuo-nicht-dabei {
    color: #ccc;
    font-size: 0.9em;
}

.lm-vuo-leer {
    color: #bbb;
}

/* PDF-Druck-Button */
.lm-vuo-kopf {
    display: flex;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.lm-vuo-print-btn {
    flex-shrink: 0;
    padding: 5px 14px;
    font-size: 0.88em;
    cursor: pointer;
    background: #f0f2f5;
    border: 1px solid #bbb;
    border-radius: 4px;
    color: #333;
}
.lm-vuo-print-btn:hover {
    background: #e0e5ee;
    border-color: #999;
}

/* ── Druck-Stile (Querformat, kompakt, eine Seite) ────────────── */
@media print {
    .lm-no-print { display: none !important; }

    /* Print-Isolation: alle direkten Body-Kinder ausblenden außer dem Wrap.
       JS verschiebt .lm-vuo-wrap vor dem Drucken direkt ans <body>,
       daher reicht display:none auf Geschwister-Elemente – kein Leerraum. */
    body.lm-vuo-print-active > *:not(.lm-vuo-wrap) {
        display: none !important;
    }
    body.lm-vuo-print-active > .lm-vuo-wrap {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Titel */
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-titel {
        font-size: 12pt;
        margin: 0 0 5pt;
    }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-saison {
        font-size: 9pt;
    }

    /* Tabelle auf Seitenbreite skalieren */
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-table-wrap {
        overflow: visible;
        width: 100%;
    }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-table {
        font-size: 7pt;
        width: 100%;
        max-width: 100%;
        table-layout: fixed;   /* erzwingt Verteilung auf Seitenbreite */
        border-collapse: collapse;
    }

    /* Spalten: feste Breitenverteilung, kein Mindestmaß mehr */
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-th-verein   { width: 16%; }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-th-person   { width: 14%; }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-th-spielort { width: 13%; }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-th-liga     { width: auto; }

    /* Zellen kompakt, Umbruch erlaubt */
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-th,
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-td {
        padding: 2pt 3pt;
        white-space: normal;
        word-break: break-word;
        vertical-align: top;
    }

    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-logo { width: 16pt; height: 16pt; }

    /* Spielort-Plätze-Block schlanker */
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-spielort-row   { gap: 3pt; }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-plaetze-block  { padding: 1pt 2pt; }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-plaetze-zahl   { font-size: 7pt; }
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-plaetze-lbl    { font-size: 6pt; }

    /* Modus-Badge weglassen */
    .lm-vuo-wrap.lm-vuo-printing .lm-vuo-modus-badge { display: none; }

    /* Links neutral */
    .lm-vuo-wrap.lm-vuo-printing a {
        color: #000 !important;
        text-decoration: none !important;
    }
}

/* ============================================================
   PRINT STYLES
   ============================================================ */

/* ── Druck-Isolation: nur der Entity-View-Block ──────────────────── */
/* JS verschiebt .lm-ev-wrap ans <body>, dann display:none auf alle
   anderen direkten Body-Kinder → kein Leerraum oben im Druck.       */
body.lm-ev-print-active > *:not(.lm-ev-wrap) {
    display: none !important;
}
body.lm-ev-print-active .lm-ev-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media print {
    /* Allgemeine Print-Stile (Seitenweiter Druck, ohne JS-Isolation) */
    .lm-ev-no-print {
        display: none !important;
    }

    body.lm-ev-print-active .lm-ev-kopf {
        padding-bottom: 4px !important;
        margin-bottom: 0 !important;
    }
    body.lm-ev-print-active .lm-ev-kopf-titel h2 {
        margin: 0 0 2px !important;
        padding: 0 !important;
    }
    body.lm-ev-print-active .lm-ev-pair-row {
        margin-top: 0 !important;
    }
    body.lm-ev-print-active .lm-ev-block {
        margin-top: 6px !important;
    }

    .lm-ev-kopf-aktionen {
        display: none !important;
    }

    .lm-ev-block.lm-ev-collapsed .lm-ev-block-body {
        display: block !important;
    }

    .lm-ev-toggle {
        display: none !important;
    }

    .lm-ev-block {
        border: 1px solid #ccc;
        break-inside: avoid;
    }

    .lm-ev-wrap {
        max-width: 100%;
    }

    /* Pair-Row im Druck: nebeneinander behalten */
    .lm-ev-pair-row {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ============================================================
   SPIELORT-VIEW – Kopf + neue Blöcke
   ============================================================ */

/* ── Kopf: Abstand zwischen Spielortname und Vereins-Zeile ────── */
.lm-ev-spielort .lm-ev-so-h2 {
    margin-bottom: 6px;
}
.lm-ev-so-sub {
    margin-top: 5px;
    font-size: 0.95em;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.lm-ev-so-verein-name {
    font-size: 1.12em;
    font-weight: 700;
    color: #1a4a7a;
    text-decoration: none;
}
.lm-ev-so-verein-name:hover { text-decoration: underline; }

.lm-ev-so-kopf-logo {
    width: 30px;
    height: 30px;
    object-fit: contain;
    vertical-align: middle;
    border-radius: 3px;
}

/* ── Spiele-Block im Spielort-View: Liga-Spalte breiter ──────────
   Im Spielort-Kontext ist die Ort-Spalte redundant (immer gleich),
   daher 5% von Ort → Liga umverteilen.                            */
.lm-ev-spielort .lm-gsp-col-liga { width: 14% !important; }
.lm-ev-spielort .lm-gsp-col-ort  { width:  7% !important; }

/* ── Block Anlage: Google-Maps-Link ────────────────────────────── */
.lm-ev-so-maps-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.92em;
    font-weight: 600;
    color: #1a6a9a;
    text-decoration: none;
    padding: 3px 8px;
    border: 1px solid #c5ddf5;
    border-radius: 4px;
    background: #f0f6ff;
    transition: background 0.15s, border-color 0.15s;
}
.lm-ev-so-maps-link:hover {
    background: #dceeff;
    border-color: #7aaad4;
    text-decoration: none;
    color: #0f4c7a;
}

/* ── Block Anlage: 2×2 Grid ───────────────────────────────────── */
.lm-ev-so-anlage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.lm-ev-so-anlage-cell {
    padding: 8px 12px;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lm-ev-so-anlage-cell:nth-child(odd) {
    border-right: 1px solid #e0e0e0;
}

.lm-ev-so-anlage-cell:nth-last-child(-n+2) {
    border-bottom: none;
}

.lm-ev-so-anlage-label {
    font-size: 0.8em;
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ── Block Ansprechpartner Verein ──────────────────────────────── */
.lm-ev-so-ansp-wrap {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
}

/* Linke Seite: Logo + Vereinsname */
.lm-ev-so-ansp-verein {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.lm-ev-so-ansp-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid #e8e8e8;
    background: #fafafa;
}
.lm-ev-so-ansp-vereinname {
    font-size: 1.05em;
    font-weight: 700;
    color: #1a4a7a;
    line-height: 1.3;
}
.lm-ev-so-ansp-vereinname a {
    color: inherit;
    text-decoration: none;
}
.lm-ev-so-ansp-vereinname a:hover { text-decoration: underline; }

/* Rechte Seite: Person + Kontakt */
.lm-ev-so-ansp-person {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 0.92em;
}
.lm-ev-so-ansp-rolle {
    font-size: 0.78em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a90a8;
    margin-bottom: 1px;
}
.lm-ev-so-ansp-name {
    font-weight: 600;
    color: #222;
    font-size: 1.05em;
}
.lm-ev-so-ansp-tel,
.lm-ev-so-ansp-mail {
    color: #1a6a9a;
    text-decoration: none;
    font-size: 0.9em;
}
.lm-ev-so-ansp-tel:hover,
.lm-ev-so-ansp-mail:hover { text-decoration: underline; }

/* Mobile: Ansprechpartner-Block */
@media (max-width: 480px) {
    .lm-ev-so-ansp-wrap {
        flex-direction: column;
        gap: 12px;
    }
}

/* ============================================================
   MOBILE RESPONSIVENESS – Entity Views
   ============================================================ */

/* ── 1. Block-body: allow overflow for inner table scroll ───── */
.lm-ev-block-body {
    overflow: visible;
}

/* ── 2. Generic scroll-wrapper class for entity tables ───────── */
.lm-ev-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ── 3. Liga-View Navigation: tappable on mobile ─────────────── */
@media (max-width: 600px) {
    .lm-lv-nav {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }
    .lm-lv-nav-links {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
    }
    .lm-lv-nav a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 6px 12px;
        background: #fff;
        border: 1px solid #c0d0e0;
        border-radius: 4px;
        font-size: 0.88em;
        white-space: nowrap;
        text-decoration: none;
    }
    .lm-lv-nav a:hover {
        background: #eaf2fa;
        text-decoration: none;
    }
    .lm-vuo-print-btn,
    .lm-ev-btn-print,
    .lm-vuo-print-btn {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}

/* ── 4. Entity spielplan/tabelle: compact on very narrow ─────── */
@media (max-width: 480px) {
    .lm-ev-spielplan-table td,
    .lm-ev-tabelle td,
    .lm-ev-tabelle th {
        padding: 4px 5px;
        font-size: 11px;
    }
    .lm-ev-sp-datum { min-width: 60px; }
    .lm-ev-sp-erg   { min-width: 44px; }
}

/* ── 5. Props-Tabelle (key/value): compact on phones ─────────── */
@media (max-width: 400px) {
    .lm-ev-props th {
        width: 100px;
        font-size: 0.88em;
    }
    .lm-ev-props td {
        font-size: 0.88em;
    }
}

/* ── 6. Trainingszeiten-Tabelle: compact ─────────────────────── */
@media (max-width: 480px) {
    .lm-ev-tz-table td {
        padding: 4px 5px;
        font-size: 12px;
    }
}

/* ── 7. Vereine-Übersicht Kopf: stack on mobile ──────────────── */
@media (max-width: 600px) {
    .lm-vuo-kopf {
        flex-direction: column;
        align-items: stretch;
    }
}

/* ============================================================
   VEREIN-VIEW
   ============================================================ */

/* Webseiten-Link im Kopf */
.lm-ev-verein-webseite {
    display: inline-block;
    font-size: 0.88em;
    color: #555;
    text-decoration: none;
    margin-top: 3px;
}
.lm-ev-verein-webseite:hover { text-decoration: underline; color: #2271b1; }

/* ── Ansprechpartner-Liste ──────────────────────────────────── */
.lm-ev-verein-ansp-list {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
}
.lm-ev-verein-ansp-item {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    padding: 8px 12px;
    background: #f8f8f8;
    border-left: 3px solid #2271b1;
    border-radius: 3px;
    min-width: 220px;
}
.lm-ev-verein-ansp-item .lm-vuo-person-rolle {
    flex: 0 0 100%;
    font-size: 0.75em;
    text-transform: uppercase;
    color: #888;
    letter-spacing: .04em;
    margin-bottom: 1px;
}
.lm-ev-verein-ansp-name {
    font-weight: 600;
    color: #1a1a1a;
}
.lm-ev-verein-ansp-tel,
.lm-ev-verein-ansp-mail {
    font-size: 0.88em;
    color: #2271b1;
    text-decoration: none;
    white-space: nowrap;
}
.lm-ev-verein-ansp-tel:hover,
.lm-ev-verein-ansp-mail:hover { text-decoration: underline; }

@media (max-width: 480px) {
    .lm-ev-verein-ansp-list { flex-direction: column; }
    .lm-ev-verein-ansp-item { min-width: 0; width: 100%; }
}

/* ── 8. Block headers: wrap on very small screens ────────────── */
@media (max-width: 400px) {
    .lm-ev-block-header {
        flex-wrap: wrap;
        gap: 4px;
    }
    .lm-lv-header-aktionen {
        flex-wrap: wrap;
    }
}

/* ── 9. Wrap: volle Breite auf mobilen Screens ───────────────── */
@media (max-width: 600px) {
    .lm-ev-wrap {
        max-width: 100%;
    }
}

/* ============================================================
   SPIEL-VIEW – Kopf + neue Blöcke
   ============================================================ */

/* ── Kopf: VS-Zeile ─────────────────────────────────────────── */
.lm-ev-spiel-kopf {
    flex-wrap: wrap;
    gap: 12px;
}

.lm-ev-spiel-kopf-titel {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lm-ev-spiel-vs-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.lm-ev-spiel-team {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lm-ev-spiel-vlogo {
    width: 36px;
    height: 36px;
    object-fit: contain;
    border-radius: 3px;
    flex-shrink: 0;
    display: block;
}

.lm-ev-spiel-vlogo-wrap {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

/* Mannschaftsname gleich groß wie h2 (1.4em) */
.lm-ev-spiel-team-name {
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.2;
}

.lm-ev-spiel-vs-sep {
    font-size: 1.1em;
    color: #888;
    font-weight: 400;
    flex-shrink: 0;
    padding: 0 4px;
}

/* "Spielübersicht" kleiner unter der VS-Zeile */
.lm-ev-spiel-ueberschrift {
    margin: 0;
    font-size: 0.95em;
    font-weight: 400;
    color: #666;
    border-top: 1px solid #eee;
    padding-top: 6px;
}

/* ── Block Spiel-Informationen: 2-Spalten-Grid ──────────────── */
.lm-ev-spiel-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: start;
}

@media (max-width: 520px) {
    .lm-ev-spiel-info-grid {
        grid-template-columns: 1fr;
    }
}

.lm-ev-spiel-info-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}

/* ── Ergebnis-Box (überarbeitet) ────────────────────────────── */
.lm-ev-ergebnis-box {
    text-align: center;
    padding: 14px 12px;
    margin: 0;
    background: #f8f8f8;
    border-radius: 4px;
    border: 1px solid #eee;
}

.lm-ev-erg-punkte-zeile {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 2.4em;
    font-weight: 700;
    line-height: 1;
}

.lm-ev-erg-doppelpunkt {
    color: #aaa;
    font-weight: 300;
}

.lm-ev-kugeln {
    font-size: 0.9em;
    color: #666;
    font-weight: 400;
    margin-top: 6px;
    display: block;
}

.lm-ev-spiel-bogen-wrap {
    text-align: center;
}

.lm-ev-spiel-bogen-wrap .button {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    white-space: normal;
}

/* ── Mannschaftsführer-Kontakt in neuer Zeile ───────────────── */
.lm-ev-mf-kontakt {
    margin-top: 5px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 0.9em;
    padding-left: 2px;
}

.lm-ev-mf-kontakt a {
    color: #1a6a9a;
    text-decoration: none;
}
.lm-ev-mf-kontakt a:hover { text-decoration: underline; }

.lm-ev-mf-kontakt span { color: #555; }

/* ── Foto-Block: kein inneres Padding ──────────────────────── */
.lm-ev-foto-block-body {
    padding: 0 !important;
    overflow: hidden;
}

.lm-ev-foto-anlage {
    display: block;
    height: 300px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 4px;
}

/* ── Heim + Gast nebeneinander ──────────────────────────────── */
.lm-ev-spiel-teams-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    align-items: start;
    margin-top: 16px;
}

@media (max-width: 640px) {
    .lm-ev-spiel-teams-row {
        grid-template-columns: 1fr;
    }
}

.lm-ev-spiel-team-col {
    display: flex;
    flex-direction: column;
}

.lm-ev-spiel-team-col > .lm-ev-block {
    margin-top: 16px;
}

/* Mitglieder-Liste im Spiel-View: 2 Spalten */
.lm-ev-spieler-2col {
    columns: 2 !important;
    column-gap: 16px;
}
@media (max-width: 360px) {
    .lm-ev-spieler-2col { columns: 1 !important; }
}

/* ── Letzte Begegnungen – Tabelle ───────────────────────────── */
.lm-ev-begegnungen-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lm-ev-begegnungen-table th,
.lm-ev-begegnungen-table td {
    padding: 6px 8px;
    border-bottom: 1px solid #eee;
    text-align: left;
    vertical-align: middle;
}

.lm-ev-begegnungen-table th {
    background: #f5f5f5;
    font-weight: 600;
    font-size: 0.88em;
    color: #555;
    white-space: nowrap;
}

.lm-ev-beg-datum  { white-space: nowrap; color: #666; width: 82px; }
.lm-ev-beg-liga   { min-width: 90px; }
.lm-ev-beg-erg    { text-align: center; white-space: nowrap; width: 80px; }
.lm-ev-beg-team   { }

.lm-ev-beg-winner {
    font-weight: 700;
    color: #1a7a1a;
}

.lm-ev-beg-erg-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    color: inherit;
}
.lm-ev-beg-erg-link:hover { color: #1a6a9a; }

/* ── Ergebnis-Grid-Tabelle (Punkte|Kugeln|Spielbericht / Sieger) ──── */
.lm-ev-spiel-erg-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.lm-ev-spiel-erg-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

/* Header-Zeile */
.lm-ev-erg-hdr-row th {
    background: #f0f2f5;
    font-size: 0.78em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6a82a0;
    text-align: center;
    padding: 6px 10px;
    border: 1px solid #e0e5ee;
    width: 30%;
}

/* Werte-Zeile */
.lm-ev-erg-val-row td {
    border: 1px solid #e0e5ee;
    text-align: center;
    vertical-align: middle;
    padding: 10px 8px;
}

.lm-ev-erg-punkte-cell {
    font-size: 2.2em;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.lm-ev-erg-sep {
    color: #aaa;
    font-weight: 300;
    margin: 0 3px;
}

.lm-ev-erg-kugeln-cell {
    font-size: 1.15em;
    font-weight: 600;
    color: #555;
    white-space: nowrap;
}

/* Spielbericht-Zelle (rowspan=2, rechte Spalte) */
.lm-ev-spiel-erg-bogen-cell {
    width: 40%;
    border: 1px solid #e0e5ee;
    vertical-align: middle;
    text-align: center;
    padding: 8px;
    background: #fafbfd;
}

.lm-ev-bogen-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    color: #1a6a9a;
    padding: 4px;
    border-radius: 4px;
    transition: background 0.15s;
}
.lm-ev-bogen-link:hover {
    background: #e8f2fc;
    text-decoration: none;
}

.lm-ev-bogen-icon {
    font-size: 1.6em;
    line-height: 1;
}

.lm-ev-bogen-label {
    font-size: 0.78em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

/* Sieger-Zeile */
.lm-ev-erg-sieger-row td {
    border: 1px solid #e0e5ee;
    background: #f5fff5;
    text-align: center;
    padding: 7px 10px;
    font-weight: 600;
    font-size: 0.95em;
    color: #155724;
}

/* Status-Badge im Block-Header */
.lm-ev-block-header .lm-ev-status-badge {
    font-size: 0.78em;
    vertical-align: middle;
    margin-left: 6px;
}

/* ── Druck: Spiel-View ──────────────────────────────────────── */
@media print {
    .lm-ev-spiel-teams-row {
        grid-template-columns: 1fr 1fr !important;
    }
    .lm-ev-spiel-info-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .lm-ev-spiel-erg-bogen-cell { display: none !important; }
    /* Wenn Bogen-Zelle weg ist, Punkte/Kugeln volle Breite */
    .lm-ev-spiel-erg-table { table-layout: auto; }
}
