:root{
    --color-primary: oklch(65% 0.15 240);
    --color-secondary: oklch(25% 0.05 240);
    --color-text: oklch(20% 0.02 0);
    --color-light: oklch(95% 0.01 0);
    --color-cards: oklch(0.3874 0 27.11);
    --line-height: 1.6;
}


@media (min-width: 600px) {


    header{
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .header-info {
        margin-block-end: 0;
    }

    header nav ul{
        flex-direction: row;
        gap: 1.5rem;
    }

    .cards li{
        flex: 1 1 18rem;


    }

    @media (min-width: 1200px) {
        .container {
            padding-inline: 0;
        }
    }

} /* Sluiting van de @media (min-width: 600px) blok */



*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body{
    font-family: Book Antiqua, sans-serif;
    line-height: var(--line-height);
    color: var(--color-text);
    background-color: var(--color-light);
}

.container{
    max-width: 80rem;
    margin: 0 auto;
    padding-inline: 1rem;
}


header{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-block: 1rem;
    background-color: var(--color-secondary);
    color: var(--color-light);
}

/* --- NIEUWE FLEX CONTAINER VOOR FOTO EN KNOP --- */
.hero-image-section {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    max-width: fit-content;
    margin-inline: auto; /* Ik heb deze weer op auto gezet, anders staat de sectie aan de linkerkant van de container, wat in mobiel niet altijd mooi is. */
    margin-block-start: 1rem;
}
/* ----------------------------------------------- */

.my-image {
    display: block;
    margin-block-start: 1rem;
    margin-inline:0;
    width: 100%;
    max-width: 16rem;
    height: auto;
}

.header-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-block-end: 1rem;
}

.header-logo{
    height: 3rem;
}

header nav ul{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0;
}

header nav a{
    color: var(--color-light);
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

header nav a:hover{
    color: var(--color-primary);
}

main section{
    padding-block: 2rem;
}

.button {
    display: inline-block;
    padding: 0.75rem 1.5rem;

    background-color: var(--color-light);
    color: var(--color-text);
    border: 2px solid var(--color-text);

    border-radius: 0.5rem;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.1s ease, box-shadow 0.3s ease;


    font-size: 1rem;
    margin-block-start: 1rem;
}


.button:hover,
.button:focus {
    background-color: var(--color-secondary);
    color: var(--color-light);
    border-color: var(--color-secondary);

    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.button:active {
    transform: translateY(0);
    box-shadow: none;
}

h1, h2, h3{
    color: rebeccapurple;
    margin-block-end: 0.5rem;
}

h1{
    font-size: 2.5rem;
    font-weight: normal;
}

h2{
    font-size: 1.5rem;
}

h3{
    font-size: 1.2rem;
    color: var(--color-text);
    font-weight: bold;
}



.read-more {
    display: inline-block;
    margin-block-start: 1rem;
    color: var(--color-secondary);
    text-decoration: none;
    font-weight: bold;
}

.read-more:hover{
    text-decoration: underline;
}


.social-media{
    text-align: center;
}

.social-links{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem;
    margin-block-start: 1rem;
}

.social-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: var(--color-text);
}

.social-item img{
    height: 2rem;
    width: 2rem;
    margin-block-end: 0.2rem;
    transition: transform 0.3s ease;
}

.social-item:hover img{
    transform: scale(1.1);
}




.cards{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap:wrap;
    gap: 2rem;
}

.cards li{
    background-color: lightslategrey;
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1 1 18rem;
    box-shadow: 0 0 .2rem oklch(0 0 0 / .2), 0 0 2rem oklch(0 0 0 / .1);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}


.cards li:hover{
    background-color: oklch(0.95 0.05 250);
    box-shadow: 0 0 20px oklch(0.40 0.14 12 / 0.5);
}

.cards img{
    display: block;
    width: 100%;
    height: 200px;
    border-radius: 1rem 1rem 0 0;
    object-fit: cover;
}

.cards .content{
    padding: 1rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cards h3{
    display: block;
    font-size: 1.25rem;
}

.cards p {
    flex-grow: 1;
    margin: 0;
}

.cards a{
    text-decoration: underline;
}

.cards .overlay-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
}

.cards a:not(.overlay-link) {
    color: black;
    text-decoration: underline;
}


footer{
    text-align: center  ;
    padding: 1rem;
    background-color: var(--color-secondary);
    color: var(--color-light);
    margin-block-start: 2rem;
}



@media (min-width: 600px) {


    header {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .header-info {
        margin-block-end: 0;
    }

    header nav ul {
        flex-direction: row;
        gap: 1.5rem;
    }

    .cards li {
        flex: 1 1 18rem;


    }

    @media (min-width: 1200px) {
        .container {
            padding-inline: 0;
        }
    }
}


/* --- Styling voor de Modale Pop-up --- */
.modal {
    /* Zorgt ervoor dat de pop-up de hele pagina bedekt */
    display: none; /* Standaard onzichtbaar */
    position: fixed; /* Blijft op zijn plek bij scrollen */
    z-index: 100; /* Zorgt ervoor dat het over al het andere ligt */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* Scrollen mogelijk indien nodig */
    background-color: rgba(0,0,0,0.7); /* Donkere, semi-transparante achtergrond */
}

.modal-content {
    background-color: var(--color-light);
    margin: 10% auto; /* 10% van boven en gecentreerd */
    padding: 20px;
    border: 1px solid var(--color-secondary);
    width: 80%; /* Breedte van de pop-up */
    max-width: 600px;
    border-radius: 1rem;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    text-align: center;
}

.modal-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 10px;
}

.close-button {
    color: var(--color-text);
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close-button:hover,
.close-button:focus {
    color: var(--color-primary);
    text-decoration: none;
    cursor: pointer;
}

/* Verbergt de afzonderlijke reacties binnen de modal bij start */
#yes-reaction, #no-reaction {
    margin-top: 10px;
}