        .gal-link {
            text-decoration: none;
            display: block;
        }

        .gal-card {
            position: relative;
            height: 240px;
            border-radius: 16px;
            overflow: hidden;
            cursor: pointer;
            box-shadow: 0 4px 16px rgba(0, 0, 0, .10);
            transition: transform .3s, box-shadow .3s;
        }

        .gal-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
        }

        .gal-card-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform .4s;
        }

        .gal-card:hover .gal-card-img {
            transform: scale(1.07);
        }

        .gal-card-overlay {
            position: absolute;
            inset: 0;
            background: rgba(11, 31, 58, .42);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity .3s;
        }

        .gal-card-overlay i {
            color: #fff;
            font-size: 28px;
        }

        .gal-card:hover .gal-card-overlay {
            opacity: 1;
        }

        .gal-card-label {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 10px 14px;
            background: linear-gradient(to top, rgba(0, 0, 0, .75), transparent);
            color: #fff;
            font-size: 13px;
            font-weight: 600;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
