body{
    margin:0;
    background:#0b0b0b;
    color:#fff;
    font-family:Arial, Helvetica, sans-serif;
}

.container{
    max-width:1280px;
    margin:0 auto;
    padding:0 24px;
}

/* Header */

.site-header{
    background:#080808;
}

.site-header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
}

.logo,
.footer-logo{
    color:#fff;
    text-decoration:none;
    font-weight:900;
    letter-spacing:1px;
}

.logo{
    font-size:32px;
}

.logo span,
.footer-logo span{
    color:#e21b2d;
}

.menu{
    display:flex;
    gap:50px;
    margin:0;
    padding:0;
    list-style:none;
}

.menu a{
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:14px;
    font-weight:800;
}

.menu a:hover{
    color:#e21b2d;
}

/* Main */

.site-main{
    max-width:1280px;
    margin:0 auto;
    padding:60px 24px;
}

/* Hero */

.hero-layout{
    max-width:1280px;
    margin:0 auto 60px;
    display:grid;
    grid-template-columns:1.6fr 1fr;   /* текст + карточка матча, на всю ширину */
    gap:24px;
}

.match-button{
    display:inline-block;
    margin-top:24px;
    border:1px solid #e21b2d;
    background:transparent;
    color:#fff;
    text-decoration:none;
    padding:14px 22px;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.3px;
}

.match-button:hover{
    background:#e21b2d;
    color:#fff;
}

/* Match card */

.match-card{
    border:1px solid #272727;
    background:#0d0d0d;
    padding:55px 30px;
    text-align:center;
}

.match-card h3{
    text-transform:uppercase;
    margin:0 0 18px;
}

.match-card p,
.match-place{
    color:#999;
}

.match-teams{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    margin:35px 0;
}

.match-teams span{
    font-size:24px;
    font-weight:700;
    color:#777;
}

.team-logo{
    width:80px;
    height:80px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 12px;
}

.team-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.match-date{
    font-weight:800;
    margin-bottom:10px;
}

.match-time{
    font-size:36px;
    font-weight:900;
    margin-bottom:12px;
}

/* Sections */

.latest-news,
.related-news,
.archive-news{
    max-width:1280px;
    margin:70px auto;
}

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #272727;
    padding-bottom:22px;
    margin-bottom:32px;
}

.section-header h2{
    margin:0;
    text-transform:uppercase;
    font-size:28px;
}

.section-header h2::after{
    content:"";
    display:block;
    width:48px;
    height:3px;
    background:#e21b2d;
    margin-top:12px;
}

.section-header a{
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:13px;
    font-weight:800;
}

/* News cards */

.news-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:stretch;
}

.news-card{
    border:1px solid #272727;
    background:#111;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:210px;
    transition:.3s;
    cursor:pointer;
}

.news-card:hover{
    border-color:#e21b2d;
    transform:translateY(-4px);
}

.news-card-link{
    display:contents;
    color:inherit;
    text-decoration:none;
}

.news-thumb{
    background:linear-gradient(135deg,#1b1b1b,#090909);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#e21b2d;
    font-size:28px;
    font-weight:900;
    text-transform:uppercase;
    overflow:hidden;
}

.news-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.news-card:hover .news-thumb img{
    transform:scale(1.05);
}

.news-content{
    padding:28px;
    background:#111;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
}

.news-content span{
    color:#e21b2d;
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
    margin-bottom:12px;
}

.news-content h3{
    color:#fff;
    font-size:22px;
    line-height:1.3;
    margin:0 0 24px;
}

.read-more,
.news-content a{
    color:#e21b2d;
    text-decoration:none;
    text-transform:uppercase;
    font-size:13px;
    font-weight:800;
}

.news-card:hover .news-content h3,
.news-card:hover .read-more{
    color:#ff3045;
}

/* Latest news special first card */

.latest-news .news-card:first-child{
    grid-row:span 2;
    grid-template-columns:1fr;
}

.latest-news .news-card:first-child .news-thumb{
    min-height:300px;
}

.latest-news .news-card:first-child .news-content{
    min-height:190px;
}

/* =========================
   Главная: матчи, таблица, лидеры (front-page.php → .home-dashboard)
========================= */

.home-dashboard{
    max-width:1280px;
    margin:80px auto;
    display:grid;
    grid-template-columns:1fr 1.1fr 1fr;
    gap:24px;
    align-items:stretch;
}

.dash-card{
    display:flex;
    flex-direction:column;
    min-width:0;               /* чтобы длинные названия не распирали колонку */
    padding:28px;
    border:1px solid #272727;
    background:
        radial-gradient(circle at 100% 0%, rgba(226,27,45,.12), transparent 35%),
        linear-gradient(135deg,#111,#070707);
}

/* Заголовок карточки с красной чертой */
.dash-title{
    position:relative;
    margin:0 0 22px;
    padding-bottom:14px;
    font-size:22px;
    text-transform:uppercase;
    letter-spacing:.5px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.dash-title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-1px;
    width:48px;
    height:3px;
    background:#e21b2d;
}

.dash-empty{
    list-style:none;
    padding:12px 0;
    color:#777;
    font-size:14px;
}

/* Вкладки (радиокнопки без JS): Наступні/Останні, Бомбардири/Асистенти */
.dash-tabs input{
    display:none;
}

.dash-tabs-header{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-bottom:18px;
    border:1px solid #2a2a2a;
}

.dash-tabs-header label{
    padding:10px 16px;
    background:#0c0c0c;
    color:#777;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    cursor:pointer;
    transition:.2s;
}

.dash-tabs-header label:hover{
    color:#fff;
}

#tab-next:checked ~ .dash-tabs-header label[for="tab-next"],
#tab-last:checked ~ .dash-tabs-header label[for="tab-last"],
#tab-goals:checked ~ .dash-tabs-header label[for="tab-goals"],
#tab-assists:checked ~ .dash-tabs-header label[for="tab-assists"]{
    background:#e21b2d;
    color:#fff;
}

.dash-panel{
    display:none;
}

#tab-next:checked ~ .panel-next,
#tab-last:checked ~ .panel-last,
#tab-goals:checked ~ .panel-goals,
#tab-assists:checked ~ .panel-assists{
    display:block;
}

/* Список матчей */
.fixtures{
    list-style:none;
    margin:0;
    padding:0;
}

