/* ==========================================================
   REELS PAGE
========================================================== */

.reels-page,
.reel-category-page{
    padding:80px 0;
}

.reels-header,
.page-header{
    text-align:center;
    margin-bottom:60px;
}

.reels-header h1,
.page-header h1{
    font-size:42px;
    margin-bottom:15px;
}

.page-content,
.term-description{
    max-width:850px;
    margin:auto;
}


/* ==========================================================
   SECTION
========================================================== */

.reels-section,
.categories-section,
.category-reels,
.child-categories{
    margin-bottom:70px;
}

.reels-section h2,
.categories-section h2,
.category-reels h2,
.child-categories h2{
    margin-bottom:30px;
    font-size:30px;
}


/* ==========================================================
   GRID
========================================================== */

.reels-grid,
.category-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}


/* ==========================================================
   REEL CARD
========================================================== */

.reel-card{

    border-radius:14px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.reel-card:hover{

    transform:translateY(-8px);

}

.reel-card a{

    display:block;

    color:#222;

    text-decoration:none;

}

.reel-card img{

    width:100%;

    height:340px;

    object-fit:cover;

    display:block;

}

.reel-card h3{

    padding:20px;

    font-size:20px;

}


/* ==========================================================
   CATEGORY CARD
========================================================== */

.category-card{

    background:#fff;

    border-radius:14px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.category-card:hover{

    transform:translateY(-8px);

}

.category-card a{

    display:block;

    color:#222;

    text-decoration:none;

}

.category-card img{

    width:100%;

    height:250px;

    object-fit:cover;

}

.category-card h3{

    padding:20px 20px 10px;

}

.category-card span{

    display:block;

    padding:0 20px 20px;

    color:#777;

}


/* ==========================================================
   POPUP
========================================================== */

.reel-popup{

    position:fixed;

    inset:0;

    z-index:99999;

    display:none;

}

.reel-popup.active{

    display:block;

}


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

.reel-popup-overlay{

    position:absolute;

    inset:0;

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

}


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

.reel-popup-content{

    position:absolute;

    left:50%;

    top:50%;

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

    width:min(1200px,92%);

    max-height:90vh;

    background:#fff;

    border-radius:18px;

    overflow:auto;

}


/* ==========================================================
   CLOSE
========================================================== */

.reel-popup-close{

    position:absolute;

    top:15px;

    right:15px;

    width:45px;

    height:45px;

    border:none;

    background:#000;

    color:#fff;

    border-radius:50%;

    cursor:pointer;

    font-size:24px;

    z-index:10;

}


/* ==========================================================
   WRAPPER
========================================================== */

.mc-popup-wrapper{

    display:grid;

    grid-template-columns:55% 45%;

}


/* ==========================================================
   VIDEO
========================================================== */

.mc-popup-media{

    background:#111;

}

.mc-popup-media video{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

}

.mc-popup-media img{

    width:100%;

    height:100%;

    object-fit:cover;

}


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

.mc-popup-content{

    padding:40px;

}

.mc-popup-content h2{

    font-size:34px;

    margin-bottom:20px;

}

.popup-client,
.popup-role{

    margin-bottom:15px;

    color:#666;

}

.popup-description{

    margin-top:25px;

    line-height:1.8;

}


/* ==========================================================
   GALLERY
========================================================== */

.popup-gallery{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

    margin-top:40px;

}

.popup-gallery img{

    width:100%;

    border-radius:10px;

    display:block;

}


/* ==========================================================
   LOADING
========================================================== */

.reel-loading{

    padding:100px;

    text-align:center;

    font-size:20px;

}


/* ==========================================================
   BODY
========================================================== */

body.reel-popup-open{

    overflow:hidden;

}


/* ==========================================================
   EMPTY
========================================================== */

.no-content{

    text-align:center;

    padding:100px 0;

}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:991px){

    .mc-popup-wrapper{

        grid-template-columns:1fr;

    }

    .mc-popup-media video{

        height:350px;

    }

    .mc-popup-media img{

        height:350px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:767px){

    .reels-page,
    .reel-category-page{

        padding:50px 0;

    }

    .reels-header h1,
    .page-header h1{

        font-size:30px;

    }

    .reels-grid,
    .category-grid{

        grid-template-columns:1fr;

    }

    .mc-popup-content{

        padding:25px;

    }

    .popup-gallery{

        grid-template-columns:repeat(2,1fr);

    }

    .reel-card img{

        height:250px;

    }

}




/* Popup Body */
#reel-popup-body {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px;
}

/* Video Wrapper */
.mc-popup-video {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

/* Video */
.mc-popup-video video {
    display: block;
    width: 100%;
    max-width: 600px;
    height: auto;
    border-radius: 10px;
}

/* Image Fallback */
.mc-popup-video img {
    display: block;
    width: 100%;
    max-width: 600px;
    height: auto;
    border-radius: 10px;
}
