/* ==========================================================================
   KISURE FE1006 ??? PROFESSIONAL KNOCKOUT BRACKET DESIGN
   Visual authority only. No football state/data ownership.
   ========================================================================== */

:root {
    --ks1006-primary: #0B9CA0;
    --ks1006-primary-dark: #087C78;
    --ks1006-primary-hover: #07878B;
    --ks1006-primary-soft: #E8F7F7;
    --ks1006-text: #102126;
    --ks1006-muted: #66777d;
    --ks1006-border: #dbe7e8;
    --ks1006-surface: #ffffff;
    --ks1006-page-soft: #f5fafa;
    --ks1006-shadow: 0 8px 22px rgba(13, 73, 76, .07);
    --ks1006-shadow-hover: 0 12px 30px rgba(10, 91, 94, .13);
}

/* --------------------------------------------------------------------------
   Outer knockout surface
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-section--knockout-summary.football-league-knockout-shell {
    padding: clamp(18px, 2.2vw, 28px) !important;
    border: 1px solid var(--ks1006-border) !important;
    border-radius: 20px !important;
    background:
        linear-gradient(180deg, #ffffff 0%, #ffffff 62%, #fbfefe 100%) !important;
    box-shadow: 0 10px 36px rgba(18, 77, 80, .045) !important;
    overflow: hidden;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 22px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid #e7eeee !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head > div:first-child {
    min-width: 0;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head .site-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 7px !important;
    color: var(--ks1006-primary-dark) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head .site-kicker::before {
    content: "" !important;
    width: 32px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--ks1006-primary) !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head h2 {
    margin: 0 !important;
    color: var(--ks1006-text) !important;
    font-size: clamp(23px, 2.15vw, 32px) !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head p {
    max-width: 680px !important;
    margin: 8px 0 0 !important;
    color: var(--ks1006-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head .football-panel-link {
    flex: 0 0 auto !important;
    width: auto !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid var(--ks1006-primary) !important;
    border-radius: 12px !important;
    background: var(--ks1006-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        transform .18s ease !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head .football-panel-link:hover {
    border-color: var(--ks1006-primary-hover) !important;
    background: var(--ks1006-primary-hover) !important;
    transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Board / stage authority
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-board[data-fe1005-knockout-stage-count] {
    width: 100% !important;
    padding: 0 !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-stage {
    overflow: hidden !important;
    border: 1px solid var(--ks1006-border) !important;
    border-radius: 17px !important;
    background: var(--ks1006-page-soft) !important;
    box-shadow: none !important;
}

/* One-stage competition should read as a single coherent round,
   not as a giant blank canvas containing loose text. */
html body.site-body main.football-page
.football-league-page
.football-league-knockout-board[data-fe1005-knockout-stage-count="1"]
> .football-league-knockout-stage {
    width: 100% !important;
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
   Round heading
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-stage__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 58px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--ks1006-border) !important;
    background:
        linear-gradient(
            110deg,
            rgba(11, 156, 160, .11) 0%,
            rgba(11, 156, 160, .045) 48%,
            rgba(255, 255, 255, .78) 100%
        ) !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-stage__head span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: var(--ks1006-text) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-stage__head span::before {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
    border-radius: 50% !important;
    background: var(--ks1006-primary) !important;
    box-shadow: 0 0 0 4px rgba(11, 156, 160, .13) !important;
}

html body.site-body main.football-page
.football-league-page
.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, .2) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: var(--ks1006-primary-dark) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

