/* LC Brühl Matchcenter – bewusst neutral gehalten. Alle Elemente haben eigene Klassen. */
.lcb-matchcenter{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;width:100%;min-height:310px;overflow:hidden}
.lcb-matchcenter__stage{position:relative;min-height:270px}
.lcb-matchcenter__match{display:none;min-height:270px;padding:34px 20px;text-align:center;flex-direction:column;justify-content:center}
.lcb-matchcenter__match.is-active{display:flex}
.lcb-matchcenter__header{display:block}
.lcb-matchcenter__nav{appearance:none;border:0;background:transparent;font:inherit;font-size:30px;line-height:1;cursor:pointer;padding:12px}
.lcb-matchcenter__nav:disabled{opacity:.25;cursor:default}
.lcb-matchcenter__eyebrow,.lcb-matchcenter__status{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.lcb-matchcenter__competition{font-size:14px;margin-bottom:22px}
.lcb-matchcenter__teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:22px}
.lcb-matchcenter__team{display:flex;min-width:0;flex-direction:column;align-items:center;gap:12px}
.lcb-matchcenter__team-logo-wrap{display:flex;align-items:center;justify-content:center;width:88px;height:88px}
.lcb-matchcenter__team-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.lcb-matchcenter__team-logo-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:800;font-size:20px;border:1px solid currentColor;border-radius:50%}
.lcb-matchcenter__team-name{font-size:clamp(17px,2vw,24px);font-weight:800;line-height:1.15}
.lcb-matchcenter__result{display:flex;flex-direction:column;align-items:center;justify-content:center}
.lcb-matchcenter__score{min-width:82px;font-size:clamp(25px,3vw,38px);font-weight:900;white-space:nowrap}
.lcb-matchcenter__score-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.lcb-matchcenter__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:26px;font-size:13px}
.lcb-matchcenter__date,.lcb-matchcenter__time,.lcb-matchcenter__venue{display:inline-block}
.lcb-matchcenter--error,.lcb-matchcenter--empty{display:block;min-height:auto;padding:24px}
@media(max-width:767px){.lcb-matchcenter{grid-template-columns:38px minmax(0,1fr) 38px;min-height:300px}.lcb-matchcenter__stage,.lcb-matchcenter__match{min-height:270px}.lcb-matchcenter__match{padding:26px 8px}.lcb-matchcenter__teams{grid-template-columns:1fr auto 1fr;gap:8px}.lcb-matchcenter__team-logo-wrap{width:62px;height:62px}.lcb-matchcenter__team-name{font-size:14px}.lcb-matchcenter__score{min-width:64px}}


/* League table */
.lcb-league-table { width:100%; overflow-x:auto; }
.lcb-league-table__table { width:100%; border-collapse:collapse; }
.lcb-league-table__th,
.lcb-league-table__cell { text-align:center; }
.lcb-league-table__th--team,
.lcb-league-table__cell--team { text-align:left; }
.lcb-league-table__row.is-highlighted { font-weight:700; }

/* Last round results */
.lcb-round-results { width:100%; }
.lcb-round-results__list { display:grid; gap:8px; }
.lcb-round-results__game { display:grid; gap:4px; }
.lcb-round-results__teams { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:12px; }
.lcb-round-results__team--home { text-align:right; }
.lcb-round-results__team--away { text-align:left; }
.lcb-round-results__score { font-weight:700; white-space:nowrap; }
.lcb-data-error { padding:12px; border:1px solid currentColor; }

