/* ============================================================
   SINGLE-EPISODE LAYOUT
   (.ep-layout, .ep-left, .ep-content, .ep-right, .ep-nav-card)
============================================================ */

.ep-layout{
    display:grid;
    grid-template-columns:260px 1fr 220px;
    gap:36px;
    margin-top:32px;
    align-items:start;
}

.ep-left{
    position:sticky;
    top:100px;
}

.ep-cover{
    border-radius:20px;
    overflow:hidden;
    width:100%;
    aspect-ratio:16/9;
    background:#171B26;
}

.ep-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ep-content{
    min-width:0;
}

.ep-right{
    /* sticky handled inline */
}

.ep-nav-card{
    display:block;
    padding:18px 20px;
    background:#171B26;
    border:1px solid var(--border);
    border-radius:16px;
    color:#fff;
    transition:.25s;
}

.ep-nav-card:hover{
    border-color:var(--accent);
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(124,92,255,.2);
}

.ep-nav-card-next{
    background:rgba(124,92,255,.08);
    border-color:rgba(124,92,255,.3);
}

.ep-nav-label{
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.6px;
    color:var(--accent);
    margin-bottom:6px;
}

.ep-nav-num{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
    margin-bottom:4px;
}

.ep-nav-title{
    font-size:14px;
    font-weight:600;
    color:#fff;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    line-height:1.4;
}

@media(max-width:1200px){
    .ep-layout{
        grid-template-columns:220px 1fr;
    }
    .ep-right{
        grid-column:1/-1;
        position:static;
    }
    .ep-right > div{
        position:static !important;
        flex-direction:row;
        flex-wrap:wrap;
    }
    .ep-nav-card{
        flex:1;
        min-width:160px;
    }
}

@media(max-width:768px){
    .ep-layout{
        grid-template-columns:1fr;
    }
    .ep-left{
        position:static;
    }
    .ep-cover{
        aspect-ratio:16/9;
    }
}

/* ============================================================
   NEWS ARTICLE (single-news.php)
============================================================ */

.news-article-hero{
    border-radius:24px;
    overflow:hidden;
    aspect-ratio:16/9;
    margin-bottom:40px;
}

.news-article-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* ============================================================
   ARCHIVE NEWS — featured card spans full row
============================================================ */

@media(min-width:769px){
    .news-archive-grid .news-featured{
        grid-column:1/-1;
    }
    .news-archive-grid .news-featured .pcard-thumb{
        aspect-ratio:21/8;
    }
    .news-archive-grid .news-featured .pcard-body{
        padding:22px 26px;
    }
    .news-archive-grid .news-featured .pcard-title{
        font-size:22px;
    }
}

@media(max-width:768px){
    .news-archive-grid{
        grid-template-columns:1fr !important;
    }
    .news-archive-grid .news-featured{
        grid-column:auto;
    }
}
