/* ---------- Featured Video ---------- */

.featured-video-section{
    width:100%;
    max-width:900px;
    margin:60px auto 70px;
    text-align:center;
}

.featured-video-label{
    color:#888;
    font-size:1em;
    margin-bottom:15px;
    letter-spacing:1px;
}

.featured-video-card{
    width:100%;
    background:#1d1d1d;
    border:1px solid #333;
    border-radius:16px;
    overflow:hidden;
    transition:.2s ease;
}

.featured-video-preview{
    display:flex;
    width:100%;

    cursor:pointer;

    color:inherit;
    text-decoration:none;
}

.featured-video-preview:hover{
    background:#252525;
}


/* ---------- Image ---------- */

.featured-video-thumbnail{
    position:relative;

    flex:0 0 auto;

    background:#111;
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;
}

.featured-video-preview-image{
    display:block;

    width:100%;
    height:auto;
}


/* ---------- Play Button ---------- */

.featured-video-play{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:72px;
    height:72px;

    border-radius:50%;

    background:rgba(0,0,0,.75);
    color:white;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:32px;
    padding-left:4px;

    box-sizing:border-box;

    transition:.2s ease;
}

.featured-video-play span{
    position:relative;
    top:-1px;
}

.featured-video-preview:hover .featured-video-play{
    transform:translate(-50%,-50%) scale(1.08);
    background:rgba(0,0,0,.9);
}


/* ---------- Information ---------- */

.featured-video-info{
    flex:1;

    padding:25px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    box-sizing:border-box;

    text-align:center;
}

.featured-video-title{
    width:100%;

    font-size:1.8rem;
    font-weight:bold;
    line-height:1.2;

    color:#fff;

    margin:0 0 18px 0;
}

.featured-video-description{
    color:#ccc;

    line-height:1.6;

    margin:0;
}

.featured-video-meta{
    margin-top:auto;

    padding-top:20px;

    color:#777;

    font-size:.9rem;
}


/* ---------- Fullscreen Overlay ---------- */

.featured-video-expanded{
    display:none;

    position:fixed;
    inset:0;

    width:100vw;
    height:100vh;
    height:100dvh;

    background:rgba(0,0,0,.97);

    z-index:999999;

    align-items:center;
    justify-content:center;

    padding:20px;

    box-sizing:border-box;
}

.featured-video-card.expanded
.featured-video-expanded{
    display:flex;
}

.featured-video-expanded-inner{
    width:100%;
    max-width:1400px;
    max-height:95vh;

    position:relative;
}

.featured-video-player{
    width:100%;

    background:#000;

    border-radius:10px;
    overflow:hidden;

    box-shadow:0 10px 60px rgba(0,0,0,.8);
}

.featured-video-player video{
    display:block;

    width:100%;
    height:auto;

    max-height:82vh;

    background:#000;
}


/* ---------- Expanded Information ---------- */

.featured-video-expanded-content{
    padding:18px 10px 0;
    text-align:center;
}

.featured-video-expanded-title{
    font-size:1.5rem;
    font-weight:bold;
    color:#fff;
    margin-bottom:8px;
}

.featured-video-expanded-description{
    color:#bbb;
    line-height:1.5;

    max-width:800px;

    margin:0 auto;
}

.featured-video-expanded-meta{
    margin-top:10px;
    color:#777;
    font-size:.9rem;
}


/* ---------- Close Button ---------- */

.featured-video-close{
    position:absolute;

    top:-15px;
    right:-15px;

    width:44px;
    height:44px;

    border-radius:50%;

    background:#222;
    border:1px solid #555;

    color:#fff;

    cursor:pointer;

    font-size:25px;
    line-height:1;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:10;

    transition:.2s ease;
}

.featured-video-close:hover{
    background:#444;
    border-color:#777;
}


/* =========================================================
   PC LANDSCAPE
   Compact stacked card — advertisement width
   ========================================================= */