/* Startseite: nächste Spiele als Kacheln */
.lcb-matchcenter-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}
.lcb-game-tile{display:flex;flex-direction:column;min-width:0;padding:28px;border-radius:24px;overflow:hidden}
.lcb-game-tile__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:30px}
.lcb-game-tile__competition{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.lcb-game-tile__date{font-size:13px;white-space:nowrap}
.lcb-game-tile__teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:14px}
.lcb-game-tile__team{display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center;gap:12px}
.lcb-game-tile__logo-wrap{display:flex;align-items:center;justify-content:center;width:84px;height:84px}
.lcb-game-tile__logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.lcb-game-tile__logo-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;font-weight:800}
.lcb-game-tile__team-name{font-size:16px;font-weight:800;line-height:1.15}
.lcb-game-tile__versus{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:24px}
.lcb-game-tile__time{font-size:22px;font-weight:900;line-height:1}
.lcb-game-tile__time-label{margin-top:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.lcb-game-tile__footer{margin-top:auto;padding-top:26px;text-align:center}
.lcb-game-tile__venue{font-size:13px}
@media(max-width:1024px){.lcb-matchcenter-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.lcb-matchcenter-tiles{grid-template-columns:1fr}.lcb-game-tile{padding:22px}.lcb-game-tile__logo-wrap{width:72px;height:72px}}


/* Hero: nächstes Spiel */
.lcb-matchcenter-hero{width:100%;text-align:center}
.lcb-matchcenter-hero__header{display:flex;flex-direction:column;align-items:center}
.lcb-matchcenter-hero__eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.lcb-matchcenter-hero__competition{margin-top:5px;font-size:14px}
.lcb-matchcenter-hero__date{margin-top:8px;font-size:14px}
.lcb-matchcenter-hero__teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:30px;margin-top:24px}
.lcb-matchcenter-hero__team{display:flex;min-width:0;flex-direction:column;align-items:center;gap:12px}
.lcb-matchcenter-hero__logo-wrap{display:flex;align-items:center;justify-content:center;width:120px;height:120px}
.lcb-matchcenter-hero__logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.lcb-matchcenter-hero__logo-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;font-size:22px;font-weight:800}
.lcb-matchcenter-hero__team-name{font-size:clamp(18px,2vw,28px);font-weight:800;line-height:1.1}
.lcb-matchcenter-hero__center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:90px}
.lcb-matchcenter-hero__vs{font-size:12px;font-weight:800;letter-spacing:.12em}
.lcb-matchcenter-hero__time{margin-top:6px;font-size:clamp(24px,3vw,40px);font-weight:900;line-height:1}
.lcb-matchcenter-hero__time-label{font-size:.35em;font-weight:700;text-transform:uppercase}
.lcb-matchcenter-hero__footer{margin-top:22px}
.lcb-matchcenter-hero__venue{font-size:14px}
.lcb-matchcenter-hero.has-no-logos .lcb-matchcenter-hero__teams{margin-top:18px}
@media(max-width:767px){.lcb-matchcenter-hero__teams{gap:10px}.lcb-matchcenter-hero__logo-wrap{width:76px;height:76px}.lcb-matchcenter-hero__team-name{font-size:14px}.lcb-matchcenter-hero__center{min-width:64px}}


/* =========================================================
   LCB Spielplan – kompakte Matchcenter-Zeilen
   ========================================================= */

.lcb-spielplan {
    width: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dddddd;
    border-radius: 8px;
}

.lcb-spielplan__row {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 190px;
    align-items: center;
    gap: 24px;
    min-height: 88px;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid #dddddd;
}

.lcb-spielplan__row:last-child {
    border-bottom: 0;
}

.lcb-spielplan__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

.lcb-spielplan__date {
    font-weight: 700;
    line-height: 1.2;
}

.lcb-spielplan__time {
    font-size: .92em;
    line-height: 1.2;
}

.lcb-spielplan__competition {
    display: inline-flex;
    width: fit-content;
    margin-top: 6px;
    padding: 4px 9px;
    border-radius: 4px;
    background: #93d1b0;
    color: #092d23;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.lcb-spielplan__teams {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.lcb-spielplan__team {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.lcb-spielplan__team--home {
    justify-content: flex-end;
    text-align: right;
}

.lcb-spielplan__team--away {
    justify-content: flex-start;
    text-align: left;
}

.lcb-spielplan__team-name {
    min-width: 0;
    font-weight: 700;
    line-height: 1.2;
}

.lcb-spielplan__logo {
    display: block !important;
    flex: 0 0 46px;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    object-fit: contain !important;
}

.lcb-spielplan__vs {
    display: block;
    text-align: center;
    font-weight: 800;
    text-transform: uppercase;
}

.lcb-spielplan__venue {
    min-width: 0;
    font-size: .92em;
    font-weight: 600;
    line-height: 1.25;
    text-align: right;
}

.lcb-spielplan--empty,
.lcb-spielplan--error {
    padding: 18px;
}