.fixture{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.fixture:last-child{
    border-bottom:none;
}

.fixture-date{
    flex:0 0 52px;
    padding-right:12px;
    border-right:1px solid rgba(255,255,255,.08);
    text-align:center;
}

.fixture-date strong{
    display:block;
    color:#fff;
    font-size:16px;
}

.fixture-date span{
    display:block;
    margin-top:2px;
    color:#888;
    font-size:12px;
}

.fixture-body{
    flex:1;
    min-width:0;
}

.fixture-teams{
    color:#bdbdbd;
    font-size:15px;
    line-height:1.35;
}

.fixture-teams strong{
    color:#fff;
}

.fixture-score{
    display:inline-block;
    margin:0 6px;
    padding:1px 8px;
    border:1px solid #2e2e2e;
    background:#1a1a1a;
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.fixture-vs{
    margin:0 4px;
    color:#666;
}

.fixture-meta{
    margin-top:4px;
    color:#777;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.3px;
}

/* Метка результата: В / Н / П */
.fixture-result{
    flex:0 0 26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:4px;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.fixture-win .fixture-result{ background:#1f9d55; }
.fixture-draw .fixture-result{ background:#555; }
.fixture-loss .fixture-result{ background:#e21b2d; }

/* Турнирная таблица */
.dash-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}

.dash-table th{
    padding:0 8px 10px;
    border-bottom:1px solid rgba(255,255,255,.1);
    color:#777;
    font-size:11px;
    font-weight:700;
    text-align:left;
    text-transform:uppercase;
    letter-spacing:.6px;
}

.dash-table td{
    padding:8px;
    border-bottom:1px solid rgba(255,255,255,.05);
    color:#cfcfcf;
}

.dash-table th:first-child,
.dash-table td:first-child{
    width:28px;
    color:#777;
    text-align:center;
}

.dash-table th:nth-child(3),
.dash-table td:nth-child(3),
.dash-table th:nth-child(4),
.dash-table td:nth-child(4){
    width:40px;
    text-align:right;
}

.dash-table td strong{
    color:#fff;
}

.dash-table tbody tr:hover{
    background:rgba(255,255,255,.03);
}

.highlight-row{
    background:linear-gradient(90deg, rgba(226,27,45,.55), rgba(226,27,45,.12));
    box-shadow:inset 4px 0 0 #e21b2d;
}

.highlight-row td,
.dash-table .highlight-row td:first-child{
    color:#fff;
    font-weight:900;
}

/* Бомбардиры / ассистенты */
.scorer-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.scorer-item:first-child{
    margin-bottom:8px;
    padding:16px;
    border:1px solid rgba(226,27,45,.35);
    background:linear-gradient(90deg, rgba(226,27,45,.3), transparent);
}

.scorer-item .scorer-rank{
    flex:0 0 36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#e21b2d,#ff3045);
    box-shadow:0 0 14px rgba(226,27,45,.35);
    color:#fff;
    font-weight:900;
}

.scorer-item:first-child .scorer-rank{
    flex-basis:46px;
    height:46px;
    font-size:20px;
}

.scorer-item .player-stat-link,
.scorer-item .player-stat-name{
    display:block;
    margin-bottom:3px;
    color:#fff;
    font-size:15px;
    font-weight:800;
}

.scorer-item:first-child .player-stat-link,
.scorer-item:first-child .player-stat-name{
    font-size:18px;
}

.scorer-item div > span:last-child{
    color:#999;
    font-size:13px;
}

.table-link{
    display:inline-block;
    margin-top:auto;           /* прижать ссылку к низу карточки */
    padding-top:22px;
    color:#e21b2d;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    text-decoration:none;
}

/* Планшет: матчи и таблица рядом, лидеры — под ними на всю ширину */
@media (max-width:1100px){
    .home-dashboard{
        grid-template-columns:1fr 1fr;
    }

    .home-dashboard .top-stats{
        grid-column:1 / -1;
    }
}

/* Телефон: всё в одну колонку */
@media (max-width:700px){
    .home-dashboard{
        grid-template-columns:1fr;
        margin:40px auto;
    }

    .dash-card{
        padding:20px;
    }
}

/* Archive */

.archive-grid{
    grid-template-columns:repeat(2,1fr);
}

.archive-grid .news-card:first-child{
    grid-row:auto;
    grid-template-columns:1fr 1fr;
}

.archive-grid .news-card:first-child .news-thumb{
    min-height:210px;
}

.archive-grid .news-card:first-child .news-content{
    min-height:auto;
}

/* Single post */

.single-page{
    max-width:960px;
    margin:80px auto;
    padding:0 24px;
}

.single-article{
    border:1px solid #272727;
    background:#101010;
    padding:60px;
}

.breadcrumbs{
    margin-bottom:30px;
    color:#777;
    font-size:14px;
}

.breadcrumbs a{
    color:#aaa;
    text-decoration:underline;
    transition:.2s;
}

.breadcrumbs a:hover{
    color:#ed1b2f;
}

.breadcrumbs span{
    margin:0 5px;
}

.breadcrumbs .current{
    color:#777;
}

.single-thumbnail{
    margin:0 -60px 45px;
}

.single-thumbnail img{
    width:100%;
    height:420px;
    object-fit:cover;
    display:block;
}

.single-meta{
    color:#e21b2d;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:24px;
}

.single-article h1{
    font-size:56px;
    line-height:1.1;
    margin:0 0 34px;
}

.single-content{
    color:#d0d0d0;
    font-size:18px;
    line-height:1.8;
}

.single-back{
    margin-top:45px;
    padding-top:30px;
    border-top:1px solid #272727;
}

.single-back a{
    color:#e21b2d;
    text-decoration:none;
    font-weight:800;
    text-transform:uppercase;
}

/* Related news */

.related-news .news-grid{
    grid-template-columns:repeat(3,1fr);
}

.related-news .news-card{
    display:flex;
    flex-direction:column;
    min-height:auto;
    height:100%;
}

.related-news .news-thumb{
    height:180px;
    min-height:180px;
    flex-shrink:0;
}

.related-news .news-content{
    flex:1;
    padding:24px;
}

.related-news .news-content h3{
    font-size:22px;
    line-height:1.3;
    margin:12px 0 20px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.related-news .news-content a{
    margin-top:auto;
}

/* Footer */

.site-footer{
    margin-top:90px;
    border-top:1px solid #272727;
    background:#070707;
    padding:60px 0;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:60px;
}

.footer-logo{
    font-size:28px;
    margin-bottom:18px;
}

.site-footer p{
    color:#999;
    line-height:1.6;
    max-width:420px;
}

.site-footer h4{
    margin:0 0 18px;
    text-transform:uppercase;
}

.site-footer a{
    display:block;
    color:#aaa;
    text-decoration:none;
    margin-bottom:12px;
}

.site-footer a:hover{
    color:#e21b2d;
}

.news-meta{
    color:#e21b2d;
}

.news-meta em{
    color:#777;
    font-style:normal;
    margin:0 6px;
}

/* =====================================================
   TEAM PAGE
===================================================== */

/* Hero */

/* Sections */

.squad-section{
    margin-bottom:80px;
}

.squad-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    padding-bottom:20px;
    margin-bottom:28px;
    border-bottom:1px solid #272727;
}

.squad-heading h2{
    margin:0;
    font-size:28px;
    text-transform:uppercase;
}

.squad-heading h2::after{
    content:"";
    display:block;
    width:48px;
    height:3px;
    margin-top:12px;
    background:#e21b2d;
}

.squad-heading span{
    color:#666;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

/* Player grid */

.players-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

/* Player card */

.player-card{
    position:relative;
    overflow:hidden;
    border:1px solid #272727;
    background:
        radial-gradient(circle at 70% 15%, rgba(226,27,45,.18), transparent 28%),
        linear-gradient(145deg,#151515,#080808);
    transition:transform .3s ease, border-color .3s ease;
}

.player-card:hover{
    transform:translateY(-6px);
    border-color:#e21b2d;
    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.player-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:3px;
    height:0;
    background:#e21b2d;
    transition:.3s ease;
    z-index:3;
}

.player-card:hover::before{
    height:100%;
}

.player-card-link{
    display:block;
    height:100%;
    color:inherit;
    text-decoration:none;
}

/* Photo */

.player-photo{
    position:relative;
    height:320px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    padding:20px;
    box-sizing:border-box;
    background:
        radial-gradient(circle at 50% 40%, rgba(226,27,45,.22), transparent 32%),
        linear-gradient(145deg,#171717,#080808);
}

.player-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    display:block;
    transition:.4s ease;
}

.player-card:hover .player-photo img{
    transform:scale(1.05);
}

.player-photo::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:45%;
    background:linear-gradient(to top,rgba(0,0,0,.9),transparent);
    pointer-events:none;
}

.player-photo > span{
    position:relative;
    z-index:2;
    font-size:92px;
    font-weight:900;
    line-height:1;
    color:rgba(255,255,255,.08);
}

/* Info */

.player-info{
    position:relative;
    padding:22px 24px 24px;
}

.player-number{
    color:#e21b2d;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.7px;
    margin-bottom:8px;
}

.player-info h3{
    margin:0 0 8px;
    color:#fff;
    font-size:24px;
    line-height:1.15;
}

.player-info > p{
    margin:0 0 18px;
    color:#aaa;
    font-size:14px;
}

/* Meta */

.player-meta{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#777;
    font-size:12px;
    text-transform:uppercase;
}

/* Responsive */

@media (max-width:1000px){
    .players-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:600px){
    

    

    

    .players-grid{
        grid-template-columns:1fr;
    }

    .player-photo{
        height:380px;
    }
}

/* Coach grid */

.coach-grid{
    grid-template-columns:repeat(4,1fr);
}

.coach-player-card{
    grid-column:1 / 2;
}

.coach-player-card .player-number{
    text-transform:uppercase;
}

@media (max-width:1000px){
    .coach-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:600px){
    .coach-grid{
        grid-template-columns:1fr;
    }
}

.player-stat-link{
    color:#fff;
    text-decoration:none;
    font-weight:800;
    transition:color .2s ease;
}

.player-stat-link:hover{
    color:#ed1b2f;
}

.player-stat-name{
    color:#fff;
    font-weight:800;
}

/* =====================================================
   PLAYER SINGLE PAGE
===================================================== */

.player-single{
    max-width:1280px;
    margin:0 auto;
    padding:70px 24px;
}

.player-breadcrumbs{
    margin-bottom:30px;
}

.player-profile{
    display:grid;
    grid-template-columns:420px 1fr;
    border:1px solid #272727;
    overflow:hidden;
    background:
        radial-gradient(circle at 80% 20%, rgba(226,27,45,.18), transparent 30%),
        #0c0c0c;
}

.player-profile-photo{
    position:relative;
    height:520px;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 35%, rgba(226,27,45,.28), transparent 32%),
        linear-gradient(145deg,#181818,#080808);
}

.player-profile-photo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    padding:20px;
    box-sizing:border-box;
    display:block;
}

.profile-number{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    font-size:180px;
    font-weight:900;
    color:rgba(255,255,255,.06);
}

.player-profile-info{
    padding:60px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.player-profile-label{
    color:#e21b2d;
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:1px;
    margin-bottom:26px;
}

.player-profile-number{
    color:#e21b2d;
    font-size:18px;
    font-weight:900;
    margin-bottom:10px;
}

.player-profile-info h1{
    margin:0 0 20px;
    font-size:64px;
    line-height:1;
}

.player-profile-position{
    color:#aaa;
    font-size:20px;
    margin-bottom:40px;
}

.player-profile-meta{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.player-profile-meta div{
    padding:22px 0;
}

.player-profile-meta div + div{
    border-left:1px solid rgba(255,255,255,.08);
    padding-left:30px;
}

.player-profile-meta span{
    display:block;
    color:#777;
    text-transform:uppercase;
    font-size:11px;
    font-weight:800;
    margin-bottom:7px;
}

.player-profile-meta strong{
    font-size:18px;
}

.player-bio,
.player-news{
    margin-top:70px;
}

.player-bio-content{
    max-width:850px;
    color:#ccc;
    font-size:18px;
    line-height:1.8;
}

.player-news-grid{
    grid-template-columns:repeat(2,1fr);
}

.player-news-grid .news-card{
    min-height:220px;
}

.empty-player-news{
    padding:30px;
    border:1px solid #272727;
    background:#0d0d0d;
    color:#777;
}

@media (max-width:800px){
    .player-profile{
        grid-template-columns:1fr;
    }

    .player-profile-photo{
        height:420px;
    }

    .player-profile-info{
        padding:40px 30px;
    }

    .player-profile-info h1{
        font-size:46px;
    }

    .player-news-grid{
        grid-template-columns:1fr;
    }
}

/* Player statistics */

.player-statistics{
    margin-top:70px;
}

.stats-subtitle{
    margin:8px 0 0;
    color:#777;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.player-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:1px solid #272727;
    background:
        radial-gradient(circle at 100% 0%, rgba(226,27,45,.12), transparent 30%),
        #0d0d0d;
}

.player-stat{
    position:relative;
    padding:36px 30px;
}

.player-stat + .player-stat{
    border-left:1px solid rgba(255,255,255,.08);
}

.player-stat strong{
    display:block;
    color:#fff;
    font-size:42px;
    line-height:1;
    font-weight:900;
    margin-bottom:12px;
}

.player-stat span{
    color:#777;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.player-stat:first-child::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:3px;
    height:100%;
    background:#e21b2d;
}

@media (max-width:800px){
    .player-stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .player-stat:nth-child(3){
        border-left:0;
        border-top:1px solid rgba(255,255,255,.08);
    }

    .player-stat:nth-child(4){
        border-top:1px solid rgba(255,255,255,.08);
    }
}

/* Player stats tabs */

.player-stats-tabs input{
    display:none;
}

.player-stats-tabs-header{
    display:flex;
    width:max-content;
    border:1px solid #2a2a2a;
    margin-bottom:24px;
}

.player-stats-tabs-header label{
    cursor:pointer;
    padding:13px 22px;
    background:#0b0b0b;
    color:#777;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    transition:.25s;
}

#stats-total:checked ~ .player-stats-tabs-header label[for="stats-total"],
#stats-season:checked ~ .player-stats-tabs-header label[for="stats-season"]{
    background:#e21b2d;
    color:#fff;
}

.player-stats-panel{
    display:none;
}

#stats-total:checked ~ .player-stats-panels .total-panel{
    display:block;
}

#stats-season:checked ~ .player-stats-panels .season-panel{
    display:block;
}

/* =====================================================
   SEASON PAGE
===================================================== */

.season-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:1px solid rgba(255,255,255,.08);
}

.season-stat{
    padding:50px;
    border-right:1px solid rgba(255,255,255,.08);
}

.season-stat:last-child{
    border-right:none;
}

.season-stat strong{
    display:block;
    font-size:64px;
    color:#ff2233;
    margin-bottom:10px;
}

.season-stat span{
    color:#888;
    text-transform:uppercase;
    letter-spacing:1px;
}

/* Archive of seasons */

.seasons-archive{
    padding:0;
}

.section-title{
    position:relative;
    font-size:42px;
    font-weight:800;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:50px;
}

.section-title::after{
    content:"";
    display:block;
    width:70px;
    height:3px;
    background:#ff1e1e;
    margin-top:15px;
}

.seasons-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.season-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:560px;
    padding:50px 45px;
    background:#070707;
    border:1px solid rgba(255,255,255,.08);
    text-decoration:none;
    color:#fff;
    overflow:hidden;
    transition:all .3s ease;
}

/* лого на фоне */
.season-card::before{
    content:"ACM";
    position:absolute;
    right:-20px;
    bottom:-40px;
    font-size:180px;
    font-weight:900;
    line-height:1;
    color:rgba(255,0,0,.05);
    pointer-events:none;
}

/* красная линия снизу */
.season-card::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:2px;
    background:#ff1e1e;
}

.season-card:hover{
    transform:translateY(-6px);
    border-color:rgba(255,30,30,.4);
    box-shadow:
        0 10px 35px rgba(0,0,0,.45),
        0 0 25px rgba(255,0,0,.12);
}

.season-card-label{
    display:block;
    color:#ff1e1e;
    text-transform:uppercase;
    font-size:14px;
    font-weight:700;
    margin-bottom:20px;
}

.season-card-year{
    font-size:82px;
    line-height:.9;
    color:#fff;
    margin:60px 0 40px;
}

.season-card-tournaments{
    list-style:none;
    margin:0;
    padding:0;
    flex:1;
}

.season-card-tournaments li{
    position:relative;
    color:#cfcfcf;
    font-size:18px;
    margin-bottom:14px;
    padding-left:18px;
}

.season-card-tournaments li::before{
    content:"•";
    position:absolute;
    left:0;
    color:#ff1e1e;
}

.season-card-link{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    color:#ff2337;
    font-size:18px;
    font-weight:700;
    text-transform:uppercase;
    transition:.3s;
}

.season-card:hover .season-card-link{
    color:#fff;
}

/* History block */

@media (max-width:992px){
    .seasons-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:768px){
    .seasons-grid{
        grid-template-columns:1fr;
    }

    .season-card-year{
        font-size:48px;
    }

    

    
}

/* =====================================================
   SEASON DETAIL PAGE
===================================================== */

.competition-section{
    padding:60px 0;
}

.competition-title{
    font-size:48px;
    font-weight:800;
    margin-bottom:30px;
}

.competition-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr 0.8fr;
    gap:24px;
    margin-top:30px;
}

