html, body {
  background-color: #fdffe6;
  margin: 0; /* avoids a thin white edge some browsers add by default */
}

.gallery-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 30px;
}

.gallery-header {
    text-align: center;
    margin-bottom: 50px;
}

.gallery-header h1 {
    font-size: 42px;
    margin-bottom: 15px;
}

.gallery-grid {
    max-width: 900px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.gallery-item {
    margin: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform 0.3s ease;
}

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

@media (max-width: 800px) {
    .gallery-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 500px) {
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
