body {
    background-color: #f8f9fa;
    font-family: 'Poppins', sans-serif;
}


h2 span {
    color: #28a745;
}

/* Filter Buttons */
.gallery-filter .btn {
    border-radius: 50px;
    padding: 8px 22px;
    font-size: 14px;
    transition: 0.25s ease-in-out;
}
.gallery-filter .btn:hover {
    transform: scale(1.06);
}

/* Professional Premium Gallery Cards */
.gallery-card {
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    position: relative;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    box-shadow:
        0 3px 8px rgba(0, 0, 0, 0.06),
        0 10px 25px rgba(0, 0, 0, 0.08);
}

.gallery-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 6px 14px rgba(0, 0, 0, 0.08),
        0 18px 45px rgba(0, 0, 0, 0.12);
}

.gallery-card img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease, filter 0.4s ease;
}

.gallery-card:hover img {
    transform: scale(1.06);
    filter: brightness(96%);
}

/* Subtle inner overlay on hover */
.gallery-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 40%,
        rgba(0, 0, 0, 0.05) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
}

.gallery-card:hover::after {
    opacity: 1;
}



/* Masonry Column System */
.masonry-grid {
    column-count: 1;
    column-gap: 16px;
}

@media (min-width: 576px) {
    .masonry-grid { column-count: 2; }
}
@media (min-width: 768px) {
    .masonry-grid { column-count: 3; }
}
@media (min-width: 1200px) {
    .masonry-grid { column-count: 4; }
}

/* Items */
.gallery-item {
    break-inside: avoid;
    width: 100%;
    margin-bottom: 18px;
}

/* Mobile polish */
@media (max-width: 576px) {

    /* More breathing room */
    .masonry-grid {
        column-gap: 12px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .gallery-item {
        margin-bottom: 14px;
    }

    .gallery-card {
        border-radius: 12px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    }

    .gallery-card img {
        border-radius: 12px;
    }
}