.table-card,
.matches-card,
.leaders-card{
    background:#0b0b0b;
    border:1px solid rgba(255,255,255,.08);
    padding:25px;
}

.table-card h3,
.matches-card h3,
.leaders-card h3{
    margin-bottom:20px;
    font-size:24px;
}

/* Season league table */

.season-league-table{
    width:100%;
    border-collapse:collapse;
    margin-top:20px;
}

.season-league-table th{
    text-align:left;
    font-size:12px;
    color:#777;
    padding:12px 10px;
    border-bottom:1px solid #222;
    text-transform:uppercase;
}

.season-league-table td{
    padding:14px 10px;
    border-bottom:1px solid #151515;
}

.season-league-table tr:hover{
    background:#101010;
}

.active-team{
    background:#3b0910;
}

.active-team td{
    color:#ff3d57;
    font-weight:700;
}

/* Matches list */

.matches-list{
    list-style:none;
    padding:0;
    margin:20px 0;
}

.matches-list li{
    padding:12px 0;
    border-bottom:1px solid #151515;
}

.next-title{
    margin-top:40px;
}

/* Leaders tabs */

.leaders-tabs{
    display:flex;
    gap:10px;
    margin-bottom:20px;
}

.leaders-tabs button{
    background:transparent;
    border:1px solid rgba(255,255,255,.15);
    color:#fff;
    padding:10px 15px;
    cursor:pointer;
}

.leaders-tabs button.active{
    background:#ff2337;
    border-color:#ff2337;
}

.leader-row{
    display:flex;
    justify-content:space-between;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}

@media (max-width:1200px){
    .competition-grid{
        grid-template-columns:1fr;
    }

    
}

/* =====================================================
   GENERIC PAGE HERO (used on team / archive / etc.)
===================================================== */

.page-hero-label{
    display:block;
    margin-bottom:20px;
    color:#ff2337;
    font-size:18px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
}

.page-hero-title{
    margin:20px 0;
    font-size:96px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
}

.page-hero-description{
    max-width:700px;
    margin:0;
    color:rgba(255,255,255,.7);
    font-size:28px;
    line-height:1.6;
}

@media (max-width:992px){
    

    .page-hero-title{
        font-size:56px;
    }

    .page-hero-description{
        font-size:18px;
    }
}

@media (max-width:768px){
    

    

    .page-hero-title{
        font-size:42px;
    }

    .page-hero-description{
        font-size:16px;
    }
}

