
 .media-grid {
    max-width: 1200px;
    margin: 30px auto;
    padding: 0 15px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.media-thumb {
    position: relative;
    display: block;

    cursor: pointer;
    overflow: hidden;

    border-radius: 8px;
    background: #000;
}

.media-thumb img {
    width: 100%;
    height: 200px;

    display: block;

    object-fit: cover;

    transition: transform 0.3s ease;
}

.media-thumb:hover img {
    transform: scale(1.05);
}


/* =========================
   PLAY BUTTON
========================= */

.play-button {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 60px;
    height: 60px;

    transform: translate(-50%, -50%);

    background: rgba(0, 0, 0, 0.7);

    border-radius: 50%;
}

.play-button::after {
    content: "";

    position: absolute;

    left: 24px;
    top: 18px;

    border-left: 20px solid #fff;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
}


/* =========================
   LIGHTBOX
========================= */

.media-lightbox {
    display: none;

    position: fixed;

    z-index: 99999;

    inset: 0;

    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.92);

    align-items: center;
    justify-content: center;

    padding: 20px;

    box-sizing: border-box;
}

.media-lightbox.active {
    display: flex;
}


/* =========================
   LIGHTBOX CONTENT
========================= */

.media-container {
    position: relative;

    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;
}


/* Image */

#lightboxImage {
    display: none;

    max-width: 95vw;
    max-height: 90vh;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* Video */

#lightboxVideo {
    display: none;

    max-width: 95vw;
    max-height: 90vh;

    width: auto;
    height: auto;

    object-fit: contain;

    background: #000;
}


/* =========================
   CLOSE BUTTON
========================= */

.close-media {
    position: absolute;

    top: 10px;
    right: 10px;

    z-index: 20;

    width: 42px;
    height: 42px;

    color: #fff;

    background: rgba(0, 0, 0, 0.7);

    border-radius: 50%;

    font-size: 32px;
    line-height: 38px;

    text-align: center;

    cursor: pointer;
}


/* =========================
   MOBILE
========================= */

@media (max-width: 991px) {

    .media-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 575px) {

    .media-grid {
        grid-template-columns: 1fr;
    }

    .media-thumb img {
        height: 220px;
    }

    .media-lightbox {
        padding: 10px;
    }

    #lightboxImage,
    #lightboxVideo {
        max-width: 100vw;
        max-height: 85vh;
    }

}