.gallery-header {
    text-align: center; padding: 40px 20px 20px; background-color: #e3abe7;
}
.news__past-events {
    padding: 40px 5%;
}
.gallery-header h1 {
    font-size: 2.5rem; margin-bottom: 10px;
}
.gallery-container {
    padding: 30px 5%;
}
.gallery-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px;
}
.gallery-item {
    background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.1); text-align: center; transition: transform 0.2s ease-in-out; cursor: pointer;
}
.gallery-item:hover {
    transform: scale(1.03);
}
.gallery-item img {
    width: 100%; height: 200px; object-fit: cover;
}
.gallery-item p {
    padding: 10px; font-weight: 500;
}

/* Lightbox styles */
.lightbox {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; background: rgba(0,0,0,0.8); justify-content: center; align-items: center; z-index: 999;
}
.lightbox-content {
    display: flex; flex-direction: column; align-items: center; max-width: 90%; max-height: 90%; gap: 15px;
}
.lightbox img {
    max-width: 100%; max-height: 75vh; object-fit: contain; border-radius: 10px;
}
#lightbox-title {
    color: white; font-size: 1.2rem; text-align: center; margin: 0;
}
#lightbox-close {
    position: absolute; top: 20px; right: 30px; font-size: 2rem; color: white; cursor: pointer;
}
.gallery__controls-wrapper {
    display: flex; overflow-x: scroll; list-style: none; gap: 5px; padding: 0px 5px;
}
.gallery-controls img {
    width: 40px; height: 40px;
}