/*
 * Homepage portal layer.
 * The markup stays semantic and link behavior stays server-driven; this file
 * only turns the homepage into a compact, information-rich football portal.
 */

body.sb-template-home .sb-page-shell {
    padding-top: 14px;
}

.pl-home {
    display: flex;
    flex-direction: column;
    gap: 14px !important;
    padding-bottom: 24px;
}

.pl-home > .pl-home-hero { order: 1; }
.pl-home > .pl-league-tabs { order: 2; }
.pl-home > .pl-news-section { order: 3; }
.pl-home > .fl-match-ticker { order: 4; }
.pl-home > .pl-match-layout { order: 5; }
.pl-home > .pl-kickoff-card { order: 6; }
.pl-home > .pl-premier-guide { order: 7; }
.pl-home > .pl-support-grid { order: 8; }
.pl-home > .pl-home-note { order: 9; }

.pl-home :where(.fl-panel, .pl-news-section) {
    overflow: hidden;
    border: 1px solid var(--portal-line) !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: 0 2px 6px rgba(16, 42, 67, .035) !important;
}

.pl-home :where(.fl-panel, .pl-news-section)::before {
    display: none !important;
}

/* Compact SEO introduction: visible and useful without occupying the screen. */
.pl-home-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    min-height: 104px !important;
    padding: 18px 22px !important;
    overflow: hidden;
    color: #fff !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: linear-gradient(112deg, var(--portal-navy) 0 70%, #163d51 100%) !important;
    box-shadow: none !important;
}

.pl-home-hero::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: var(--portal-green);
    content: "";
}

.pl-home-hero::after {
    right: 160px !important;
    width: 180px !important;
    height: 180px !important;
    opacity: .18 !important;
    border: 34px solid var(--portal-green) !important;
}

.pl-home-hero-copy {
    display: grid;
    grid-template-columns: minmax(150px, auto) minmax(0, 1fr);
    align-content: center;
    align-items: center;
    column-gap: 18px;
    min-width: 0;
}

.pl-home .pl-home-hero .fl-kicker {
    grid-column: 1 / -1;
    margin: 0 0 5px;
    color: #68dfad !important;
    font-size: 11px !important;
    letter-spacing: .04em !important;
}

.pl-home-hero h1 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(25px, 2.35vw, 34px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.04em !important;
}

.pl-home-hero-copy > p {
    display: -webkit-box;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden;
    color: #dce8ee !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pl-home-hero-copy > nav {
    grid-column: 1 / -1;
    display: flex;
    gap: 7px !important;
    margin-top: 9px !important;
}

.pl-home-hero-copy > nav a {
    min-height: 28px !important;
    padding: 0 11px !important;
    color: #e4eee9 !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 3px !important;
    background: rgba(255, 255, 255, .05) !important;
    font-size: 11px !important;
    line-height: 26px !important;
}

.pl-home-hero-copy > nav a.is-primary,
.pl-home-hero-copy > nav a:hover {
    color: #fff !important;
    border-color: var(--portal-green) !important;
    background: var(--portal-green) !important;
}

.pl-home-status {
    align-self: center;
    padding: 0 0 0 22px !important;
    border-left: 1px solid rgba(255, 255, 255, .16);
}

.pl-home-status > strong {
    margin-bottom: 7px !important;
    color: #bcd0d9 !important;
    font-size: 11px !important;
}

.pl-home-status dl {
    gap: 0 !important;
}

.pl-home-status dl > div {
    min-width: 82px;
    padding: 0 10px !important;
    border-left: 1px solid rgba(255, 255, 255, .12) !important;
}

