/*
 * KISURE FE1008 - DIRECT KNOCKOUT COMPONENT DESIGN
 * Targets the exact component DOM directly.
 */

.football-section--knockout-summary {
    --ko-primary: #0B9CA0;
    --ko-primary-dark: #087C78;
    --ko-primary-hover: #07878B;
    --ko-soft: #E8F7F7;
    --ko-text: #10282b;
    --ko-muted: #6b7f82;
    --ko-border: #d9e7e8;
    --ko-surface: #ffffff;
    --ko-surface-2: #f7fbfb;
    --ko-winner: rgba(11, 156, 160, .085);
    --ko-shadow: 0 7px 22px rgba(18, 55, 59, .07);
    --ko-shadow-hover: 0 12px 30px rgba(18, 55, 59, .12);

    position: relative !important;
    overflow: hidden !important;
    padding: 26px !important;
    border: 1px solid var(--ko-border) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfefe 100%) !important;
    box-shadow: 0 5px 22px rgba(18, 55, 59, .045) !important;
}

.football-section--knockout-summary .football-league-knockout-shell__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 24px !important;
    margin: 0 0 22px !important;
    padding: 0 0 22px !important;
    border-bottom: 1px solid var(--ko-border) !important;
}

.football-section--knockout-summary .football-league-knockout-shell__head > div {
    min-width: 0 !important;
}

.football-section--knockout-summary .site-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 8px !important;
    color: var(--ko-primary-dark) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.football-section--knockout-summary .site-kicker::before {
    content: "" !important;
    width: 30px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--ko-primary) !important;
}

.football-section--knockout-summary .football-league-knockout-shell__head h2 {
    margin: 0 !important;
    color: var(--ko-text) !important;
    font-size: clamp(25px, 2vw, 34px) !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

.football-section--knockout-summary .football-league-knockout-shell__head p {
    max-width: 720px !important;
    margin: 9px 0 0 !important;
    color: var(--ko-muted) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.football-section--knockout-summary .football-panel-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    border: 1px solid var(--ko-primary) !important;
    border-radius: 12px !important;
    background: var(--ko-primary) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(11, 156, 160, .17) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.football-section--knockout-summary .football-panel-link:hover {
    border-color: var(--ko-primary-hover) !important;
    background: var(--ko-primary-hover) !important;
    transform: translateY(-1px) !important;
}

.football-section--knockout-summary .football-league-knockout-board {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.football-section--knockout-summary .football-league-knockout-stage {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--ko-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: var(--ko-surface-2) !important;
}

.football-section--knockout-summary .football-league-knockout-stage__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ko-border) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4fbfb 100%) !important;
}

.football-section--knockout-summary .football-league-knockout-stage__head span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: var(--ko-text) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.football-section--knockout-summary .football-league-knockout-stage__head span::before {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
    border-radius: 999px !important;
    background: var(--ko-primary) !important;
    box-shadow: 0 0 0 4px rgba(11,156,160,.12) !important;
}

.football-section--knockout-summary .football-league-knockout-stage__head small {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(11,156,160,.20) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--ko-primary-dark) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.football-section--knockout-summary
.football-league-knockout-board[data-fe1005-knockout-stage-count="1"]
.football-league-knockout-stage__ties {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 14px !important;
    margin: 0 !important;
}

.football-section--knockout-summary
.football-league-knockout-board:not([data-fe1005-knockout-stage-count="1"]) {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(300px, 340px) !important;
    gap: 14px !important;
    overflow-x: auto !important;
    padding: 2px 2px 10px !important;
    scroll-snap-type: x proximity !important;
}

.football-section--knockout-summary
.football-league-knockout-board:not([data-fe1005-knockout-stage-count="1"])
.football-league-knockout-stage {
    scroll-snap-align: start !important;
}

.football-section--knockout-summary
.football-league-knockout-board:not([data-fe1005-knockout-stage-count="1"])
.football-league-knockout-stage__ties {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
}

.football-section--knockout-summary .football-league-knockout-tie {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    min-height: 136px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--ko-border) !important;
    border-radius: 14px !important;
    background: var(--ko-surface) !important;
    box-shadow: var(--ko-shadow) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.football-section--knockout-summary .football-league-knockout-tie::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 3px !important;
    background: var(--ko-primary) !important;
    opacity: .9 !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

.football-section--knockout-summary .football-league-knockout-tie:hover {
    border-color: rgba(11,156,160,.42) !important;
    box-shadow: var(--ko-shadow-hover) !important;
    transform: translateY(-2px) !important;
}

.football-section--knockout-summary .football-league-knockout-tie__link {
    display: flex !important;
    flex-direction: column !important;
    min-height: 136px !important;
    height: 100% !important;
    padding: 10px 11px 9px 13px !important;
    color: inherit !important;
    text-decoration: none !important;
    background: transparent !important;
}

