.re-single{
    position:relative;
    min-height:100vh;
    padding:105px 0 90px;
    overflow:hidden;
}

.re-single-backdrop{
    position:absolute;
    z-index:0;
    top:0;
    right:0;
    left:0;
    height:620px;

    background-size:cover;
    background-position:center 20%;

    opacity:.28;
    filter:blur(3px);
    transform:scale(1.03);
}

.re-single-backdrop-shade{
    position:absolute;
    z-index:1;
    inset:0;

    background:
        linear-gradient(
            90deg,
            #000 0%,
            rgba(0,0,0,.7) 45%,
            rgba(0,0,0,.5)
        ),
        linear-gradient(
            0deg,
            #000 45%,
            transparent 100%
        );
}

.re-single-layout{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:42px;
}

.re-single-sidebar{
    min-width:0;
}

.re-single-poster{
    aspect-ratio:5/7;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;

    background:#111;

    box-shadow:
        0 25px 70px rgba(0,0,0,.5);
}

.re-single-poster img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.re-side-info{
    margin-top:14px;
    padding:16px;

    border:1px solid var(--border);
    border-radius:10px;

    background:rgba(12,12,14,.85);
    backdrop-filter:blur(15px);
}

.re-side-info > div{
    padding:8px 0;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    border-bottom:1px solid rgba(255,255,255,.05);
}

.re-side-info > div:last-child{
    border-bottom:0;
}

.re-side-info span{
    color:#71717a;
    font-size:11px;
}

.re-side-info strong{
    color:#e4e4e7;
    font-size:11px;
    text-align:right;
}

.re-single-content{
    min-width:0;
    padding-top:8px;
}

.re-breadcrumb{
    margin-bottom:32px;

    display:flex;
    gap:8px;

    color:#71717a;
    font-size:11px;
}

.re-breadcrumb a:hover{
    color:var(--primary);
}

.re-single-content h1{
    max-width:900px;

    margin:0;

    font-size:clamp(35px,5vw,64px);
    line-height:1.02;

    letter-spacing:-.045em;
}

.re-native-title{
    margin-top:10px;

    color:#a1a1aa;
    font-size:14px;
}