/* Intro boxes */

.home-hero-content{
    padding:48px;
    background:#111;
    border:1px solid rgba(255,255,255,.08);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* .page-hero-title is normally sized for a full-width hero box;
   inside the narrower 2fr column of .hero-layout it needs to be smaller */
.home-hero-content .page-hero-title{
    font-size:48px;
    margin:16px 0;
}

.home-hero-content .page-hero-description{
    font-size:18px;
}

@media (max-width:700px){
    .home-hero-content .page-hero-title{
        font-size:34px;
    }
}

/* =========================
   Пагинация (списки новостей, рубрики, поиск)
========================= */

.navigation.pagination{
    margin-top:50px;
}

.pagination .nav-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.pagination .page-numbers{
    min-width:44px;
    padding:10px 14px;
    border:1px solid #272727;
    background:#101010;
    color:#ccc;
    text-align:center;
    text-decoration:none;
    font-weight:700;
}

.pagination .page-numbers:hover{
    border-color:#e21b2d;
    color:#fff;
}

.pagination .page-numbers.current{
    background:#e21b2d;
    border-color:#e21b2d;
    color:#fff;
}

.pagination .page-numbers.dots{
    border-color:transparent;
    background:none;
}

/* =========================
   Карточка матча (template-parts/match-card.php)
========================= */

/* Заголовок карточки теперь h2 (правильный порядок заголовков), выглядит как раньше h3 */
.match-card .match-card-title{
    font-size:1.17em;
    text-transform:uppercase;
    margin:0 0 18px;
}

/* Заглушка, если файла логотипа нет */
.team-logo-fallback{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:2px solid #333;
    background:#161616;
    color:#ccc;
    font-size:18px;
    font-weight:900;
    letter-spacing:1px;
}

/* =========================
   Страница сезона
========================= */

.season-goals{
    margin-top:20px;
    color:#999;
}

.season-goals strong{
    color:#fff;
}

.match-list-date{
    display:block;
    color:#777;
    font-size:12px;
    margin-bottom:4px;
}

.season-updated{
    margin-top:24px;
    color:#666;
    font-size:13px;
}

.leader-row .player-stat-link{
    color:#fff;
}

@media (max-width:900px){
    .season-stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .season-stat{
        padding:30px;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .season-stat strong{
        font-size:44px;
    }
}

/* Имя игрока «Мілана» в списках лидеров — ссылка на его страницу */
.scorer-item .player-stat-link,
.leader-row .player-stat-link{
    display:flex;              /* отдельной строкой, как было */
    width:fit-content;         /* кликабельно только само имя */
    align-items:center;
    gap:6px;
}

.scorer-item .player-stat-link::after,
.leader-row .player-stat-link::after{
    content:"→";
    color:#e21b2d;
    font-size:.85em;
    opacity:0;
    transform:translateX(-4px);
    transition:opacity .2s ease, transform .2s ease;
}

.scorer-item .player-stat-link:hover,
.leader-row .player-stat-link:hover{
    color:#ff3045;
}

.scorer-item .player-stat-link:hover::after,
.leader-row .player-stat-link:hover::after{
    opacity:1;
    transform:none;
}

/* Игрок «Мілана» в общем списке турнира — красная точка перед именем */
.scorer-item .player-stat-link::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#e21b2d;
    order:-1;
}


/* =========================
   Единые отступы страниц
   Сверху страницы — отступ .site-main (60px), под верхним блоком (.hero-layout) — 60px.
   Первая секция после верхнего блока не добавляет своего отступа сверху,
   поэтому расстояние одинаковое на всех страницах.
========================= */

.hero-layout + *{
    margin-top:0;
    padding-top:0;
}

/* Планшет и телефон: текст и карточка матча друг под другом */
@media (max-width:900px){
    .hero-layout{
        grid-template-columns:1fr;
        margin-bottom:40px;
    }

    .home-hero-content{
        padding:32px 24px;
    }

    .match-card{
        padding:32px 24px;
    }
}

/* =========================
   Обычная страница (page.php): текст под общим верхним блоком
========================= */

.page-body .single-content{
    max-width:820px;            /* строки не слишком длинные — удобно читать */
}

@media (max-width:700px){
    .page-body .single-article{
        padding:28px 20px;
    }
}

/* Заголовки, списки и плашка «Важливо» внутри текста страниц и новостей */

.single-content h2,
.single-content h3{
    color:#fff;
    font-weight:800;
    line-height:1.25;
}

.single-content h2{
    position:relative;
    font-size:28px;
    margin:48px 0 18px;
    padding-left:18px;
}

/* Красная полоска слева — фирменный акцент, как у заголовков разделов */
.single-content h2::before{
    content:"";
    position:absolute;
    left:0;
    top:4px;
    bottom:4px;
    width:4px;
    border-radius:2px;
    background:#e21b2d;
}

.single-content h3{
    font-size:22px;
    margin:36px 0 14px;
}

.single-content > h2:first-child,
.single-content > h3:first-child{
    margin-top:0;
}

.single-content ul,
.single-content ol{
    padding-left:24px;
    margin:0 0 24px;
}

.single-content li{
    margin-bottom:6px;
}

.single-content li::marker{
    color:#e21b2d;
}

/* Абзац со стилем «Важливо» (выбирается в редакторе) */
.single-content .is-style-milan-note{
    margin:28px 0;
    padding:20px 24px;
    border:1px solid rgba(226,27,45,.45);
    border-left:4px solid #e21b2d;
    border-radius:10px;
    background:rgba(226,27,45,.08);
    color:#e8e8e8;
}

.single-content .is-style-milan-note strong{
    color:#fff;
}

@media (max-width:700px){
    .single-content h2{
        font-size:23px;
        margin-top:36px;
        padding-left:14px;
    }

    .single-content h3{
        font-size:19px;
    }

    .single-content .is-style-milan-note{
        padding:16px 18px;
    }
}

/* =========================
   Блок «Історії» на главной: три вертикальные карточки
========================= */

.stories-block{
    max-width:1280px;
    margin:70px auto;
}

.stories-grid{
    grid-template-columns:repeat(3,1fr);
}

.stories-grid .news-card{
    display:flex;
    flex-direction:column;
    min-height:auto;
}

.stories-grid .news-thumb{
    height:200px;
    flex-shrink:0;
}

.stories-grid .news-content{
    flex:1;
    padding:24px;
    justify-content:flex-start;
}

.stories-grid .news-content h3{
    font-size:19px;
}

@media (max-width:900px){
    .stories-grid{
        grid-template-columns:1fr;
    }
}

/* Карточка без миниатюры: эмблема на тёмном фоне */
.news-thumb .news-thumb-placeholder{
    width:100%;
    height:100%;
    min-height:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 50% 50%, rgba(226,27,45,.18), transparent 60%),
        linear-gradient(135deg,#1b1b1b,#090909);
}

.news-thumb .news-thumb-placeholder img{
    width:auto;
    height:45%;
    max-height:120px;
    object-fit:contain;
    opacity:.85;
}

.news-card:hover .news-thumb .news-thumb-placeholder img{
    transform:none;
}

/* =====================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ≤ 900px — планшет и телефон: меню-«бургер», сетки в одну колонку.
   ≤ 600px — телефон: меньше отступы и шрифты, карточки новостей вертикально.
===================================================== */

/* ---- Шапка ---- */

.site-header{
    position:relative;
    z-index:50;
}

.site-header .container{
    min-height:72px;
    box-sizing:border-box;       /* width:100% + отступы не должны выходить за экран */
}

.logo{
    white-space:nowrap;          /* логотип всегда в одну строку */
}

.menu-toggle{
    display:none;                /* на компьютере не нужна */
    width:44px;
    height:44px;
    padding:10px;
    border:1px solid #2a2a2a;
    background:transparent;
    cursor:pointer;
    flex-direction:column;
    justify-content:center;
    gap:6px;
}

.menu-toggle-bar{
    display:block;
    width:100%;
    height:2px;
    background:#fff;
    transition:transform .25s ease, opacity .2s ease;
}

.menu-toggle:focus-visible{
    outline:2px solid #e21b2d;
    outline-offset:2px;
}

/* Крестик, когда меню открыто */
.menu-open .menu-toggle-bar:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.menu-open .menu-toggle-bar:nth-child(2){ opacity:0; }
.menu-open .menu-toggle-bar:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

.menu .current-menu-item > a,
.menu .current_page_item > a{
    color:#e21b2d;
}

@media (max-width:900px){

    .site-header .container{
        min-height:64px;
        padding:0 16px;
    }

    .logo{
        font-size:22px;
    }

    .menu-toggle{
        display:flex;
    }

    /* Меню — выпадающая панель под шапкой */
    .site-nav{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:#080808;
        border-top:1px solid #1f1f1f;
        border-bottom:3px solid #e21b2d;
        box-shadow:0 20px 40px rgba(0,0,0,.6);
    }

    .menu-open .site-nav{
        display:block;
    }

    .menu{
        flex-direction:column;
        gap:0;
    }

    .menu a{
        display:block;
        padding:18px 16px;          /* большая зона нажатия для пальца */
        font-size:16px;
        border-bottom:1px solid #1a1a1a;
    }

    .menu li:last-child a{
        border-bottom:none;
    }

    /* ---- Сетки — в одну колонку ---- */

    .news-grid,
    .archive-grid,
    .related-news .news-grid,
    .player-news-grid,
    .stories-grid{
        grid-template-columns:1fr;
    }

    .latest-news .news-card:first-child{
        grid-row:auto;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:36px;
    }

    .footer-grid > div:first-child{
        grid-column:1 / -1;
    }
}

@media (max-width:600px){

    /* ---- Общие отступы ---- */

    .container{
        padding:0 16px;
    }

    .site-main{
        padding:28px 16px 40px;
    }

    .latest-news,
    .related-news,
    .archive-news,
    .stories-block{
        margin:48px auto;
    }

    .section-header{
        flex-wrap:wrap;
        gap:10px 16px;
        padding-bottom:16px;
        margin-bottom:22px;
    }

    .section-header h2,
    .squad-heading h2{
        font-size:22px;
    }

    /* ---- Верхний блок страницы ---- */

    .home-hero-content .page-hero-title{
        font-size:32px;
        overflow-wrap:anywhere;
    }

    .page-hero-label{
        font-size:14px;
        margin-bottom:10px;
    }

    .page-hero-description{
        font-size:15px;
    }

    .match-teams{
        gap:12px;
        margin:24px 0;
    }

    .match-time{
        font-size:30px;
    }

    /* ---- Карточка новости: картинка сверху, текст снизу ---- */

    .news-card,
    .latest-news .news-card:first-child{
        display:flex;
        flex-direction:column;
        min-height:auto;
    }

    .news-thumb,
    .latest-news .news-card:first-child .news-thumb{
        height:190px;
        min-height:190px;
    }

    .news-content,
    .latest-news .news-card:first-child .news-content{
        min-height:auto;
        padding:18px 18px 20px;
    }

    .news-content h3{
        font-size:18px;
        margin-bottom:16px;
    }

    .news-card:hover{
        transform:none;          /* на телефоне «подпрыгивание» при касании мешает */
    }

    /* ---- Страница новости / обычная страница ---- */

    .single-page{
        margin:24px auto;
        padding:0 16px;
    }

    .single-article{
        padding:24px 18px;
    }

    .single-article h1{
        font-size:28px;
        line-height:1.2;
        margin-bottom:20px;
        overflow-wrap:break-word;
    }

    .single-content{
        font-size:17px;
        line-height:1.7;
    }

    .single-content img,
    .single-content iframe,
    .single-content video{
        max-width:100%;
        height:auto;
    }

    /* Таблицы в тексте статьи прокручиваются, а не растягивают страницу */
    .single-content table{
        display:block;
        overflow-x:auto;
    }

    /* ---- Команда и игрок ---- */

    .player-photo{
        height:280px;
    }

    .player-profile-info h1{
        font-size:34px;
    }

    /* Мелкие подписи — не меньше 12px, чтобы читались на телефоне */
    .dash-table th,
    .player-profile-meta span{
        font-size:12px;
    }

    /* ---- Футер ---- */

    .site-footer{
        margin-top:56px;
        padding:40px 0;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:28px;
    }
}

/* =====================================================
   КОММЕНТАРИИ (comments.php, inc/comments.php)
===================================================== */

.comments-area{
    max-width:960px;
    margin:70px auto 0;
    padding:0 24px;
}

.comments-count{
    display:inline-block;
    min-width:34px;
    margin-left:8px;
    padding:2px 10px;
    background:#e21b2d;
    color:#fff;
    font-size:16px;
    text-align:center;
    vertical-align:middle;
}

.comments-empty,
.comments-closed{
    padding:24px;
    border:1px solid #272727;
    background:#0d0d0d;
    color:#999;
}

/* ---- Список ---- */

.comment-list,
.comment-list .children{
    list-style:none;
    margin:0;
    padding:0;
}

.comment-list > li{
    margin-bottom:16px;
}

/* Ответы — со сдвигом и красной линией слева */
.comment-list .children{
    margin:12px 0 0 28px;
    padding-left:20px;
    border-left:2px solid #2a2a2a;
}

.comment-list .children li{
    margin-bottom:12px;
}

.comment-card{
    display:flex;
    gap:16px;
    padding:20px;
    border:1px solid #232323;
    background:#101010;
}

.comment-staff > .comment-card{
    border-color:rgba(226,27,45,.45);
    background:linear-gradient(90deg, rgba(226,27,45,.08), #101010 40%);
}

.comment-avatar{
    flex:0 0 44px;
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:15px;
    font-weight:800;
}

.comment-avatar-staff{
    background:#1a1a1a;
    border:1px solid #333;
}

.comment-main{
    flex:1;
    min-width:0;               /* длинные слова и ссылки не распирают карточку */
}

.comment-head{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:6px 12px;
    margin-bottom:8px;
}

.comment-author{
    color:#fff;
    font-weight:800;
}

.comment-badge{
    padding:2px 8px;
    background:#e21b2d;
    color:#fff;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.comment-date{
    color:#777;
    font-size:13px;
    text-decoration:none;
}

.comment-date:hover{
    color:#aaa;
}

.comment-pending{
    margin:0 0 8px;
    padding:8px 12px;
    background:#1c1608;
    border-left:3px solid #d4a017;
    color:#d8c48a;
    font-size:14px;
}

.comment-text{
    color:#d0d0d0;
    font-size:16px;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.comment-text p{
    margin:0 0 10px;
}

.comment-text p:last-child{
    margin-bottom:0;
}

.comment-text a{
    color:#ff5a67;
}

.comment-actions{
    display:flex;
    gap:16px;
    margin-top:12px;
}

.comment-actions a{
    color:#e21b2d;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    text-decoration:none;
}

.comment-actions a:hover{
    color:#ff3045;
}

.comment-edit a{
    color:#777;
}

/* ---- Форма ---- */

.comment-respond{
    margin-top:28px;
    padding:28px;
    border:1px solid #272727;
    background:#0d0d0d;
}

/* Форма ответа внутри ветки — чуть компактнее */
.comment-list .comment-respond{
    margin:12px 0 0;
    padding:20px;
}

.comment-reply-title{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
    margin:0 0 12px;
    font-size:20px;
    text-transform:uppercase;
}

.comment-reply-title small a{
    color:#999;
    font-size:13px;
    font-weight:700;
    text-transform:none;
}

.comment-notes{
    margin:0 0 18px;
    color:#888;
    font-size:14px;
}

.comment-notes a{
    color:#e21b2d;
}

.comment-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 16px;
}

.comment-form > p{
    margin:0 0 16px;
}

.comment-form .comment-notes,
.comment-form .comment-form-comment,
.comment-form .comment-form-cookies-consent,
.comment-form .form-submit,
.comment-form .logged-in-as{
    grid-column:1 / -1;
}

.comment-form label{
    display:block;
    margin-bottom:6px;
    color:#bbb;
    font-size:14px;
    font-weight:700;
}

.comment-form label small{
    color:#777;
    font-weight:400;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea{
    width:100%;
    box-sizing:border-box;
    padding:12px 14px;
    border:1px solid #2e2e2e;
    background:#070707;
    color:#fff;
    font:inherit;
    font-size:16px;             /* 16px — iPhone не приближает страницу при вводе */
    border-radius:0;
}

.comment-form textarea{
    min-height:130px;
    resize:vertical;
}

.comment-form input:focus,
.comment-form textarea:focus{
    outline:none;
    border-color:#e21b2d;
}

.comment-form-cookies-consent{
    display:flex;
    align-items:center;
    gap:10px;
}

.comment-form-cookies-consent input{
    width:18px;
    height:18px;
    accent-color:#e21b2d;
}

.comment-form-cookies-consent label{
    margin:0;
    font-weight:400;
    color:#999;
}

.comment-submit{
    padding:14px 28px;
    border:0;
    background:#e21b2d;
    color:#fff;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.5px;
    cursor:pointer;
    transition:background .2s ease;
}

.comment-submit:hover{
    background:#ff3045;
}

/* Поле-ловушка для ботов: людям не видно */
.comment-hp{
    position:absolute !important;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

/* Пагинация комментариев */
.comments-pagination{
    margin:20px 0;
}

.comments-pagination .nav-links{
    display:flex;
    gap:8px;
}

.comments-pagination .page-numbers{
    padding:8px 12px;
    border:1px solid #272727;
    color:#ccc;
    text-decoration:none;
}

.comments-pagination .page-numbers.current{
    background:#e21b2d;
    border-color:#e21b2d;
    color:#fff;
}

/* Счётчик комментариев на карточке новости */
.news-content .news-meta .news-comments{
    margin:0;
    color:#999;
    font-size:inherit;
}

/* ---- Телефон ---- */

@media (max-width:600px){
    .comments-area{
        margin-top:48px;
        padding:0 16px;
    }

    .comment-card{
        gap:12px;
        padding:16px;
    }

    .comment-avatar{
        flex-basis:36px;
        width:36px;
        height:36px;
        font-size:13px;
    }

    /* На телефоне ветки сдвигаются меньше, иначе глубокие ответы становятся узкими */
    .comment-list .children{
        margin-left:8px;
        padding-left:12px;
    }

    .comment-respond{
        padding:20px 16px;
    }

    .comment-form{
        grid-template-columns:1fr;
    }

    .comment-submit{
        width:100%;
    }
}

/* Строка «Джерело: …» в конце новости (создаётся парсером новостей) — неярко, мелко */
.single-content .news-source{
    margin-top:32px;
    padding-top:12px;
    border-top:1px solid #1f1f1f;
    color:#666;
    font-size:12px;
    line-height:1.5;
}

.single-content .news-source a{
    color:#7a7a7a;
    text-decoration-color:rgba(255,255,255,.15);
}

.single-content .news-source a:hover{
    color:#aaa;
}

/* Подпись «Редакція Milanista» в строке с датой */
.single-byline{
    color:#9a9a9a;
}

/* Нижняя строка футера: копирайт и оговорка «неофіційний фан-сайт» */
.footer-bottom{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px 24px;
    margin-top:40px;
    padding-top:24px;
    border-top:1px solid #1f1f1f;
}

.site-footer .footer-bottom p{
    max-width:none;
    margin:0;
    color:#666;
    font-size:13px;
    line-height:1.5;
}

@media (max-width:600px){
    .footer-bottom{
        flex-direction:column;
        margin-top:28px;
    }
}

/* =========================
   Поиск: кнопка в шапке, строка поиска, страница результатов
========================= */

.screen-reader-text{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
}

.site-nav{
    margin-left:auto;           /* меню прижато вправо, к кнопкам */
}

.header-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:40px;
}

.search-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #2a2a2a;
    background:transparent;
    color:#fff;
    cursor:pointer;
    transition:color .2s ease, border-color .2s ease;
}

.search-toggle:hover,
.search-open .search-toggle{
    color:#e21b2d;
    border-color:#e21b2d;
}

.search-toggle:focus-visible{
    outline:2px solid #e21b2d;
    outline-offset:2px;
}

/* Строка поиска — выпадает под шапкой, как мобильное меню */
.site-search{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:20px 0;
    background:#080808;
    border-top:1px solid #1f1f1f;
    border-bottom:3px solid #e21b2d;
    box-shadow:0 20px 40px rgba(0,0,0,.6);
}

.site-search[hidden]{
    display:none;
}

.site-search-inner{
    max-width:1280px;
    margin:0 auto;
    padding:0 24px;
    box-sizing:border-box;
}

/* Форма поиска (в шапке и на странице результатов) */
.search-form{
    display:flex;
    gap:10px;
}

.search-form input[type="search"]{
    flex:1;
    min-width:0;
    height:52px;
    box-sizing:border-box;
    padding:0 18px;
    border:1px solid #2e2e2e;
    border-radius:0;
    background:#070707;
    color:#fff;
    font:inherit;
    font-size:17px;
    -webkit-appearance:none;
    appearance:none;
}

.search-form input[type="search"]::placeholder{
    color:#666;
}

.search-form input[type="search"]:focus{
    outline:none;
    border-color:#e21b2d;
}

.search-form button{
    display:flex;
    align-items:center;
    gap:8px;
    height:52px;
    padding:0 26px;
    border:0;
    background:#e21b2d;
    color:#fff;
    font-size:14px;
    font-weight:800;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease;
}

.search-form button:hover{
    background:#b3121f;
}

/* Страница результатов */
.search-form--page{
    max-width:820px;
    margin-bottom:56px;
}

.search-section{
    margin-bottom:56px;
}

.search-players{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
    gap:16px;
}

.search-player{
    display:flex;
    align-items:center;
    gap:16px;
    padding:14px 18px;
    border:1px solid #242424;
    background:#111;
    color:#fff;
    text-decoration:none;
    transition:border-color .2s ease, transform .2s ease;
}

.search-player:hover{
    border-color:#e21b2d;
    transform:translateY(-2px);
}

.search-player-photo{
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    overflow:hidden;
    border-radius:50%;
    background:#1a1a1a;
}

.search-player-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.search-player-photo .search-player-logo{
    width:auto;
    height:34px;
    object-fit:contain;
    opacity:.8;
}

.search-player-info{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.search-player-info strong{
    font-size:17px;
    line-height:1.25;
}

.search-player-info small{
    color:#888;
    font-size:13px;
}

.search-player-arrow{
    margin-left:auto;
    color:#e21b2d;
    font-weight:800;
}

.search-empty{
    padding:30px;
    border:1px solid #272727;
    background:#0d0d0d;
    color:#999;
    line-height:1.6;
}

.search-empty p{
    margin:0 0 10px;
}

.search-empty strong{
    color:#fff;
}

.search-empty-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px !important;
}

.search-empty-links a{
    padding:10px 18px;
    border:1px solid #2e2e2e;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
}

.search-empty-links a:hover{
    border-color:#e21b2d;
    color:#e21b2d;
}

@media (max-width:900px){
    .header-actions{
        margin-left:auto;
        gap:8px;
    }

    .site-search{
        padding:16px 0;
    }

    .site-search-inner{
        padding:0 16px;
    }
}

@media (max-width:600px){
    .search-form input[type="search"]{
        height:48px;
        font-size:16px;             /* 16px — iPhone не приближает страницу при вводе */
        padding:0 14px;
    }

    .search-form button{
        height:48px;
        padding:0 16px;
    }

    .search-form button span{
        display:none;               /* на телефоне только лупа */
    }

    .search-form--page,
    .search-section{
        margin-bottom:40px;
    }

    .search-players{
        grid-template-columns:1fr;
    }
}

/* Страница 404: форма поиска и ссылки на разделы */
.notfound-actions .search-form--page{
    margin-bottom:20px;
}

/* Длинное название рубрики или метки не вылезает за край */
.page-hero-title{
    overflow-wrap:anywhere;
}

/* Время чтения: в новости и на карточках — спокойным серым рядом с датой */
.single-meta em{
    color:#777;
    font-style:normal;
    margin:0 6px;
}

.single-read-time,
.news-content .news-meta .news-read-time{
    color:#999;
}

/* Строка над заголовком карточки: переносится целыми кусками «• значение» */
.news-content .news-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    row-gap:4px;
}

.news-content .news-meta .news-meta-item{
    margin:0;                   /* общее правило .news-content span даёт отступ снизу */
}

.news-meta-item{
    display:inline-flex;
    align-items:center;
    line-height:1.3;
    white-space:nowrap;
}

/* Ссылка на политику конфиденциальности в нижней строке футера и под формой комментария */
.footer-bottom-sep{
    margin:0 8px;
    color:#444;
}

.footer-bottom a,
.comment-notes a{
    color:#888;
    text-decoration:underline;
    text-underline-offset:3px;
}

.footer-bottom a:hover,
.comment-notes a:hover{
    color:#fff;
}

.footer-bottom p:first-child{
    flex-shrink:0;              /* «© … · Політика конфіденційності» — одной строкой */
}

.site-footer .footer-bottom a{
    display:inline;             /* ссылки навигации в футере — блочные, эта — в строке */
    margin:0;
}

/* =====================================================
   МАТЧ-ДЕЙ: табло, прогноз, текстовая трансляция, список матчей
===================================================== */

/* Верхний блок без карточки матча — на всю ширину */
.hero-layout--solo{
    grid-template-columns:1fr;
}

.md-match{
    margin-bottom:60px;
}

/* ---- Табло ---- */

.md-board{
    padding:32px 32px 28px;
    border:1px solid #272727;
    background:#0d0d0d;
    text-align:center;
}

.md-board-top{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:10px 16px;
    margin-bottom:24px;
}

.md-competition{
    color:#999;
    font-size:14px;
}

.md-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 12px;
    border:1px solid #333;
    color:#ccc;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.md-status--live{
    border-color:#e21b2d;
    background:#e21b2d;
    color:#fff;
}