@media screen and (min-width:951px) and (orientation:landscape){

    .featured-video-section{
        width:500px;
        max-width:500px;

        margin:40px auto 50px;
    }

    .featured-video-preview{
        display:flex;
        flex-direction:column;

        width:100%;
    }

    .featured-video-thumbnail{
        width:100%;
        height:auto;

        flex:none;
    }

    .featured-video-preview-image{
        width:100%;
        height:auto;
    }

    .featured-video-info{
        width:100%;
        flex:none;

        padding:20px 25px 22px;
    }

    .featured-video-title{
        font-size:1.7rem;
        margin-bottom:8px;
    }

    .featured-video-description{
        line-height:1.55;
    }

    .featured-video-meta{
        margin-top:12px;
        padding-top:0;
    }

}


/* =========================================================
   PC PORTRAIT
   Side-by-side
   ========================================================= */

@media screen and (min-width:951px) and (orientation:portrait){

    .featured-video-section{
        width:86%;
        max-width:900px;

        margin:40px auto 50px;
    }

    .featured-video-preview{
        flex-direction:row;
        align-items:stretch;
    }

    .featured-video-thumbnail{
        flex:0 0 50%;
        width:50%;
        height:auto;
    }

    .featured-video-preview-image{
        width:100%;
        height:auto;
    }

    .featured-video-info{
        flex:1;
        min-width:0;

        padding:25px;
    }

}


/* =========================================================
   MOBILE PORTRAIT
   Stacked / default
   ========================================================= */

@media screen and (max-width:950px) and (orientation:portrait){

    .featured-video-section{
        width:92%;
        max-width:900px;

        margin:28px auto 34px;
    }

    .featured-video-preview{
        flex-direction:column;
        align-items:stretch;
    }

    .featured-video-thumbnail{
        width:100%;
        flex:none;
        height:auto;
    }

    .featured-video-preview-image{
        width:100%;
        height:auto;
    }

    .featured-video-info{
        width:100%;
        flex:none;

        padding:16px 18px 18px;
    }

    .featured-video-title{
        font-size:1.35rem;
        margin-bottom:8px;
    }

    .featured-video-description{
        font-size:.95rem;
        line-height:1.45;
    }

    .featured-video-meta{
        margin-top:12px;
        padding-top:0;
    }

    .featured-video-play{
        width:60px;
        height:60px;
        font-size:27px;
    }

}


/* =========================================================
   MOBILE LANDSCAPE
   Side-by-side
   ========================================================= */

@media screen and (max-width:950px) and (orientation:landscape){

    .featured-video-section{
        width:96%;
        max-width:900px;

        margin:20px auto 30px;
    }

    .featured-video-preview{
        flex-direction:row;
        align-items:stretch;
    }

    .featured-video-thumbnail{
        flex:0 0 50%;
        width:50%;
        height:auto;
    }

    .featured-video-preview-image{
        width:100%;
        height:auto;
    }

    .featured-video-info{
        flex:1;
        min-width:0;

        padding:20px;
    }

    .featured-video-title{
        font-size:1.5rem;
        margin-bottom:12px;
    }

    .featured-video-description{
        font-size:.9rem;
        line-height:1.45;
    }

    .featured-video-meta{
        margin-top:auto;
        padding-top:12px;
    }

    .featured-video-play{
        width:60px;
        height:60px;
        font-size:27px;
    }

    .featured-video-expanded{
        padding:10px;
    }

    .featured-video-expanded-inner{
        max-height:100%;
    }

    .featured-video-player{
        border-radius:6px;
    }

    .featured-video-player video{
        max-height:75vh;
    }

    .featured-video-expanded-content{
        padding:12px 5px 0;
    }

    .featured-video-expanded-title{
        font-size:1.25rem;
    }

    .featured-video-expanded-description{
        font-size:.9rem;
    }

    .featured-video-close{
        top:-8px;
        right:-8px;

        width:38px;
        height:38px;

        font-size:22px;
    }

}
