/* Gallery page specific styles */
.gallery-section {
    padding: 80px 0;
    background-color: var(--bg);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.gallery-item:hover img {
    transform: scale(1.07);
}

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

/* Lightbox overlay tweaks for consistency */
.mfp-fade.mfp-bg {
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(4px);
}