.md-status--live::before,
.md-dot{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:currentColor;
    animation:md-pulse 1.4s ease-in-out infinite;
}

.md-status--ht{
    border-color:#d4a017;
    color:#d4a017;
}

.md-status--finished{
    color:#888;
}

.md-status--postponed{
    border-color:#555;
    color:#888;
}

@keyframes md-pulse{
    0%, 100%{ opacity:1; }
    50%{ opacity:.25; }
}

.md-teams{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:24px;
}

.md-team{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    min-width:0;
}

.md-team strong{
    font-size:22px;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.md-team--milan strong{
    color:#fff;
}

.md-center{
    min-width:150px;
}

.md-score{
    font-size:72px;
    font-weight:900;
    line-height:1;
    letter-spacing:2px;
    white-space:nowrap;
}

.md-score span{
    margin:0 10px;
    color:#e21b2d;
}

.md-score--empty{
    font-size:44px;
    color:#bbb;
}

.md-board-meta{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px 24px;
    margin-top:24px;
    color:#999;
    font-size:14px;
}

/* ---- Колонки: трансляция слева, прогноз справа ---- */

.md-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 340px;
    grid-template-areas:"main side";
    gap:24px;
    margin-top:24px;
    align-items:start;
}

.md-main{ grid-area:main; min-width:0; }
.md-side{ grid-area:side; position:sticky; top:24px; }