/* Tablet */
@media (max-width: 1024px) {
    .lcb-spielplan__row {
        grid-template-columns: 145px minmax(0, 1fr);
        gap: 16px 20px;
    }

    .lcb-spielplan__venue {
        grid-column: 2;
        text-align: left;
        padding-left: 0;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .lcb-spielplan {
        border: 0;
        background: transparent;
        border-radius: 0;
    }

    .lcb-spielplan__row {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 14px;
        padding: 16px;
        border: 1px solid #dddddd;
        border-radius: 8px;
    }

    .lcb-spielplan__meta {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 10px;
    }

    .lcb-spielplan__competition {
        margin-top: 0;
    }

    .lcb-spielplan__teams {
        grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
        gap: 8px;
    }

    .lcb-spielplan__team {
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }

    .lcb-spielplan__team--home,
    .lcb-spielplan__team--away {
        justify-content: center;
        text-align: center;
    }

    .lcb-spielplan__team--away .lcb-spielplan__team-name {
        order: 2;
    }

    .lcb-spielplan__team--away .lcb-spielplan__logo {
        order: 1;
    }

    .lcb-spielplan__logo {
        flex-basis: 42px;
        width: 42px !important;
        height: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
    }

    .lcb-spielplan__venue {
        grid-column: auto;
        text-align: left;
    }
}


/* =========================================================
   LCB Resultate – Matchcenter Design
   ========================================================= */

.lcb-resultate {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.lcb-resultate__row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 120px;
    align-items: center;
    gap: 20px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #dddddd;
    border-radius: 8px;
}

.lcb-resultate__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.lcb-resultate__competition {
    display: inline-flex;
    width: fit-content;
    padding: 4px 9px;
    border-radius: 4px;
    background: #93d1b0;
    color: #092d23;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.lcb-resultate__date {
    font-size: .88em;
    font-weight: 600;
}

.lcb-resultate__match {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}

.lcb-resultate__team {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.lcb-resultate__team--home {
    justify-content: flex-end;
    text-align: right;
}

.lcb-resultate__team--away {
    justify-content: flex-start;
}

.lcb-resultate__team-name {
    font-weight: 700;
    line-height: 1.2;
}

.lcb-resultate__logo {
    display: block !important;
    flex: 0 0 42px;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    object-fit: contain !important;
}

.lcb-resultate__score {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    color: #092d23;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.lcb-resultate__details {
    justify-self: end;
    color: #248a45;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.lcb-resultate__details:hover {
    text-decoration: underline;
}

.lcb-resultate--empty,
.lcb-resultate--error {
    padding: 18px;
}

@media (max-width: 1024px) {
    .lcb-resultate__row {
        grid-template-columns: 130px minmax(0, 1fr);
    }

    .lcb-resultate__details {
        grid-column: 2;
    }
}

@media (max-width: 767px) {
    .lcb-resultate__row {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
    }

    .lcb-resultate__meta {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    .lcb-resultate__match {
        grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
        gap: 8px;
    }

    .lcb-resultate__team {
        flex-direction: column;
        text-align: center;
    }

    .lcb-resultate__team--home,
    .lcb-resultate__team--away {
        justify-content: center;
    }

    .lcb-resultate__team--away .lcb-resultate__team-name {
        order: 2;
    }

    .lcb-resultate__team--away .lcb-resultate__logo {
        order: 1;
    }

    .lcb-resultate__score {
        font-size: 24px;
    }

    .lcb-resultate__details {
        grid-column: auto;
        justify-self: start;
    }
}

/* Ticket-Link (1.4.9d) – absichtlich neutral, damit das Design frei gestylt werden kann. */
.lcb-matchcenter__ticket-wrap { display: flex; justify-content: center; margin-top: 18px; }
.lcb-matchcenter__ticket,
.lcb-matchcenter__ticket-link {
    display: inline-block;
    padding: 10px 16px;
    border: 1px solid currentColor;
    border-radius: 4px;
    color: inherit;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}


/* Nächste Heimspiele – Shortcode [lcb_heimspiele] */
.lcb-homegames {}
.lcb-homegames__list { display: grid; gap: 14px; }
.lcb-homegames__item {}
.lcb-homegames__meta {}
.lcb-homegames__date {}
.lcb-homegames__time {}
.lcb-homegames__competition {}
.lcb-homegames__match {}
.lcb-homegames__home {}
.lcb-homegames__home-label {}
.lcb-homegames__home-team {}
.lcb-homegames__vs {}
.lcb-homegames__opponent {}
.lcb-homegames__logo { max-width: 56px; height: auto; }
.lcb-homegames__opponent-logo {}
.lcb-homegames__opponent-name {}
.lcb-homegames__venue {}
.lcb-homegames__ticket {}


/* Spieltag-Navigation */
.lcb-round-results__nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:0 0 18px}.lcb-round-results__nav-side--next{text-align:right}.lcb-round-results__nav-link{text-decoration:none;font-weight:700}.lcb-round-results__nav-current{white-space:nowrap}@media(max-width:600px){.lcb-round-results__nav{gap:8px;font-size:13px}.lcb-round-results__nav-link{font-size:0}.lcb-round-results__nav-side--prev .lcb-round-results__nav-link:after{content:"←";font-size:20px}.lcb-round-results__nav-side--next .lcb-round-results__nav-link:after{content:"→";font-size:20px}}

/* Spieltag-Wechsel ohne Reload */
.lcb-round-results{transition:opacity .18s ease}.lcb-round-results.is-loading{opacity:.45;pointer-events:none}

/* =========================================================
   LC Brühl Custom Overrides
   Previously maintained as Elementor Custom CSS.
   Keep these rules in the plugin so updates preserve them.
   ========================================================= */

/* Matchcenter Headerbox Quickfix */
#results .lcb-round-results__logo{width:80px;}
#results .lcb-round-results__teams{border-bottom:1px solid #dddddd !important;padding:10px 0 10px 0;}

#hero-matchcenter, #matchcenter {color:#ffffff !important;}
#hero-matchcenter .elementor-heading-title{display:none !important;}
.lcb-matchcenter-hero__teams {margin-top:0px !important;}
.lcb-matchcenter-hero__team-name {font-size:16px !important;}
.lcb-matchcenter-hero__time {font-size:16px !important;}

.lcb-matchcenter__ticket-wrap {
    grid-column:1 / -1;
    text-align:center;
    margin-top:0px !important;
}

.lcb-matchcenter-hero__ticket {white-space:nowrap;}

/* Ticket Link */
.lcb-matchcenter__ticket-link,
.lcb-matchcenter__ticket-link:hover {color:#ffffff;}

/* Sponsoren */
.sponsoren img {
    padding:10px;
    border-radius:5px;
    border:1px solid #eaeaea;
    width:200px;
    height:100px;
}

/* Matchcenter */
.lcb-matchcenter-hero__logo{width:60px !important;}

/* Resultate: Heim links, Resultat Mitte, Auswärts rechts */
.lcb-round-results__team {
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
.lcb-round-results__team--home {
    justify-content:flex-start;
    text-align:left;
}
.lcb-round-results__team--away {
    justify-content:flex-end;
    text-align:right;
}
.lcb-round-results__score {text-align:center;}

/* SPIELPLAN */
.lcb-spielplan {width:100%;}

/* Eine Partie = eine Zeile */
.lcb-spielplan-row {
    display:grid;
    grid-template-columns:150px 80px 1fr 50px 1fr 180px 30px;
    align-items:center;
    gap:16px;
    min-height:82px;
    padding:12px 18px;
    background:#fff;
    border-bottom:1px solid #ddd;
}

/* Logos zwingend begrenzen */
.lcb-spielplan img,
.lcb-spielplan .lcb-team-logo {
    display:block;
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    object-fit:contain;
}

/* Teams */
.lcb-game-home,
.lcb-game-away {
    display:flex;
    align-items:center;
    gap:12px;
}
.lcb-game-away {justify-content:flex-start;}

/* VS */
.lcb-game-vs {text-align:center;font-weight:700;}

/* Liga */
.lcb-game-league {
    display:inline-flex;
    width:fit-content;
    padding:5px 10px;
    background:var(--e-global-color-primary);
    color:#fff;
    font-size:12px;
    font-weight:700;
}

/* Datum */
.lcb-game-day,
.lcb-game-time {display:block;}

/* Pfeil */
.lcb-game-link {font-size:22px;text-decoration:none;}


/* Hero Matchcenter – Feintuning 1.4.21 */
#hero-matchcenter .lcb-matchcenter-hero {
    min-height:400px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:100%;
    padding:28px 24px 24px;
}
#hero-matchcenter .lcb-matchcenter-hero__header {
    text-align:center;
}
#hero-matchcenter .lcb-matchcenter-hero__teams {
    display:grid;
    grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);
    align-items:center;
    gap:18px;
    width:100%;
    margin-top:28px !important;
}
#hero-matchcenter .lcb-matchcenter-hero__team {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-width:0;
}
#hero-matchcenter .lcb-matchcenter-hero__logo-wrap {
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
}
#hero-matchcenter .lcb-matchcenter-hero__logo {
    width:72px !important;
    height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
    object-fit:contain;
}
#hero-matchcenter .lcb-matchcenter-hero__team-name {
    font-size:16px !important;
    line-height:1.15;
    font-weight:700;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
}
#hero-matchcenter .lcb-matchcenter-hero__center {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:0;
}
#hero-matchcenter .lcb-matchcenter-hero__vs {
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}
#hero-matchcenter .lcb-matchcenter-hero__time {
    font-size:18px !important;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
}
#hero-matchcenter .lcb-matchcenter-hero__footer {
    margin-top:26px;
    text-align:center;
}
#hero-matchcenter .lcb-matchcenter-hero__venue {
    font-size:14px;
    line-height:1.3;
}
@media(max-width:767px) {
    #hero-matchcenter .lcb-matchcenter-hero {
        min-height:360px;
        padding:24px 16px 20px;
    }
    #hero-matchcenter .lcb-matchcenter-hero__teams {
        grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);
        gap:10px;
        margin-top:24px !important;
    }
    #hero-matchcenter .lcb-matchcenter-hero__logo-wrap,
    #hero-matchcenter .lcb-matchcenter-hero__logo {
        width:60px !important;
        height:60px !important;
        max-width:60px !important;
        max-height:60px !important;
    }
    #hero-matchcenter .lcb-matchcenter-hero__team-name {
        font-size:14px !important;
    }
}
