/* Player tabs — ported from sporttv24 */
.player-wrap { max-width: 1280px; margin: 0 auto; }

/* Match title above the player (separates player from the block above) */
.os-player-title {
    max-width: 1280px;
    margin: 0 auto;
    padding: 22px 10px 16px;
    color: #20273F;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 600;
    text-align: center;
    text-transform: none;
}
@media (min-width: 1200px) {
    .os-player-title { font-size: 26px; padding-top: 28px; }
}

.tabs_box {
    width: 100%;
    max-width: 1280px;
    background: #fff;
    box-shadow: 0 3px 5px rgba(0,0,0,.5);
    margin: 0 auto;
}
.tabs_menu {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}
.tabs_menu li {
    flex: 1 1 auto;
    list-style: none;
    padding: 0;
    margin: 0;
}
.tabs_menu li a {
    display: block;
    width: 100%;
    text-align: center;
    text-decoration: none;
    background: #1e56d6;
    color: #fff;
    border-bottom: 0;
    border-left: 1px solid rgba(255,255,255,.22);
    padding: 15px 0;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .02em;
    transition: background .2s ease, color .2s ease;
}
.tabs_menu li:first-child a { border-left: 0; }
.tabs_menu li a:hover { background: #1746b8; color: #fff; }
.tabs_menu .active,
.tabs_menu li a.active { background: #0f3aa0; color: #fff; }
.tab { padding: 0; display: none; }
.tab.active { display: block; }
.tabs_box .tab:first-of-type { display: block; }

.player-iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-width: 1280px;
    display: block;
    border: 0;
}

/* Preloader safety: never let it linger */
.preloader { transition: opacity .3s ease, visibility .3s ease; }
.preloader.loaded { opacity: 0; visibility: hidden; pointer-events: none; }

/* wow-animation fallback: if JS never runs, still show content */
html.wow-animation body { visibility: visible !important; }

/* Sidebar styling moved to styles.css (unified card style on all pages).
   Legacy .match-sidebar overrides removed so the unified look applies. */

/* --- Mobile: off-canvas menu readability --- */
/* Below 1200px the navbar switches to the fixed (hamburger) layout. The sports
   links lived inside it but rendered as dark grey (#2c343b) on the dark panel
   (#35363c) — effectively invisible, so the menu looked empty. Make them light. */
@media (max-width: 1199px) {
    .rd-navbar-fixed .rd-navbar-main { background: #20273f; }
    .rd-navbar-fixed .rd-navbar-nav .rd-nav-link,
    .rd-navbar-fixed .rd-navbar-nav .rd-nav-link:link,
    .rd-navbar-fixed .rd-navbar-nav .rd-nav-link:visited {
        color: #fff !important;
    }
    .rd-navbar-fixed .rd-navbar-nav .rd-dropdown-link,
    .rd-navbar-fixed .rd-navbar-nav .rd-dropdown-link:link,
    .rd-navbar-fixed .rd-navbar-nav .rd-dropdown-link:visited {
        color: #d9dced !important;
    }
    .rd-navbar-fixed .rd-navbar-nav-wrap { background: transparent; }
    .rd-navbar-fixed .rd-nav-item + .rd-nav-item {
        border-top: 1px solid rgba(255, 255, 255, .08);
    }
}

/* --- Mobile: prevent horizontal overflow on match pages --- */
@media (max-width: 767px) {
    /* Footer videoroll ad slot is a hard-coded 600px box; on phones it stretched
       the document (and the fixed navbar with it). Keep it inside the viewport. */
    #vid_vpaut_div {
        max-width: 100% !important;
        overflow: hidden;
    }

    /* Match statistics tables (личные встречи / последние игры / турнирные таблицы):
       4 columns at natural width overflow narrow screens and add a horizontal
       scrollbar. Fit them to the viewport instead of scrolling the page. */
    .blog-post-content table {
        width: 100% !important;
        table-layout: fixed;
        border-collapse: collapse;
        font-size: 11px;
    }
    .blog-post-content table td,
    .blog-post-content table th {
        padding: 6px 4px !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        vertical-align: middle;
        line-height: 1.3;
    }
    /* Date column: let it wrap over several lines instead of being forced onto one. */
    .blog-post-content table td:nth-child(1) {
        width: 14%;
        font-size: 10px;
        white-space: normal;
        text-align: center;
    }
    .blog-post-content table td:nth-child(2) { width: 20%; } /* competition */
    .blog-post-content table td:nth-child(3) { width: 38%; text-align: center; } /* match */
    .blog-post-content table td:nth-child(4) { width: 28%; } /* stage/description */
    .blog-post-content table img {
        width: 16px !important;
        height: 16px !important;
        vertical-align: middle;
    }

    /* mobile-enhance.js splits the match cell into 3 stacked lines:
       team1 + logo / score / logo + team2. */
    .blog-post-content table td .ms-line {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 2px 4px;
        white-space: normal;
    }
    .blog-post-content table td .ms-score {
        font-weight: 700;
        margin: 2px 0;
    }
    .blog-post-content table td .ms-line img { flex: 0 0 auto; }
}