.md-block-title{
    margin:0 0 16px;
    font-size:20px;
    text-transform:uppercase;
}

.md-about,
.md-feed-wrap,
.md-vote{
    padding:28px;
    border:1px solid #272727;
    background:#0d0d0d;
}

.md-about{
    margin-bottom:24px;
}

.md-about .single-content{
    font-size:17px;
}

/* ---- Прогноз ---- */

.md-vote-lead{
    margin:0 0 18px;
    color:#aaa;
    font-size:14px;
    line-height:1.5;
}

.md-vote-buttons{
    display:grid;
    gap:10px;
}

.md-vote-btn{
    padding:14px 16px;
    border:1px solid #333;
    background:#141414;
    color:#fff;
    font:inherit;
    font-size:15px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1px;
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease;
}

.md-vote-btn:hover,
.md-vote-btn:focus-visible{
    border-color:#e21b2d;
    background:#1c0d10;
    outline:none;
}

.md-vote-btn:disabled{
    opacity:.5;
    cursor:wait;
}

.md-vote-results{
    display:grid;
    gap:14px;
    margin:0;
    padding:0;
    list-style:none;
}

.md-vote-results[hidden],
.md-vote-buttons[hidden]{
    display:none;
}

.md-vote-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 12px;
    font-size:14px;
}

