:root {
    --Coquille: #f6ebe2;
    --Olive: #4d3528;
    --Toile: #d7beaa;
    --Sauge: #a3b19b;
    --Ciel: #b4c4d0;
}

html {
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgb(0, 0, 0) rgb(255, 255, 255);
}

/* 1. Voeg box-sizing toe zodat padding de breedte niet beïnvloedt */
* {
    box-sizing: border-box;
}

body {
    /* Alleen de naam van het font tussen quotes, daarna de fallback */
    font-family: 'Lato', sans-serif; 
    background-color:var(--Coquille);
    color: black;
    margin: 0;
    padding: 0;
}

a {
    color: var(--Olive);
    text-decoration: none;
}
nav {
    padding: 0 24px;
    display: flex;
    align-items: center;
    height: 60px;

    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--Toile); /* i.p.v. solid kleur */
    /* backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); */
    box-shadow: black 0px 1px 3px;

}
nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}
nav a {
    text-decoration: none;
    color: var(--Olive);
    font-weight: 500;
    background-image: linear-gradient(var(--Olive), var(--Olive));
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px; /* Start op 0% breedte en is 2px hoog */
    padding-bottom: 5px;
    transition: all 0.3s ease; 
}

nav a:hover {
    background-size: 100% 2px;
}


.hero {
    position: relative; /* Zorgt dat de h1 binnen de hero blijft */
}

/* .hero h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
animation: letterAppear 0.5s ease-in-out;
    margin: 0;
} */
.hero h1 {
    /* Positionering over de afbeelding */
    position: absolute;
    top: 50%;
    left: 50%;
    /* Perfect centreren */
    transform: translate(-50%, -50%);
    
    /* Zorg dat letters naast elkaar blijven staan */
    display: flex;
    white-space: nowrap; 
    margin: 0;
    z-index: 10; /* Zorgt dat de tekst bovenop de afbeelding ligt */
}

.hero h1 span {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    animation: letterAppear 0.5s ease forwards;
    animation-delay: calc(var(--i) * 0.1s);
    
    /* Optioneel: Voeg een kleine schaduw toe voor leesbaarheid op foto's */
    text-shadow: 2px 2px 10px rgba(0,0,0,0.5);
    color: white; 
}

.hero img {
    /* 3. Verander 100vw naar 100% */
    width: 100%;
    height: 80vh;
    object-fit: cover;
    display: block; /* Voorkomt witruimte onder de afbeelding */
}

.info-section {
    width: 100%;
    padding: 100px 10%;
    /* background-color: var(--Ciel); */
    border-bottom: 3px solid rgb(0, 0, 0);
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease;
}

.info-section.show {
    opacity: 1;
    transform: translateY(0);
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Twee gelijke kolommen */
    gap: 50px;
    align-items: center; /* Centreert de tekst verticaal t.o.v. de foto-groep */
}

/* De container voor de twee foto's */
.image-container {
    opacity: 1;
    position: relative;
    height: 600px; /* Geef de container genoeg hoogte voor de verschuiving */
    display: flex;
    align-items: flex-start;
}

.image-container.show {
    opacity: 1;
    transform: translateY(0);
}

.img-wrapper {
    position: relative;
    width: 280px; /* Breedte van de individuele foto's */
}

.img-wrapper img {
    width: 100%;
    height: auto;
    box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.15);
}

/* De linker foto (lager en op de voorgrond) */
.left-img {
    margin-top: 120px;
    z-index: 2;
}

/* De rechter foto (hoger en naar links geschoven voor overlap) */
.right-img {
    margin-left: -100px; /* De overlap */
    z-index: 1;
}

/* De basis grid layout */
.grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Links foto's, rechts tekst */
    gap: 40px;
    align-items: center; /* Zorgt dat tekst en foto's verticaal uitlijnen */
    padding: 20px;
}

/* De container voor de twee foto's */
.image-container2 {
    display: flex; /* Gebruik flexbox om ze naast elkaar te zetten */
    gap: 15px;     /* Ruimte tussen de twee foto's */
}

/* Zorg dat de foto's binnen hun wrapper goed schalen */
.img-wrapper {
    flex: 1; /* Beide foto's nemen evenveel ruimte in */
}

.img-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px; /* Optioneel: voor een nettere look */
}

/* Tekst styling */
.info2 {
    padding: 20px;
}

.grid img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px; /* Optioneel: voor een nettere look */
}



footer {
    background-color: var(--Coquille);
    padding: 20px 0;
    border-top:black solid 1px;
}

.footer {
margin-left: 1%;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
footer input {
    padding: 10px;
    margin: 10px 0;
    width: 100px;
    box-sizing: border-box;
    background-color: var(--Toile);
    width: 200px;
}
footer button {
    padding: 10px 20px;
    background-color: var(--Olive);
    color: #fff;
    border: none;
    cursor: pointer;
    height: 50px;
    width: 100px;
    border: solid var(--Sauge) 1px;
    border-radius: 5px;
    background-image: linear-gradient(#a3b19b, #a3b19b);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 50px; /* Start op 0% breedte */
    padding-bottom: 5px;
    transition: all 0.3s ease;
}
footer button:hover {
    color: var(--Olive);
    background-size: 100% 50px; /* Animatie bij hover */
}

.credits {
    text-align: center;
    margin-top: 20px;
    font-size: 0.9em;
    color: #555;
}

footer .opening {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    text-align: center;
}

.opening p {
    margin: 0;
    font-size: 1.1em;
}

/* Credits onderaan over de hele breedte */
.credits {
    grid-column: 1 / -1; /* Neemt alle 3 kolommen in */
    text-align: center;
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.1);
}


/* Socials naast elkaar */
.socials {
    display: flex;
    gap: 15px;
    justify-content: center;
}
.socials img {
    width: 30px; /* Vaste maat voor iconen */
    height: auto;
}

.locatie {
    text-align: center;
    margin-bottom: 30px;
}









@keyframes letterAppear {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .info-grid {
        grid-template-columns: 1fr; /* Foto's en tekst onder elkaar op mobiel */
    }
    
    .image-container {
        height: 500px;
        justify-content: center;
    }
}