/* Gallery Grid: Default to a single column for mobile */
.gallery-grid {
    display: grid;
    gap: var(--spacing-lg); /* 1.5rem gap */
    grid-template-columns: 1fr;
    margin-top: var(--spacing-lg);
}

/* Individual Gallery Item (uses global .card styles) */
.gallery-item {
    transition: transform var(--transition-base);
    cursor: pointer;
}

.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 40px rgba(45, 112, 179, 0.2);
}

.gallery-image {
    width: 100%;
    height: 200px; /* Fixed height for consistency on mobile */
    object-fit: cover;
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
    display: block;
}

.gallery-caption {
    padding: var(--spacing-md);
    text-align: center;
}

.gallery-filter-bar {
    display: flex;
    flex-direction: column; /* Stack filters vertically on mobile */
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-xl);
}