/* ===== PAGINA ===== */

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

.gallery-section {
    margin-bottom: 96px;
}

.gallery-title {
    font-size: 3rem;
    margin-bottom: 40px;
}

/* ===== GRID BASIS ===== */

.gallery-grid {
    display: grid;
    gap: 40px;
    align-items: center;
    justify-content: center;
}

.gallery-grid-top {
        align-items:start;
}

/* ===== LAYOUT TYPES ===== */


.layout-1-large {
    grid-template-columns: minmax(600px, 900px);
    justify-content: center;
}

/* Twee naast elkaar */
.layout-1 {
    grid-template-columns: repeat(1, minmax(350px, 500px));
}

/* Twee naast elkaar */
.layout-2 {
    grid-template-columns: repeat(2, minmax(350px, 500px));
}

/* Drie gecentreerd, middelste groter */
.layout-3-center {
    grid-template-columns: repeat(3, minmax(280px, 420px));
}

/* Tekst + beeld */
.layout-text-right {
    grid-template-columns: minmax(350px, 450px) minmax(350px, 500px);
    justify-content: center;
}

/* ===== ITEMS ===== */

.gallery-item {
    text-align: center;
}

.gallery-item img {
    width: 100%;
    height: 60vh;       /* vaste visuele hoogte */
    object-fit: contain;
}

.gallery-item.small img {
    max-height: 40vh;
}

.gallery-item.large img {
    max-height: 70vh;
}



/* ===== TEXT BLOCK ===== */

.text-block {
    align-self: center;
    max-width: 500px;
}

figcaption {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.6em;
}

figcaption span {
    display: block;
}

figcaption span:first-child {
    font-weight: 700;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 1100px) {

    .layout-3-center {
        grid-template-columns: 1fr 1fr;
    }

    .gallery-item img {
        height: auto;
    }

}

@media (max-width: 768px) {

    .gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 24px;
    }

    .gallery-section {
        margin-bottom: 64px;
    }

    .gallery-title {
        font-size: 2.2rem;
    }

    .text-block {
        text-align: center;
    }

}