.page-gallery-area {
    position: relative;
}

.page-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
}

.page-gallery-item {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.page-gallery-item img {
    object-fit: cover;
    transition: transform 0.35s ease;
}

.page-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.page-gallery-item:hover img {
    transform: scale(1.08);
}

.page-gallery-item:hover::after {
    opacity: 1;
}