.md-vote-label em{
    margin-left:6px;
    color:#1f9d55;
    font-style:normal;
    font-weight:800;
}

.md-vote-pct{
    font-weight:800;
}

.md-vote-bar{
    grid-column:1 / -1;
    height:8px;
    background:#1c1c1c;
}

.md-vote-bar span{
    display:block;
    height:100%;
    background:#555;
    transition:width .6s ease;
}

.md-vote-row.is-mine .md-vote-bar span,
.md-vote-row.is-result .md-vote-bar span{
    background:#e21b2d;
}

.md-vote-row.is-mine .md-vote-label::after{
    content:" · ваш прогноз";
    color:#999;
    font-weight:400;
}

.md-vote-total,
.md-vote-msg{
    margin:16px 0 0;
    color:#888;
    font-size:13px;
}

.md-vote-msg:empty{
    display:none;
}

/* ---- Трансляция ---- */

.md-feed-head{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:baseline;
    gap:8px 16px;
}

.md-live-note{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#e21b2d;
    font-size:13px;
}

.md-live-note[hidden]{
    display:none;
}

.md-feed{
    margin:0;
    padding:0;
    list-style:none;
}

.md-ev{
    display:grid;
    grid-template-columns:52px 32px minmax(0, 1fr);
    align-items:start;
    padding:16px 0;
    border-top:1px solid #1f1f1f;
}

.md-ev-min{
    padding-top:2px;
    color:#e21b2d;
    font-weight:900;
}

.md-ev-icon{
    font-size:18px;
    line-height:1.4;
}

.md-ev-text{
    margin:0;
    color:#d0d0d0;
    font-size:17px;
    line-height:1.6;
    overflow-wrap:anywhere;
}

/* Голы — выделяем */
.md-ev--goal{
    margin:0 -28px;
    padding-left:28px;
    padding-right:28px;
    border-left:4px solid #e21b2d;
    background:rgba(226, 27, 45, .08);
}

.md-ev--goal .md-ev-text{
    color:#fff;
    font-weight:700;
}

.md-ev--red .md-ev-text{
    color:#fff;
}

/* Новое событие — мягкая подсветка */
.md-ev.is-new{
    animation:md-new 2.5s ease-out;
}

@keyframes md-new{
    from{ background:rgba(226, 27, 45, .25); }
}

.md-feed-empty{
    margin:0;
    color:#888;
    line-height:1.6;
}

.md-feed-empty[hidden]{
    display:none;
}

/* ---- Обсуждение ---- */

.md-comments .comments-area{
    margin-top:0;
}

.md-permalink{
    margin:24px 0 0;
}

.md-permalink a{
    color:#999;
    font-size:14px;
}

.md-permalink a:hover{
    color:#e21b2d;
}

/* ---- Список матчей ---- */

.md-past{
    margin-top:70px;
}

.md-list{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}

.md-row{
    display:flex;
    align-items:center;
    gap:20px;
    padding:16px 20px;
    border:1px solid #242424;
    background:#0d0d0d;
    color:#ccc;
    text-decoration:none;
    transition:border-color .2s ease;
}

.md-row:hover{
    border-color:#e21b2d;
}

.md-row-date{
    display:flex;
    flex-direction:column;
    flex:0 0 52px;
    color:#888;
    font-size:12px;
    text-align:center;
}

.md-row-date strong{
    color:#fff;
    font-size:16px;
}

.md-row-body{
    display:flex;
    flex-direction:column;
    gap:6px;
    flex:1;
    min-width:0;
}

.md-row-teams{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 12px;
    font-size:16px;
}

.md-row-teams .is-milan{
    color:#fff;
    font-weight:800;
}

.md-row-score{
    padding:3px 10px;
    background:#1c1c1c;
    color:#fff;
    font-weight:900;
    white-space:nowrap;
}

.md-row-meta{
    color:#777;
    font-size:13px;
}

