/* ==========================================================
   Video Card v4
   layouts:
   - short      9:16
   - poster     5:4
   - landscape 16:9
========================================================== */

.dtv-video-card{
    display:block;
    flex:0 0 auto;
}

.dtv-video-card--short{
    width:300px;
}

.dtv-video-card--poster{
    width:380px;
}

.dtv-video-card--landscape{
    width:420px;
}

.dtv-video-card__link{
    display:block;
    color:inherit;
    text-decoration:none;
}

/* ==========================================================
   MEDIA
========================================================== */

.dtv-video-card__media{
    position:relative;
    overflow:hidden;

    border-radius:22px;

    background:#0F172A;

    box-shadow:
        0 18px 42px rgba(15,23,42,.16);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.dtv-video-card--short .dtv-video-card__media{
    aspect-ratio:9/16;
}

.dtv-video-card--poster .dtv-video-card__media{
    aspect-ratio:5/4;
}

.dtv-video-card--landscape .dtv-video-card__media{
    aspect-ratio:16/9;
}

.dtv-video-card__media img{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    min-width:100%;
    min-height:100%;

    max-width:none;
    max-height:none;

    display:block;

    object-fit:cover;
    object-position:center center;

    transition:transform .55s ease;
}

/* ==========================================================
   OVERLAY
========================================================== */

.dtv-video-card__shade{
    position:absolute;
    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            to top,
            rgba(6,10,20,.95) 0%,
            rgba(6,10,20,.72) 28%,
            rgba(6,10,20,.25) 58%,
            rgba(6,10,20,0) 100%
        );
}

/* ==========================================================
   BADGE
========================================================== */

.dtv-video-card__badge{
    position:absolute;

    left:16px;
    top:16px;

    z-index:5;

    padding:7px 12px;

    border-radius:999px;

    background:#CC0000;

    color:#fff;

    font-size:11px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
}

/* ==========================================================
   DURATION
========================================================== */

.dtv-video-card__duration{
    position:absolute;

    right:16px;
    top:16px;

    z-index:5;

    padding:6px 9px;

    border-radius:8px;

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

    color:#fff;

    font-size:12px;
    font-weight:700;
}

/* ==========================================================
   PLAY
========================================================== */

.dtv-video-card__play{

    position:absolute;

    left:50%;
    top:50%;

    z-index:5;

    width:60px;
    height:60px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#CC0000;

    color:#fff;

    font-size:22px;

    transform:
        translate(-50%,-50%)
        scale(.82);

    opacity:0;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

/* ==========================================================
   CONTENT
========================================================== */

.dtv-video-card__copy{

    position:absolute;

    left:18px;
    right:18px;
    bottom:18px;

    z-index:5;
}

.dtv-video-card__copy h3{

    margin:0;

    color:#fff;

    font-family:Oswald,sans-serif;
    font-size:26px;
    font-weight:700;
    line-height:1.15;

    text-shadow:
        0 2px 8px rgba(0,0,0,.55);
}

.dtv-video-card__meta{

    display:flex;
    align-items:center;
    gap:8px;

    margin-top:10px;

    color:rgba(255,255,255,.88);

    font-size:13px;
    font-weight:600;
}

.dtv-video-card__meta::before{

    content:"";

    width:6px;
    height:6px;

    border-radius:50%;

    background:#CC0000;
}

/* ==========================================================
   HOVER
========================================================== */

.dtv-video-card:hover .dtv-video-card__media{

    transform:translateY(-6px);

    box-shadow:
        0 28px 56px rgba(15,23,42,.25);
}

.dtv-video-card:hover img{

    transform:scale(1.08);
}

.dtv-video-card:hover .dtv-video-card__play{

    opacity:1;

    transform:
        translate(-50%,-50%)
        scale(1);
}