.football-section--knockout-summary .football-league-knockout-team {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
}

.football-section--knockout-summary .football-league-knockout-team + .football-league-knockout-team {
    margin-top: 2px !important;
}

.football-section--knockout-summary .football-league-knockout-team.is-winner {
    background: var(--ko-winner) !important;
}

.football-section--knockout-summary .football-league-knockout-team__identity {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
}

.football-section--knockout-summary .football-league-knockout-team__identity img {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.football-section--knockout-summary .football-league-knockout-team__identity strong {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: var(--ko-text) !important;
    font-size: 14px !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.football-section--knockout-summary .football-league-knockout-team.is-winner
.football-league-knockout-team__identity strong {
    color: #075f61 !important;
    font-weight: 900 !important;
}

.football-section--knockout-summary .football-league-knockout-team > b {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 34px !important;
    height: 32px !important;
    padding: 0 8px !important;
    border: 1px solid #dbe7e8 !important;
    border-radius: 9px !important;
    background: #f5f9f9 !important;
    color: var(--ko-text) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.football-section--knockout-summary .football-league-knockout-team.is-winner > b {
    border-color: rgba(11,156,160,.30) !important;
    background: var(--ko-primary) !important;
    color: #fff !important;
}

.football-section--knockout-summary .football-league-knockout-tie__meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 32px !important;
    margin: auto 0 0 !important;
    padding: 8px 7px 0 !important;
    border-top: 1px solid #edf3f3 !important;
    color: var(--ko-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.football-section--knockout-summary .football-league-knockout-tie__meta span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 23px !important;
    padding: 0 8px !important;
    border: 1px solid rgba(11,156,160,.16) !important;
    border-radius: 999px !important;
    background: var(--ko-soft) !important;
    color: var(--ko-primary-dark) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .015em !important;
}

@media (max-width: 1100px) {
    .football-section--knockout-summary
    .football-league-knockout-board[data-fe1005-knockout-stage-count="1"]
    .football-league-knockout-stage__ties {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .football-section--knockout-summary {
        padding: 14px !important;
        border-radius: 16px !important;
    }

    .football-section--knockout-summary .football-league-knockout-shell__head {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding-bottom: 16px !important;
        margin-bottom: 16px !important;
    }

    .football-section--knockout-summary .football-league-knockout-shell__head h2 {
        font-size: 24px !important;
    }

    .football-section--knockout-summary .football-panel-link {
        width: 100% !important;
    }

    .football-section--knockout-summary
    .football-league-knockout-board[data-fe1005-knockout-stage-count="1"]
    .football-league-knockout-stage__ties {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    .football-section--knockout-summary .football-league-knockout-team__identity strong {
        white-space: normal !important;
    }
}

html[data-theme="dark"] .football-section--knockout-summary,
body.dark-mode .football-section--knockout-summary {
    --ko-text: #eefafa;
    --ko-muted: #9fb6b8;
    --ko-border: #29494d;
    --ko-surface: #122629;
    --ko-surface-2: #0e2124;
    --ko-winner: rgba(11,156,160,.15);
    --ko-shadow: 0 8px 24px rgba(0,0,0,.17);
    --ko-shadow-hover: 0 12px 30px rgba(0,0,0,.27);
    background: linear-gradient(180deg, #112629 0%, #102326 100%) !important;
}

html[data-theme="dark"] .football-section--knockout-summary .football-league-knockout-stage__head,
body.dark-mode .football-section--knockout-summary .football-league-knockout-stage__head {
    background: #13282b !important;
}

html[data-theme="dark"] .football-section--knockout-summary .football-league-knockout-stage__head small,
body.dark-mode .football-section--knockout-summary .football-league-knockout-stage__head small {
    background: #173034 !important;
    color: #8ed9da !important;
}

html[data-theme="dark"] .football-section--knockout-summary .football-league-knockout-team > b,
body.dark-mode .football-section--knockout-summary .football-league-knockout-team > b {
    border-color: #35575b !important;
    background: #193034 !important;
    color: #eefafa !important;
}

html[data-theme="dark"] .football-section--knockout-summary .football-league-knockout-team.is-winner
.football-league-knockout-team__identity strong,
body.dark-mode .football-section--knockout-summary .football-league-knockout-team.is-winner
.football-league-knockout-team__identity strong {
    color: #91e0df !important;
}

html[data-theme="dark"] .football-section--knockout-summary .football-league-knockout-tie__meta,
body.dark-mode .football-section--knockout-summary .football-league-knockout-tie__meta {
    border-top-color: #29484c !important;
}

html[data-theme="dark"] .football-section--knockout-summary .football-league-knockout-tie__meta span,
body.dark-mode .football-section--knockout-summary .football-league-knockout-tie__meta span {
    border-color: rgba(11,156,160,.28) !important;
    background: rgba(11,156,160,.12) !important;
    color: #8ed9da !important;
}