.pl-home-status dl > div:first-child { border-left: 0 !important; }
.pl-home-status dt { color: #fff !important; font-size: 22px !important; }
.pl-home-status dd { color: #bcd0d9 !important; font-size: 10px !important; }

/* Direct league links behave like a compact channel bar. */
.pl-league-tabs {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-height: 58px !important;
    overflow: hidden;
    border: 1px solid var(--portal-line) !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.pl-league-tabs a {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center !important;
    min-width: 0;
    min-height: 58px !important;
    padding: 8px 14px !important;
    border-right: 1px solid var(--portal-line) !important;
    background: #fff !important;
}

.pl-league-tabs a:last-child { border-right: 0 !important; }
.pl-league-tabs a::after { display: none !important; }
.pl-league-tabs a::before {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #b5c1c8;
    content: "";
}

.pl-league-tabs a.is-focus,
.pl-league-tabs a:hover { background: var(--portal-green-soft) !important; }
.pl-league-tabs a.is-focus::before { background: var(--portal-green); }
.pl-league-tabs span { color: var(--portal-navy) !important; font-size: 14px !important; }
.pl-league-tabs small { margin-top: 3px; color: var(--portal-muted) !important; font-size: 10px !important; }

/* News portal: lead cards plus a dense, readable list. */
.pl-news-section {
    padding: 0 !important;
}

.pl-section-heading,
.pl-home .fl-panel-head {
    min-height: 68px !important;
    padding: 13px 16px !important;
    border-bottom: 1px solid var(--portal-line) !important;
    background: #fff !important;
}

.pl-home .fl-panel-head > div > span,
.pl-section-heading > div > span {
    margin-bottom: 2px !important;
    color: var(--portal-green-dark) !important;
    font-size: 10px !important;
    letter-spacing: .03em !important;
}

.pl-home .fl-panel-head h2,
.pl-section-heading h2 {
    color: var(--portal-navy) !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
}

.pl-home .fl-panel-head p,
.pl-section-heading p {
    margin-top: 3px !important;
    color: var(--portal-muted) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.pl-section-heading > a,
.pl-home .fl-panel-head > a,
.pl-home .fl-side-head > a,
.pl-home .fl-briefs > header > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 11px !important;
    color: var(--portal-green-dark) !important;
    border: 1px solid #bcded0 !important;
    border-radius: 3px !important;
    background: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.pl-section-heading > a:hover,
.pl-home .fl-panel-head > a:hover { color: #fff !important; background: var(--portal-green) !important; }

.pl-news-section .fl-lead-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.75fr) minmax(310px, .8fr) !important;
    gap: 0 !important;
    min-height: 392px;
}

.pl-news-section .fl-story-grid {
    min-height: 392px;
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 0 !important;
    background: #f5f7f8 !important;
}

.pl-news-section .fl-story {
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
}

.pl-news-section .fl-story::after {
    background: linear-gradient(0deg, rgba(5, 18, 28, .88), rgba(5, 18, 28, 0) 75%) !important;
}

.pl-news-section .fl-story > span {
    color: #fff !important;
    background: var(--portal-green) !important;
}

.pl-news-section .fl-story > strong {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.pl-news-section .fl-story.is-lead > strong { font-size: 19px !important; }

.pl-news-section .fl-briefs {
    border-left: 1px solid var(--portal-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.pl-news-section .fl-briefs > header {
    min-height: 45px !important;
    padding: 0 14px !important;
    border-bottom: 1px solid var(--portal-line) !important;
}

.pl-news-section .fl-briefs > div > a {
    min-height: 46px !important;
    padding: 0 14px !important;
    border-bottom: 1px dashed #e3e8ea !important;
}

.pl-news-section .fl-briefs > div > a:hover { background: var(--portal-green-soft) !important; }
.pl-news-section .fl-briefs > div time { color: #93a0a8 !important; font-size: 10px !important; }
.pl-news-section .fl-briefs > div span { color: #344955 !important; font-size: 12px !important; }

/* Compact ticker and match centre. */
.pl-home .fl-match-ticker {
    min-height: 42px !important;
    overflow: hidden;
    border: 1px solid var(--portal-line) !important;
    border-radius: 5px !important;
    background: #fff !important;
}

.pl-home .fl-match-ticker > strong {
    min-width: 104px;
    color: #fff !important;
    background: var(--portal-green) !important;
    font-size: 12px !important;
}

.pl-home .fl-match-ticker a { min-height: 40px !important; border-right: 1px solid var(--portal-line) !important; }
.pl-home .fl-match-ticker time { color: var(--portal-navy) !important; }

.pl-match-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 860px) minmax(280px, 1fr) !important;
    gap: 14px !important;
    align-items: start;
}

.pl-home .fl-match-board .fl-panel-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px !important;
}

.pl-home .fl-match-board .fl-panel-head nav {
    align-self: center;
    display: flex;
    padding: 3px !important;
    overflow: hidden;
    border: 1px solid var(--portal-line) !important;
    border-radius: 4px !important;
    background: #f6f8f8 !important;
}

.pl-home .fl-match-board .fl-panel-head nav a {
    min-width: 48px !important;
    min-height: 28px !important;
    padding: 0 9px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: transparent !important;
    font-size: 10px !important;
    line-height: 28px !important;
}

.pl-home .fl-match-board .fl-panel-head nav a.is-active,
.pl-home .fl-match-board .fl-panel-head nav a:hover {
    color: #fff !important;
    background: var(--portal-green) !important;
}

.pl-home .fl-match-table-head {
    min-height: 34px !important;
    padding: 0 12px !important;
    color: #72818b !important;
    border-bottom: 1px solid var(--portal-line) !important;
    background: #f6f8f8 !important;
    font-size: 10px !important;
}

.pl-home .fl-match-row {
    min-height: 60px !important;
    border-bottom: 1px solid var(--portal-line) !important;
    background: #fff !important;
}

.pl-home .fl-match-row:hover { background: #f7fbf9 !important; }
.pl-home .fl-match-row.state-live { box-shadow: inset 3px 0 var(--portal-green) !important; }
.pl-home .fl-match-data { min-width: 0; padding: 7px 6px 7px 12px !important; }
.pl-home .fl-match-data > time strong { color: var(--portal-navy) !important; font-size: 14px !important; }
.pl-home .fl-match-data > time small { color: #8b989f !important; font-size: 9px !important; }
.pl-home .fl-match-league { color: #566b78 !important; font-size: 10px !important; }
.pl-home .fl-match-team b { color: #20333f !important; font-size: 12px !important; }
.pl-home .fl-match-score { color: var(--portal-navy) !important; }

.pl-home .fl-match-row > .px-live-button,
body.sb-redesign .pl-home .fl-match-row > .px-live-button,
.pl-home .fl-match-row > .fl-match-action {
    align-self: center;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    min-height: 32px !important;
    margin: 0 10px 0 4px !important;
    padding: 0 9px !important;
    color: #fff !important;
    border: 1px solid var(--portal-green) !important;
    border-radius: 4px !important;
    background: var(--portal-green) !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.pl-home .fl-match-row > .px-live-button:hover,
body.sb-redesign .pl-home .fl-match-row > .px-live-button:hover,
.pl-home .fl-match-row > .fl-match-action:hover {
    color: #fff !important;
    background: var(--portal-green-dark) !important;
}

.pl-home .fl-match-board > footer {
    min-height: 38px !important;
    border-top: 0 !important;
    background: #fafbfb !important;
}

.pl-home-side { display: grid; gap: 14px !important; }
.pl-home .fl-side-head { min-height: 44px !important; padding: 0 13px !important; }
.pl-home .fl-side-head h2 { color: var(--portal-navy) !important; font-size: 15px !important; }

.pl-quick-list { padding: 0 !important; }
.pl-quick-list > a {
    min-height: 54px !important;
    padding: 7px 11px !important;
    border-bottom: 1px solid var(--portal-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.pl-quick-list > a:hover,
.pl-quick-list > a.is-featured { background: var(--portal-green-soft) !important; }
.pl-quick-list > a > i {
    width: 30px !important;
    height: 30px !important;
    color: var(--portal-green-dark) !important;
    border: 1px solid #cde7dc !important;
    border-radius: 50% !important;
    background: #fff !important;
    font-size: 11px !important;
}
.pl-quick-list strong { font-size: 12px !important; }
.pl-quick-list small { font-size: 9px !important; }
.pl-quick-list > a > b { color: var(--portal-green) !important; }

.pl-home .fl-standings-card li { min-height: 42px !important; }

/* Five-league timetable: five concise data cards instead of a tall table. */
.pl-kickoff-card .fl-panel-head { min-height: 76px !important; }
.pl-kickoff-table {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    background: #fff;
}

.pl-kickoff-head { display: none !important; }

.pl-kickoff-row {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 13px 10px;
    align-content: start;
    min-width: 0;
    min-height: 246px !important;
    padding: 17px 15px !important;
    border-right: 1px solid var(--portal-line) !important;
    border-bottom: 0 !important;
    background: #fff !important;
}

.pl-kickoff-row:last-child { border-right: 0 !important; }
.pl-kickoff-row::before {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: auto !important;
    height: 3px !important;
    background: var(--portal-green) !important;
}

.pl-kickoff-league { grid-column: 1 / -1; gap: 9px !important; }
.pl-kickoff-league > i {
    width: 30px !important;
    height: 30px !important;
    border: 7px solid var(--portal-green-soft) !important;
    background: var(--portal-green) !important;
}
.pl-kickoff-league strong { color: var(--portal-navy) !important; font-size: 17px !important; }
.pl-kickoff-league small,
.pl-kickoff-row time small,
.pl-kickoff-scale small,
.pl-kickoff-season small { color: #82909a !important; font-size: 9px !important; }
.pl-kickoff-row time strong { color: var(--portal-green-dark) !important; font-size: 15px !important; }
.pl-kickoff-scale strong,
.pl-kickoff-season strong { color: #2f4350 !important; font-size: 11px !important; }
.pl-kickoff-season { grid-column: 1 / -1; }
.pl-kickoff-season small {
    display: -webkit-box;
    margin-top: 4px;
    overflow: hidden;
    line-height: 1.55 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pl-kickoff-row > nav {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 6px !important;
}

.pl-kickoff-row > nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 31px !important;
    padding: 0 5px !important;
    color: var(--portal-green-dark) !important;
    border: 1px solid #cde4db !important;
    border-radius: 3px !important;
    background: #fff !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    text-align: center;
}

.pl-kickoff-row > nav a:first-child,
.pl-kickoff-row > nav a:hover { color: #fff !important; background: var(--portal-green) !important; }
.pl-kickoff-foot { min-height: 40px !important; padding: 0 15px !important; background: #fafbfb !important; }

/* Secondary modules remain dense but do not look assembled from unrelated cards. */
.pl-guide-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pl-guide-grid > a {
    min-height: 104px !important;
    padding: 14px !important;
    border-right: 1px solid var(--portal-line) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.pl-guide-grid > a:last-child { border-right: 0 !important; }
.pl-guide-grid > a:hover,
.pl-guide-grid > a.is-primary { background: var(--portal-green-soft) !important; }
.pl-guide-grid > a > i { color: var(--portal-green) !important; background: #fff !important; }
.pl-guide-grid strong { color: var(--portal-navy) !important; font-size: 13px !important; }
.pl-guide-grid small { font-size: 10px !important; }
.pl-guide-grid > a > b { color: #a6b4bb !important; }

.pl-support-grid { gap: 14px !important; }
.pl-home-note {
    padding: 16px 20px !important;
    border: 1px solid var(--portal-line) !important;
    border-radius: 6px !important;
    background: #fff !important;
}
.pl-home-note h2 { color: var(--portal-navy) !important; font-size: 18px !important; }
.pl-home-note p { color: #536775 !important; font-size: 11px !important; line-height: 1.75 !important; }
.pl-home-note nav { gap: 6px !important; }
.pl-home-note nav a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 29px !important;
    padding: 0 9px !important;
    color: var(--portal-green-dark) !important;
    border: 1px solid #d5e6df !important;
    border-radius: 3px !important;
    background: #fff !important;
    font-size: 10px !important;
    line-height: 1 !important;
}
.pl-home-note nav a:hover { color: #fff !important; background: var(--portal-green) !important; }

@media (max-width: 1023px) {
    .pl-home > .pl-news-section { order: 6; }
    .pl-home > .fl-match-ticker { order: 3; }
    .pl-home > .pl-match-layout { order: 4; }
    .pl-home > .pl-kickoff-card { order: 5; }

    .pl-home-hero { grid-template-columns: minmax(0, 1fr) 250px; }
    .pl-news-section .fl-lead-layout { grid-template-columns: minmax(0, 1.45fr) minmax(280px, .9fr) !important; }
    .pl-match-layout { display: block !important; }
    .pl-home-side {
        grid-template-columns: 1fr 1fr;
        margin-top: 14px;
    }
    .pl-kickoff-table { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pl-kickoff-row { border-bottom: 1px solid var(--portal-line) !important; }
}

@media (max-width: 767px) {
    body.sb-template-home .sb-page-shell { padding-top: 8px; }

    .pl-home {
        gap: 9px !important;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .pl-home > .pl-home-hero { order: 1; }
    .pl-home > .pl-league-tabs { order: 2; }
    .pl-home > .pl-match-layout { order: 3; }
    .pl-home > .fl-match-ticker { order: 4; }
    .pl-home > .pl-news-section { order: 5; }
    .pl-home > .pl-kickoff-card { order: 6; }

    .pl-home-hero {
        display: block;
        min-height: 112px !important;
        padding: 14px 15px 13px 18px !important;
    }

    .pl-home-hero-copy { display: block; }
    .pl-home .pl-home-hero .fl-kicker { margin-bottom: 3px; font-size: 9px !important; }
    .pl-home-hero h1 { font-size: 25px !important; }
    .pl-home-hero-copy > p {
        margin-top: 4px !important;
        font-size: 11px !important;
        line-height: 1.55 !important;
        -webkit-line-clamp: 2;
    }
    .pl-home-hero-copy > nav { margin-top: 7px !important; overflow: hidden; white-space: nowrap; }
    .pl-home-hero-copy > nav a { min-height: 26px !important; padding: 0 8px !important; line-height: 24px !important; }
    .pl-home-hero-copy > nav a:nth-child(n+3) { display: none !important; }
    .pl-home-status { display: none !important; }

    .pl-league-tabs {
        display: flex !important;
        min-height: 50px !important;
        overflow-x: auto !important;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }
    .pl-league-tabs::-webkit-scrollbar { display: none; }
    .pl-league-tabs a {
        flex: 0 0 92px;
        min-height: 50px !important;
        padding: 7px 10px !important;
        scroll-snap-align: start;
    }
    .pl-league-tabs span { font-size: 12px !important; }
    .pl-league-tabs small { font-size: 8px !important; }

    .pl-match-layout { display: block !important; width: 100%; }
    .pl-home-side { display: none !important; }
    .pl-home .fl-match-board { width: 100%; min-width: 0; }
    .pl-home .fl-match-board .fl-panel-head {
        display: block !important;
        min-height: 0 !important;
        padding: 12px !important;
    }
    .pl-home .fl-match-board .fl-panel-head h2 { font-size: 19px !important; }
    .pl-home .fl-match-board .fl-panel-head p { font-size: 10px !important; }
    .pl-home .fl-match-board .fl-panel-head nav {
        display: flex !important;
        margin-top: 9px !important;
        overflow-x: auto !important;
        scrollbar-width: none;
    }
    .pl-home .fl-match-board .fl-panel-head nav::-webkit-scrollbar { display: none; }
    .pl-home .fl-match-board .fl-panel-head nav a {
        flex: 0 0 52px !important;
        min-width: 52px !important;
    }
    .pl-home .fl-match-table-head { display: none !important; }

    .pl-home .fl-match-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 76px !important;
        min-width: 0 !important;
        min-height: 92px !important;
        padding: 0 !important;
    }
    .pl-home .fl-match-data {
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) 22px minmax(0, 1fr) !important;
        gap: 4px !important;
        min-width: 0 !important;
        padding: 11px 4px 11px 10px !important;
    }
    .pl-home .fl-match-league,
    .pl-home .fl-match-data > em { display: none !important; }
    .pl-home .fl-match-team { min-width: 0 !important; gap: 3px !important; }
    .pl-home .fl-match-team b {
        display: -webkit-box;
        overflow: hidden;
        font-size: 10px !important;
        line-height: 1.35 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .pl-home .fl-match-team img,
    .pl-home .fl-match-team .px-team-fallback { width: 22px !important; height: 22px !important; }
    .pl-home .fl-match-score { font-size: 11px !important; }
    .pl-home .fl-match-row > .px-live-button,
    body.sb-redesign .pl-home .fl-match-row > .px-live-button,
    .pl-home .fl-match-row > .fl-match-action {
        align-self: center;
        flex: none !important;
        width: 68px !important;
        min-width: 68px !important;
        max-width: 68px !important;
        min-height: 34px !important;
        margin: 0 8px 0 0 !important;
        padding: 0 5px !important;
        font-size: 10px !important;
    }

    .pl-home .fl-match-ticker { display: none !important; }

    .pl-section-heading,
    .pl-home .fl-panel-head { padding: 12px !important; }
    .pl-section-heading h2,
    .pl-home .fl-panel-head h2 { font-size: 18px !important; }
    .pl-section-heading p { display: none !important; }

    .pl-news-section .fl-lead-layout { display: block !important; min-height: 0; }
    .pl-news-section .fl-story-grid { min-height: 330px; }
    .pl-news-section .fl-briefs { border-top: 1px solid var(--portal-line) !important; border-left: 0 !important; }

    .pl-kickoff-card .fl-panel-head { min-height: 0 !important; }
    .pl-kickoff-table {
        display: flex !important;
        gap: 8px !important;
        padding: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .pl-kickoff-table::-webkit-scrollbar { display: none; }
    .pl-kickoff-row {
        flex: 0 0 242px;
        min-height: 220px !important;
        border: 1px solid var(--portal-line) !important;
        border-radius: 4px !important;
        scroll-snap-align: start;
    }
    .pl-kickoff-foot { padding: 0 11px !important; }
    .pl-kickoff-foot span { display: none !important; }

    .pl-premier-guide,
    .pl-support-grid { display: none !important; }
    .pl-home-note { padding: 13px !important; }
    .pl-home-note h2 { font-size: 16px !important; }
    .pl-home-note p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
    }
    .pl-home-note nav {
        display: flex !important;
        overflow-x: auto;
        flex-wrap: nowrap !important;
        scrollbar-width: none;
    }
    .pl-home-note nav::-webkit-scrollbar { display: none; }
    .pl-home-note nav a { flex: 0 0 auto; }
}

@media (max-width: 390px) {
    .pl-home .fl-match-row { grid-template-columns: minmax(0, 1fr) 70px !important; }
    .pl-home .fl-match-data { grid-template-columns: 42px minmax(0, 1fr) 18px minmax(0, 1fr) !important; }
    .pl-home .fl-match-team img,
    .pl-home .fl-match-team .px-team-fallback { display: none !important; }
    .pl-home .fl-match-row > .px-live-button,
    body.sb-redesign .pl-home .fl-match-row > .px-live-button,
    .pl-home .fl-match-row > .fl-match-action {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        margin-right: 5px !important;
    }
}