.re-title-badges{
    margin-top:20px;

    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.re-title-badges span{
    padding:5px 9px;

    border:1px solid rgba(255,255,255,.1);
    border-radius:5px;

    background:rgba(0,0,0,.55);

    color:#d4d4d8;

    font-size:10px;
    font-weight:800;
}

.re-single-score{
    margin-top:14px;

    color:var(--primary);
    font-size:13px;
    font-weight:800;
}

.re-single-description{
    position:relative;

    max-width:900px;
    max-height:150px;

    margin-top:25px;

    overflow:hidden;

    color:#b7b7bd;

    font-size:13px;
    line-height:1.8;

    transition:max-height .4s ease;
}

.re-single-description.expanded{
    max-height:2000px;
}

.re-read-more{
    margin-top:7px;
    padding:0;

    border:0;

    background:none;
    color:var(--primary);

    font-size:11px;
    font-weight:800;

    cursor:pointer;
}

.re-genres{
    margin-top:22px;

    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.re-genres a{
    padding:7px 11px;

    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;

    background:rgba(15,15,17,.8);

    color:#d4d4d8;

    font-size:10px;

    transition:.2s;
}

.re-genres a:hover{
    border-color:var(--primary);
    color:var(--primary);
}

.re-single-actions{
    margin-top:26px;

    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.re-watch-now,
.re-watchlist-btn,
.re-share-btn{
    min-height:42px;

    padding:0 18px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    border-radius:7px;

    font-size:11px;
    font-weight:900;

    cursor:pointer;
}

.re-watch-now{
    border:1px solid var(--primary);
    background:var(--primary);
    color:#000;
}

.re-watchlist-btn,
.re-share-btn{
    border:1px solid var(--border);
    background:#111113;
    color:#ddd;
}

.re-watchlist-btn.active{
    border-color:var(--primary);
    color:var(--primary);
}

.re-mobile-poster,
.re-mobile-metadata{
    display:none;
}

.re-stats-section{
    margin-top:55px;
}

.re-section-label{
    margin-bottom:12px;

    color:#777;
    font-size:10px;
    font-weight:900;

    letter-spacing:.15em;
    text-transform:uppercase;
}

.re-stats-grid{
    max-width:750px;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    border:1px solid var(--border);
    border-radius:10px;

    overflow:hidden;

    background:#0c0c0e;
}

.re-stats-grid > div{
    padding:18px;

    border-right:1px solid var(--border);
}

.re-stats-grid > div:last-child{
    border-right:0;
}

.re-stats-grid small{
    display:block;

    margin-bottom:5px;

    color:#666;
    font-size:10px;
}

.re-stats-grid strong{
    font-size:18px;
}

.re-related{
    margin-top:55px;
}

.re-related h2{
    margin:5px 0 18px;
    font-size:24px;
}

.re-related-track{
    display:flex;
    gap:10px;

    overflow-x:auto;
    scrollbar-width:none;
}

.re-related-track::-webkit-scrollbar{
    display:none;
}

.re-related-card{
    position:relative;

    min-width:220px;
    height:130px;

    overflow:hidden;

    border:1px solid var(--border);
    border-radius:9px;

    background:#111;
}

.re-related-bg{
    position:absolute;
    inset:-20px;

    background-size:cover;
    background-position:center;

    opacity:.35;
    filter:blur(15px);
}

.re-related-card img{
    position:absolute;

    top:10px;
    bottom:10px;
    left:10px;

    width:72px;
    height:110px;

    border-radius:5px;

    object-fit:cover;
}

.re-related-copy{
    position:absolute;
    z-index:2;

    top:50%;
    right:12px;
    left:94px;

    transform:translateY(-50%);
}

.re-related-copy small{
    display:block;

    margin-bottom:5px;

    color:var(--primary);
    font-size:8px;
    font-weight:900;

    text-transform:uppercase;
}

.re-related-copy strong{
    display:-webkit-box;
    overflow:hidden;

    font-size:11px;
    line-height:1.4;

    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}

@media(max-width:800px){

    .re-single{
        padding-top:80px;
    }

    .re-single-layout{
        display:block;
    }

    .re-single-sidebar{
        display:none;
    }

    .re-breadcrumb{
        margin-bottom:18px;
    }

    .re-mobile-poster{
        width:105px;

        margin-bottom:18px;

        display:block;

        overflow:hidden;

        border-radius:7px;
    }

    .re-mobile-poster img{
        width:100%;
    }

    .re-single-content h1{
        font-size:36px;
    }

    .re-mobile-metadata{
        margin-top:28px;

        display:flex;
        gap:8px;

        overflow-x:auto;

        scrollbar-width:none;
    }

    .re-mobile-metadata > div{
        min-width:120px;

        padding:13px;

        border:1px solid var(--border);
        border-radius:8px;

        background:#0c0c0e;
    }

    .re-mobile-metadata small{
        display:block;

        margin-bottom:5px;

        color:#666;
        font-size:9px;
    }

    .re-mobile-metadata strong{
        font-size:11px;
    }
}

@media(max-width:600px){

    .re-single-backdrop{
        height:500px;
        opacity:.22;
    }

    .re-single-content h1{
        font-size:30px;
    }

    .re-single-description{
        font-size:12px;
    }

    .re-single-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .re-watch-now{
        grid-column:1 / -1;
    }

    .re-stats-grid{
        grid-template-columns:1fr 1fr;
    }

    .re-stats-grid > div{
        border-bottom:1px solid var(--border);
    }

    .re-related-card{
        min-width:200px;
    }
}
/* REAL SUB / DUB BADGES */

.re-title-badges .re-badge-sub{
    background:var(--primary);
    border-color:var(--primary);
    color:#000;
    font-weight:900;
}

.re-title-badges .re-badge-dub{
    background:#fff;
    border-color:#fff;
    color:#000;
    font-weight:900;
}

.re-stat-sub{
    color:var(--primary) !important;
}

.re-stat-dub{
    color:#fff !important;
}