#photo-grid {
    visibility: hidden;  /* Hide grid until JS reveals it */
    min-height: 100px;   /* Optional: Prevents collapse before show */
    transition: visibility 0s, opacity 0.6s linear;
    opacity: 0;
}
#photo-grid.visible {
    visibility: visible;
    opacity: 1;
}


/* Default button size for larger screens */
.filter-button {
    background-color: #8c3960;
    color: whitesmoke;
    border: 1px solid #773455;
    padding: 9px 12px; /* Larger padding for larger screens */
    font-size: 11px; /* Larger font size */
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
    margin: 0 5px;
}

/* Hover effect */
.filter-button:hover {
    background-color: #6c2d4a;
    color: #fff;
    transform: scale(1.05);
}

/* Active (selected) button */
.filter-button.active {
    background-color: #6c2d4a;
    color: whitesmoke;
}

/* Responsive for medium (tablet) screens */
@media (max-width: 992px) {
    .filter-button {
        padding: 10px 10px; /* Smaller padding on medium screens */
        font-size: 10px; /* Smaller font size */
    }
}

/* Responsive for small (laptop) screens */
@media (max-width: 768px) {
    .filter-button {
        padding: 8px 12px; /* Smaller padding */
        font-size: 8px; /* Even smaller font size */
    }
}

/* Responsive for extra small (mobile) screens */
@media (max-width: 576px) {
    .filter-button {
        padding: 6px 12px; /* Smaller padding */
        font-size: 12px; /* Smaller font size */
    }
}

/* Container for evenly spaced buttons */
.filter-buttons-container {
    display: flex;
    justify-content: center; /* Center buttons */
    flex-wrap: wrap;
    margin-bottom: 20px; /* Space below buttons */
}