.md-row-result{
    flex:0 0 28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:4px;
    background:#555;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.md-row--win .md-row-result{ background:#1f9d55; }
.md-row--loss .md-row-result{ background:#e21b2d; }

/* ---- Планшет и телефон ---- */

@media (max-width:900px){
    .md-grid{
        grid-template-columns:1fr;
        grid-template-areas:"side" "main";   /* прогноз — сразу под табло */
    }

    .md-side{
        position:static;
    }
}

@media (max-width:600px){
    .md-board{
        padding:24px 14px 20px;
    }

    .md-teams{
        gap:10px;
    }

    .md-team .team-logo{
        transform:scale(.75);
        margin:-10px 0;
    }

    .md-team strong{
        font-size:15px;
    }

    .md-center{
        min-width:0;
    }

    .md-score{
        font-size:44px;
    }

    .md-score span{
        margin:0 6px;
    }

    .md-score--empty{
        font-size:30px;
    }

    .md-about,
    .md-feed-wrap,
    .md-vote{
        padding:20px 16px;
    }

    .md-ev{
        grid-template-columns:44px 28px minmax(0, 1fr);
    }

    .md-ev--goal{
        margin:0 -16px;
        padding-left:12px;
        padding-right:16px;
    }

    .md-ev-text{
        font-size:16px;
    }

    .md-row{
        gap:12px;
        padding:14px;
    }

    .md-row-teams{
        font-size:15px;
    }
}

/* Ссылка «Окрема сторінка матчу» — по ширине блока комментариев */
.md-comments .md-permalink{
    max-width:960px;
    margin:24px auto 0;
    padding:0 24px;
    box-sizing:border-box;
}

/* Логотип Milanista (SVG): высота задаёт размер, ширина — по пропорциям */
.logo{
    display:flex;
    align-items:center;
    font-size:0;                 /* убираем зазор под картинкой */
}

.logo img{
    display:block;
    width:auto;
    height:44px;
}

.footer-logo img{
    display:block;
    width:auto;
    height:36px;
}

@media (max-width:900px){
    .logo img{
        height:32px;
    }
}

@media (max-width:360px){
    .logo img{
        height:26px;
    }
}

/* =====================================================
   СТРАНИЦА ИГРОКА: подробная статистика из API-Football
   (inc/player-stats.php, single-player.php)
===================================================== */

/* ---- Профиль: номер + оценка сезона, статус, анкета ---- */

.player-profile-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
}

.player-rating-badge{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 14px 10px 10px;
    border:1px solid #2a2a2a;
    background:#0b0b0b;
}

.player-rating-badge strong{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    font-size:22px;
    font-weight:900;
    background:#2a2a2a;
    color:#fff;
}

.player-rating-badge span{
    color:#888;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.6px;
}

.player-rating-badge.is-top strong,
.rating-chip.is-top{ background:#e21b2d; color:#fff; }
.player-rating-badge.is-good strong,
.rating-chip.is-good{ background:#fff; color:#0b0b0b; }
.player-rating-badge.is-ok strong,
.rating-chip.is-ok{ background:#3a3a3a; color:#fff; }
.player-rating-badge.is-low strong,
.rating-chip.is-low{ background:#1c1c1c; color:#999; }

.player-badge{
    display:inline-block;
    margin-left:10px;
    padding:3px 8px;
    border:1px solid #e21b2d;
    color:#fff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.6px;
    vertical-align:3px;
}

.player-status{
    margin:-20px 0 32px;
    padding:12px 16px;
    border-left:3px solid #e21b2d;
    background:rgba(226,27,45,.10);
    color:#ddd;
    font-size:15px;
    line-height:1.5;
}

.player-status strong{
    color:#fff;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.6px;
    margin-right:6px;
}

.player-status.is-questionable{
    border-left-color:#d9a400;
    background:rgba(217,164,0,.10);
}

/* Анкета: до 5 пунктов, сетка сама перестраивается */
dl.player-profile-meta{
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    margin:0;
    border-bottom:0;
}

dl.player-profile-meta div{
    padding:18px 20px 18px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}

dl.player-profile-meta div + div{
    border-left:0;
    padding-left:0;
}

dl.player-profile-meta dt{
    color:#777;
    text-transform:uppercase;
    font-size:11px;
    font-weight:800;
    margin-bottom:7px;
}

dl.player-profile-meta dd{
    margin:0;
    font-size:17px;
    font-weight:700;
}

/* ---- Плитки: подпись под цифрой ---- */

.player-stat em{
    display:block;
    margin-top:8px;
    color:#9a9a9a;
    font-size:13px;
    font-style:normal;
}

/* ---- Группы подробной статистики ---- */

.player-stat-groups{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
    margin-top:16px;
}

.player-stat-group{
    border:1px solid #272727;
    background:#0d0d0d;
    padding:22px 24px 10px;
}

.player-stat-group h3,
.player-leagues h3,
.player-career-block h3{
    margin:0 0 12px;
    color:#e21b2d;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.player-stat-group dl{
    margin:0;
}

.psg-row{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:baseline;
    gap:4px 12px;
    padding:11px 0;
    border-top:1px solid rgba(255,255,255,.06);
}

.psg-row:first-child{
    border-top:0;
}

.psg-row dt{
    color:#aaa;
    font-size:14px;
}

.psg-row dd{
    margin:0;
    color:#fff;
    font-size:16px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
    text-align:right;
}

.psg-bar{
    grid-column:1 / -1;
    height:4px;
    background:#222;
}

.psg-bar i{
    display:block;
    height:100%;
    background:#e21b2d;
}

/* ---- Таблицы: по турнирам и последние матчи ---- */

.player-leagues{
    margin-top:32px;
}

.table-scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.player-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid #272727;
    background:#0d0d0d;
    font-variant-numeric:tabular-nums;
}

.player-table th,
.player-table td{
    padding:14px 16px;
    border-top:1px solid rgba(255,255,255,.06);
    text-align:center;
    white-space:nowrap;
    font-size:15px;
}

.player-table thead th{
    border-top:0;
    color:#777;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.7px;
    background:#0a0a0a;
}

.player-table th[scope="row"],
.player-table thead th:first-child,
.player-matches-table thead th:nth-child(2){
    text-align:left;
}

.player-table tbody th{
    font-weight:800;
    color:#fff;
}

.player-table small{
    color:#777;
    font-size:12px;
    font-weight:700;
}

.rating-chip{
    display:inline-block;
    min-width:38px;
    padding:5px 6px;
    font-size:14px;
    font-weight:900;
    text-align:center;
}

.rating-chip.is-none{
    color:#666;
}

.card-y,
.card-r{
    display:inline-block;
    min-width:10px;
    padding:1px 4px;
    margin-left:2px;
    border-radius:2px;
    font-size:12px;
    font-weight:900;
    line-height:16px;
}

.card-y{ background:#f2c200; color:#111; }
.card-r{ background:#e21b2d; color:#fff; }
.card-y:empty,
.card-r:empty{ width:10px; height:14px; padding:0; vertical-align:-2px; }

.player-matches{
    margin-top:70px;
}

.pm-date{
    color:#999;
}

.pm-match small{
    display:block;
    margin-top:3px;
    font-weight:700;
}

.pm-score{
    display:inline-block;
    min-width:44px;
    padding:5px 6px;
    font-weight:900;
    border:1px solid #333;
}

.pm-score.is-win{ border-color:#e21b2d; color:#fff; box-shadow:inset 0 -3px 0 #e21b2d; }
.pm-score.is-draw{ color:#ccc; }
.pm-score.is-loss{ color:#888; }

.player-data-note{
    margin:14px 0 0;
    color:#777;
    font-size:13px;
    line-height:1.5;
}

/* ---- Кар'єра: трофеи и переходы ---- */

.player-career{
    margin-top:70px;
}

.player-career-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:16px;
}

.player-career-block{
    border:1px solid #272727;
    background:#0d0d0d;
    padding:22px 24px;
}

.player-career-block h3 span{
    margin-left:6px;
    color:#fff;
}

.player-trophies,
.player-transfers{
    list-style:none;
    margin:0;
    padding:0;
}

.player-trophies li,
.player-transfers li{
    padding:12px 0;
    border-top:1px solid rgba(255,255,255,.06);
}

.player-trophies li:first-child,
.player-transfers li:first-child{
    border-top:0;
}

.player-trophies strong{
    display:block;
    color:#fff;
    font-size:16px;
}

.player-trophies span{
    color:#999;
    font-size:14px;
}

.player-transfers li{
    display:grid;
    grid-template-columns:120px 1fr auto;
    gap:12px;
    align-items:baseline;
}

.pt-date{
    color:#888;
    font-size:13px;
}

.pt-clubs{
    color:#fff;
    font-weight:700;
    font-size:15px;
}

.pt-clubs b{
    color:#e21b2d;
    margin:0 4px;
}

.pt-type{
    color:#bbb;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.show-sm{
    display:none;
}

.player-table .pm-date{
    text-align:left;
}

@media (max-width:600px){
    .player-table .hide-sm{
        display:none;
    }

    .show-sm{
        display:inline;
    }

    .player-rating-badge{
        padding:6px 10px 6px 6px;
    }

    .player-rating-badge strong{
        width:46px;
        height:46px;
        font-size:19px;
    }

    .player-status{
        margin:-8px 0 24px;
        font-size:14px;
    }

    dl.player-profile-meta{
        grid-template-columns:1fr 1fr;
    }

    dl.player-profile-meta dd{
        font-size:15px;
    }

    .player-stat em{
        font-size:12px;
    }

    .player-table th,
    .player-table td{
        padding:12px 8px;
        font-size:14px;
    }

    .player-table .pm-match,
    .player-table tbody th[scope="row"]{
        white-space:normal;
    }

    .rating-chip{
        min-width:34px;
    }

    .player-transfers li{
        grid-template-columns:1fr auto;
    }

    .pt-date{
        grid-column:1 / -1;
    }

    .player-matches,
    .player-career{
        margin-top:56px;
    }
}

/* Подпись автора фото (лицензии CC / Unsplash / Pexels) */
.photo-credit{
    margin-top:8px;
    font-size:12px;
    line-height:1.4;
    color:#777;
    text-align:right;
    padding:0 4px;
}
.photo-credit a{color:#888;text-decoration:underline;text-underline-offset:2px;}
.photo-credit a:hover{color:#e21b2d;}

/* Фото в карточках не растягивают карточку своей высотой:
   высоту задаёт сетка (или aspect-ratio у главной карточки), фото заполняет её.
   Раньше вертикальное фото делало первую карточку на главной огромной,
   а заглушки в соседних карточках обрезались. */
.news-thumb{
    position:relative;
}
.news-thumb > img{
    position:absolute;
    inset:0;
    object-position:center 25%;   /* лица обычно в верхней трети кадра */
}
.latest-news .news-card:first-child{
    grid-template-rows:auto 1fr;
}
.latest-news .news-card:first-child .news-thumb{
    aspect-ratio:16 / 9;
    min-height:0;
}
/* Главное фото новости: 16:9 вместо фиксированных 420px по высоте —
   на широком экране узкая полоса обрезала лица (лоб и глаза без подбородка). */
.single-thumbnail img{
    height:auto;
    aspect-ratio:16 / 9;
    object-position:center 25%;
}
