 /* Masonry grid wrapper */
        .masonry {
            position: relative;
            /* required by Isotope */
            width: 100%;
        }

        /* Column sizing */
        .masonry-sizer,
        .masonry-item {
            width: calc(33.333% - 16px);
            /* 3 columns with gutter */
        }

        /* Masonry items */
        .masonry-item {
            margin-bottom: 20px;
            border-radius: 16px;
            cursor: pointer;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
        }

        /* ✅ only scale the inner wrapper */
        .masonry-content {
            transition: transform 0.3s ease;
        }

        .masonry-item:hover .masonry-content {
            transform: scale(1.05);
        }

        .masonry-item:hover {
            transform: scale(1.02);
            transition: transform 0.3s ease;
        }

        /* Hover overlay */
        .masonry-item::after {
            content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(33, 33, 33, 0.5);
    opacity: 0;
    transition: opacity 0.4s ease; /* smooth fade in/out */
    border-radius: 16px;
    z-index: 9;
    background-image: url('../images/gallery/zoom_icon.png');
    background-size: 60px;
    background-repeat: no-repeat;
    background-position: center;
        }

        .masonry-item:hover::after {

            opacity: 1;
        }

        /* Images and video thumbnails */
        .masonry-item img {
            width: 100%;
            height: auto;
            border-radius: 16px;
            display: block;
            transition: all .5s ease-in-out;
            backface-visibility: hidden;
        }

        /* Video play icon overlay */
        .masonry-item.video::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 60px;
            height: 60px;
            background: rgba(0, 0, 0, 0.5);
            border-radius: 50%;
            z-index: 10;
            background-image: url("data:image/svg+xml,%3Csvg fill='white' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 163.861 163.861'%3E%3Cpath d='M34.857,3.613C20.084-4.861,8.107,2.081,8.107,19.106v125.637c0,17.042,11.977,23.975,26.75,15.509L144.67,97.275 c14.778-8.477,14.778-22.211,0-30.686L34.857,3.613z'/%3E%3C/svg%3E");
            background-size: 25px;
            background-repeat: no-repeat;
            background-position: center;
            opacity: 0.9;
            transition: all 0.3s ease;
        }

        .masonry-item.video:hover::before {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1.1);
        }

        /* Responsive breakpoints */
        @media (max-width: 991px) {

            .masonry-sizer,
            .masonry-item {
                width: calc(50% - 20px);
                /* 2 columns */
            }
        }

        @media (max-width: 767px) {

            .masonry-sizer,
            .masonry-item {
                width: 100%;
                /* 1 column */
            }
        }

        /* Filter tabs */
        .filter_tabs {
            margin-bottom: 3rem;
        }

        .filter_tabs ul {
            padding-left: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 30px;
            list-style: none;
        }

        .filter_tabs ul li a {
            border: 1px solid #fff;
            color: #fff;
            padding: 10px 1.5rem;
            border-radius: 12px;
            text-decoration: none;
            transition: .4s ease-in-out;
            background: transparent;
        }

        .filter_tabs ul li a:hover {
            background: transparent linear-gradient(125deg, #4CB8C4 0%, #3CD3AD 100%);
        }

        .filter_tabs ul li .active {
            background: transparent linear-gradient(125deg, #4CB8C4 0%, #3CD3AD 100%);
        }