/* --------------------------------------------------------------------------
   Single-stage match grid
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-board[data-fe1005-knockout-stage-count="1"]
.football-league-knockout-stage__ties {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 16px !important;
}

/* --------------------------------------------------------------------------
   Match card
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie {
    position: relative !important;
    overflow: hidden !important;
    min-width: 0 !important;
    min-height: 132px !important;
    border: 1px solid #d7e4e5 !important;
    border-radius: 14px !important;
    background: var(--ks1006-surface) !important;
    box-shadow: var(--ks1006-shadow) !important;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    z-index: 2 !important;
    width: 3px !important;
    background: var(--ks1006-primary) !important;
    opacity: .8 !important;
    pointer-events: none !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie:hover {
    border-color: rgba(11, 156, 160, .42) !important;
    box-shadow: var(--ks1006-shadow-hover) !important;
    transform: translateY(-2px) !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__link {
    display: flex !important;
    min-height: 132px !important;
    height: 100% !important;
    flex-direction: column !important;
    color: inherit !important;
    text-decoration: none !important;
    background: transparent !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__link:hover {
    background: transparent !important;
}

/* --------------------------------------------------------------------------
   Team rows
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 8px 10px 8px 13px !important;
    border: 0 !important;
    background: #fff !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team
+ .football-league-knockout-team {
    border-top: 1px solid #edf2f2 !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team.is-winner {
    background:
        linear-gradient(
            90deg,
            rgba(11, 156, 160, .105) 0%,
            rgba(11, 156, 160, .035) 72%,
            rgba(255, 255, 255, 1) 100%
        ) !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team__identity {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 9px !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team__identity img {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    object-fit: contain !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team__identity strong {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #233338 !important;
    font-size: 13px !important;
    font-weight: 720 !important;
    line-height: 1.24 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team.is-winner
.football-league-knockout-team__identity strong {
    color: #0b5557 !important;
    font-weight: 900 !important;
}

/* Scores are explicit visual anchors instead of loose numbers. */
html body.site-body main.football-page
.football-league-page
.football-league-knockout-team > b {
    display: inline-grid !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    place-items: center !important;
    justify-self: end !important;
    border: 1px solid #dce6e7 !important;
    border-radius: 9px !important;
    background: #f5f8f8 !important;
    color: #34464a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-team.is-winner > b {
    border-color: var(--ks1006-primary) !important;
    background: var(--ks1006-primary) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------------------
   Aggregate / penalty footer
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__meta {
    display: flex !important;
    min-height: 34px !important;
    margin-top: auto !important;
    padding: 7px 11px 7px 13px !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    border-top: 1px solid #e9f0f0 !important;
    background: #f8fbfb !important;
    color: #63757a !important;
    font-size: 10.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__meta span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 21px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    background: #edf5f5 !important;
    color: #50666a !important;
    white-space: normal !important;
}

html body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__meta span:first-child {
    color: var(--ks1006-primary-dark) !important;
    background: rgba(11, 156, 160, .10) !important;
}

/* --------------------------------------------------------------------------
   Multi-stage cards still inherit the new professional treatment.
   FE1005 remains responsible for stage rail/grid geometry.
   -------------------------------------------------------------------------- */

html body.site-body main.football-page
.football-league-page
.football-league-knockout-board:not([data-fe1005-knockout-stage-count="1"])
.football-league-knockout-stage__ties {
    gap: 10px !important;
    padding: 10px !important;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1399px) {
    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-board[data-fe1005-knockout-stage-count="1"]
    .football-league-knockout-stage__ties {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1023px) {
    html body.site-body main.football-page
    .football-league-page
    .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) {
    html body.site-body main.football-page
    .football-league-page
    .football-section--knockout-summary.football-league-knockout-shell {
        padding: 13px !important;
        border-radius: 16px !important;
    }

    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-shell__head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: start !important;
        gap: 13px !important;
        padding-bottom: 14px !important;
        margin-bottom: 14px !important;
    }

    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-shell__head h2 {
        font-size: 23px !important;
    }

    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-shell__head .football-panel-link {
        width: 100% !important;
        justify-content: center !important;
    }

    html body.site-body main.football-page
    .football-league-page
    .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;
    }

    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-stage__head {
        min-height: 52px !important;
        padding: 10px 12px !important;
    }

    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-tie,
    html body.site-body main.football-page
    .football-league-page
    .football-league-knockout-tie__link {
        min-height: 126px !important;
    }
}

/* --------------------------------------------------------------------------
   Dark mode ??? still unmistakably Kisure
   -------------------------------------------------------------------------- */

html[data-theme="dark"] body.site-body {
    --ks1006-text: #eefafa;
    --ks1006-muted: #9fb6b8;
    --ks1006-border: #24464a;
    --ks1006-surface: #122629;
    --ks1006-page-soft: #0d2023;
    --ks1006-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    --ks1006-shadow-hover: 0 12px 32px rgba(0, 0, 0, .28);
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-section--knockout-summary.football-league-knockout-shell {
    border-color: #24464a !important;
    background:
        linear-gradient(180deg, #112629 0%, #102326 100%) !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head {
    border-bottom-color: #244247 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head h2 {
    color: #f3fbfb !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-shell__head p {
    color: #a4babc !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-stage {
    border-color: #285055 !important;
    background: #0c2023 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-stage__head {
    border-bottom-color: #285055 !important;
    background:
        linear-gradient(
            110deg,
            rgba(11, 156, 160, .22) 0%,
            rgba(11, 156, 160, .08) 55%,
            rgba(16, 38, 41, .9) 100%
        ) !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-stage__head span {
    color: #f2fbfb !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-stage__head small {
    border-color: rgba(94, 224, 217, .22) !important;
    background: rgba(14, 48, 51, .9) !important;
    color: #72ddd8 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-tie {
    border-color: #28494d !important;
    background: #122629 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team {
    background: #122629 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team
+ .football-league-knockout-team {
    border-top-color: #234247 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team.is-winner {
    background:
        linear-gradient(
            90deg,
            rgba(11, 156, 160, .24) 0%,
            rgba(11, 156, 160, .08) 72%,
            rgba(18, 38, 41, 1) 100%
        ) !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team__identity strong {
    color: #dbecec !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team.is-winner
.football-league-knockout-team__identity strong {
    color: #75dfda !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team > b {
    border-color: #315257 !important;
    background: #183034 !important;
    color: #d8e8e9 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-team.is-winner > b {
    border-color: #0B9CA0 !important;
    background: #0B9CA0 !important;
    color: #fff !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__meta {
    border-top-color: #24464a !important;
    background: #0f2225 !important;
    color: #9db3b5 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__meta span {
    background: #183237 !important;
    color: #adbec0 !important;
}

html[data-theme="dark"] body.site-body main.football-page
.football-league-page
.football-league-knockout-tie__meta span:first-child {
    background: rgba(11, 156, 160, .19) !important;
    color: #69d6d1 !important;
}
