.gallery-section {
    background: var(--white);
    position: relative;
    overflow: hidden;
}

.gallery-subtitle {
    font-family: var(--font-family-base);
    font-size: 20px;
    color: var(--accent-orange);
}

.gallery-title {
    font-family: var(--font-family-base);
    font-size: 48px;
    margin: 5px 0 10px;
    color: var(--dark);
}

.gallery-description {
    color: var(--text-muted);
    max-width: 600px;
    margin: auto;
    font-size: 16px;
}

.gallery-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    height: 280px;
    cursor: pointer;
    background: var(--bg-card);
}

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

.gallery-card:hover img {
    transform: scale(1.08);
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: var(--transition-base);
}

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

.gallery-overlay i {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--accent-orange);
}

@media (max-width: 767px) {
    .gallery-title { font-size: 36px; }
    .gallery-card { height: 230px; }
}