/* ============================================================================
   INTRODUCTION SECTION
   ============================================================================ */

.introduction {
    min-height: 66.666vh;
    width: 100%;
    background-color: var(--color-bg);
    padding: 64px;

    display: flex;
    align-items: center;
}

.introduction__container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.introduction__heading {
    font-family: "Libre Baskerville", serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}

.introduction__text {
    font-family: "Poppins", sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: var(--color-text);
    margin: 0;
}

/* ============================================================================
   ARTISTS SECTION
   ============================================================================ */

.artists {
    width: 100%;
    min-height: calc(100vh - 75px);
    background-color: var(--color-section-bg);
    padding: var(--spacing-2xl) var(--spacing-lg);
    display: flex;
    align-items: flex-start;
}

.artists__container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 660px;
    gap: var(--spacing-2xl);
    height: 100%;


}

.artists__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.artists__heading {
    margin-bottom: var(--spacing-lg);
}

.artists__text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text);
}

/* --- Gallery layout --- */

.artists__gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* twee kleine foto's bovenaan */
    grid-template-rows: auto 1fr;
    /* grote foto onderaan */
    gap: var(--spacing-md);
    height: 100%;
}

.artists__gallery-item {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Grote foto onderaan, over beide kolommen */
.artists__gallery-item--large {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
}


/* ============================================================================
   GALLERY SECTION
   ============================================================================ */

/* SECTION WRAPPER */
.gallery {
    width: 100%;
    background-color: var(--color-bg);
    padding: var(--spacing-2xl) var(--spacing-lg);
}

.gallery__container {
    max-width: 1200px;
    margin: 0 auto;
}

.gallery__heading,
.gallery__subtitle {
    width: 1037px;
    margin: 0 auto;
    text-align: left;
}

.gallery__heading {
    margin-bottom: 20px;
}

.gallery__subtitle {
    margin-bottom: var(--spacing-2xl);
}

/* --- DIT IS DE ENIGE GRID --- */
.gallery__grid {
    width: 1037px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 253px 507px 253px;
    gap: var(--spacing-md);
}

/* --- ITEMS --- */
.gallery__item img {
    display: block;
    width: 100%;
    height: auto;
}

/* POSITIES */
.gallery__item--birds {
    grid-column: 1;
    grid-row: 1;
}

.gallery__item--nature {
    grid-column: 2;
    grid-row: 1;
}

.gallery__item--yellow {
    grid-column: 3;
    grid-row: 1;
}

.gallery__item--leave {
    grid-column: 2;
    grid-row: 2;
    margin-top: -350px;
}

.gallery__item--flower {
    grid-column: 3;
    grid-row: 2;
    margin-top: -350px;
}


/* ============================================================================
   MEET ARTISTS SECTION
   ============================================================================ */

.meet-artists {
    width: 100%;
    background-color: var(--color-section-bg);
    padding: var(--spacing-2xl) var(--spacing-lg);
}

.meet-artists__container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading links uitlijnen zoals gallery */
.meet-artists__heading {
    width: 1037px;
    margin: 0 auto 20px auto;
    /* 20px gap zoals gallery */
    text-align: left;
}

/* GRID */
.meet-artists__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-2xl);
    position: relative;
}

/* ============================================================================
   ARTIST CARD
   ============================================================================ */

.artist-card {
    display: flex;
    flex-direction: column;
    background-color: var(--color-bg);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
    padding-top: 45px;
}

/* Rechter card 100px lager */
.artist-card:nth-child(2) {
    margin-top: 100px;
}

/* IMAGE LIMITS */
.artist-card__image {
    width: 100%;
    max-width: 484px;
    max-height: 648px;
    object-fit: cover;
    margin: 0 auto;
    /* zodat de foto gecentreerd blijft binnen de card */
}

.artist-card__content {
    padding: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.artist-card__name {
    font-size: 24px;
    font-weight: 600;
}

.artist-card__bio {
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text);
    flex-grow: 1;
}

.artist-card__link {
    display: inline-block;
    color: var(--color-accent);
    font-weight: 500;
    padding: var(--spacing-xs) 0;
    border-bottom: 2px solid transparent;
    transition: border-bottom-color 0.2s ease;
}

.artist-card__link:hover {
    border-bottom-color: var(--color-accent);
}

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

/* Phone */
@media (max-width: 767px) {
    .introduction {
        min-height: auto;
        padding: 40px 20px;
    }

    .introduction__container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .introduction__heading {
        font-size: 32px;
    }

    .artists {
        min-height: auto;
        padding: 40px 20px;
    }

    .artists__container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .artists__gallery {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .artists__gallery-item--large {
        grid-column: auto;
        grid-row: auto;
    }

    .gallery {
        padding: 40px 20px;
    }

    /* Gezamenlijke werken: single column on phone */
    .gallery__heading,
    .gallery__subtitle,
    .gallery__grid {
        width: min(100%, 420px);
        margin: 0 auto;
    }

    .gallery__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gallery__item img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .gallery__item--birds,
    .gallery__item--nature,
    .gallery__item--yellow,
    .gallery__item--leave,
    .gallery__item--flower {
        grid-column: auto;
        grid-row: auto;
        margin-top: 0;
        width: 100%;
        height: auto;
    }

    .meet-artists {
        padding: 40px 20px;
    }

    .meet-artists__heading {
        width: 100%;
    }

    .meet-artists__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .artist-card {
        padding-top: 28px;
    }

    .artist-card:nth-child(2) {
        margin-top: 0;
    }

    .artist-card__content {
        padding: var(--spacing-md);
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
    .introduction {
        padding: 56px 32px;
    }

    .introduction__container {
        gap: 40px;
    }

    .introduction__heading {
        font-size: 36px;
    }

    .artists {
        min-height: auto;
        padding: 56px 32px;
    }

    .artists__container {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .artists__gallery {
        max-width: 760px;
    }

    .gallery {
        padding: 56px 32px;
    }

    .gallery__heading,
    .gallery__subtitle,
    .gallery__grid {
        width: min(100%, 860px);
    }

   .gallery__grid {
       width: 100%;
       display: grid;
       grid-template-columns: repeat(2, 1fr);
       gap: 20px;
   }

   .gallery__item {
       width: 100%;
   }

   .gallery__item img {
       width: 100%;
       aspect-ratio: 4 / 3;
       object-fit: cover;
   }

   /* Reset ALLES van de desktop collage */
   .gallery__item--birds,
   .gallery__item--nature,
   .gallery__item--yellow,
   .gallery__item--leave,
   .gallery__item--flower {
       grid-column: auto;
       grid-row: auto;
       margin-top: 0;
   }

    .meet-artists {
        padding: 56px 32px;
    }

    .meet-artists__heading {
        width: min(100%, 860px);
    }

    .meet-artists__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }

    .artist-card:nth-child(2) {
        margin-top: 0;
    }

    .artist-card__image {
        max-width: 100%;
        max-height: none;
    }
}

/* Larger than desktop */
@media (min-width: 1440px) {

    .introduction__container,
    .artists__container,
    .meet-artists__container {
        max-width: 1360px;
    }

    .gallery__container {
        max-width: 1360px;
    }

    .gallery__heading,
    .gallery__subtitle,
    .gallery__grid,
    .meet-artists__heading {
        width: min(100%, 1240px);
    }

    .gallery__grid {
        grid-template-columns: 1fr 2fr 1fr;
    }

    .artist-card__image {
        max-width: 560px;
        max-height: 720px;
    }
}