.gallery-hero{
    padding:120px 0;
    background:var(--gradient-primary);
    color:var(--white);
}

.hero-tag{
    display:inline-block;
    padding:8px 20px;
    border-radius:50px;
    background:rgba(255,255,255,.15);
    margin-bottom:20px;
}

.gallery-hero h1{
    font-size:58px;
    font-weight:700;
    margin-bottom:20px;
}

.gallery-section,
.factory-section,
.showcase-videos,
.gallery-cta{
    padding:100px 0;
}

.client-gallery,
.video-gallery,
.events-section{
    padding:100px 0;
    background:var(--light);
}

.section-heading{
    margin-bottom:60px;
}

.section-subtitle{
    color:var(--secondary);
    text-transform:uppercase;
    font-weight:600;
    letter-spacing:1px;
}

.section-heading h2,
.factory-section h2{
    color:var(--primary);
    font-weight:700;
}

.image-placeholder{
    height:300px;
    background:var(--light);
    border:2px dashed var(--secondary);
    border-radius:20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:var(--primary);
    font-weight:600;
    box-shadow:var(--shadow);
}

.image-placeholder small{
    margin-top:10px;
    opacity:.7;
}

.large{
    height:450px;
}

.feature-item{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:20px;
}

.feature-item i{
    font-size:24px;
    color:var(--primary);
}

.video-placeholder{
    height:280px;
    background:#fff;
    border-radius:20px;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    border:2px dashed var(--secondary);
}

.video-placeholder i{
    font-size:70px;
    color:var(--primary);
    margin-bottom:15px;
}

.video-placeholder h5{
    color:var(--primary);
    margin-bottom:10px;
}

.video-placeholder small{
    opacity:.7;
}

.gallery-card{
    height:100%;
}

.cta-box{
    background:var(--gradient-primary);
    color:#fff;
    padding:70px;
    border-radius:25px;
}

.cta-box h2{
    font-weight:700;
    margin-bottom:20px;
}

@media(max-width:991px){

    .gallery-hero h1{
        font-size:38px;
    }

    .image-placeholder{
        height:220px;
    }

    .large{
        height:300px;
    }

    .video-placeholder{
        height:220px;
    }

    .cta-box{
        padding:40px 25px;
    }

}

/* =========================
IMAGE CARDS
========================= */

.gallery-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
    transition:0.3s ease;
    height:100%;
}

.gallery-card:hover{
    transform:translateY(-8px);
}

.gallery-img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}

.gallery-caption{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:16px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,0.8),
        rgba(0,0,0,0)
    );
    color:#fff;
    font-weight:600;
}

/* =========================
CLIENT IMAGES
========================= */

.client-image{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:20px;
    display:block;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.08);
}

/* =========================
FACTORY IMAGE
========================= */

.factory-img{
    width:100%;
    height:500px;
    object-fit:cover;
    border-radius:24px;

    box-shadow:
    0 15px 35px rgba(0,0,0,0.10);
}

/* =========================
EVENT IMAGES
========================= */

.event-img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:18px;

    box-shadow:
    0 8px 20px rgba(0,0,0,0.08);
}

/* =========================
VIDEOS
========================= */

.video-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.08);
}

.video-card iframe{
    width:100%;
    height:260px;
    border:none;
}

.video-content{
    padding:20px;
}

.video-content h5{
    margin-bottom:8px;
    font-size:18px;
    font-weight:700;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:992px){

    .gallery-img{
        height:260px;
    }

    .factory-img{
        height:400px;
    }
}

@media(max-width:768px){

    .gallery-img{
        height:220px;
    }

    .client-image{
        height:240px;
    }

    .factory-img{
        height:300px;
    }

    .event-img{
        height:220px;
    }

    .video-card iframe{
        height:220px;
    }
}