/*========================================
   1. BASIS & FONTS 
   ========================================= */
@font-face {
    font-family: 'forgottenfuturist'; 
    src: url('fonts/forgottenfuturist/Forgotten-Futurist-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'forgottenfuturist'; 
    src: url('fonts/forgottenfuturist/Forgotten\ Futurist\ Bd.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

#titel {  
    color: #f97316
}

.homebody {
    font-family: 'forgottenfuturist', sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100vh;;
    margin: 0;
}

/* Achtergrond staat vast op alle apparaten */
.achtergrond {
    background-image: url('img/achtergrond-medium.jpg'); 
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: fixed; 
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1;
    filter: blur(4px);
    transform: scale(1.05); /* Voorkomt witte randen van blur */
}

/* =========================================
   2. LAYOUT (Standaard)
   ========================================= */

/* Alle main secties krijgen standaard  padding en centrering */
main.overmijpagina, 
main.tipspagina, 
main.fotopagina,
main.homepagina,
main.contact-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 100px 15px 40px 15px; /* Ruimte voor de fixed header */
    box-sizing: border-box;
}

/* Tekstblokken voor leesbaarheid */
main.overmijpagina article,
main.tipspagina ul {
    background-color: rgba(0, 0, 0, 0.75); 
    color: white;
    padding: 20px;
    border-radius: 15px;
    width: 100%; /* Neemt volledige breedte minus padding op mobiel */
    box-sizing: border-box;
    line-height: 2.0;
}

main.tipspagina ul {
    list-style-type: disc;
    padding-left: 20px;
}
.overmij-tekst p {
    margin-bottom: 20px; /* Creëert witruimte na elke paragraaf */
}

/* 3. Ruimte tussen de lijst-items (voor de tips) */
main.tipspagina li {
    margin-bottom: 15px; /* Creëert witruimte tussen de bolletjes */
    display: list-item;
}

main.overmijpagina article a, 
main.tipspagina article a,
main.tipspagina ul a {
    color: #f97316; /* kleur van link*/
    text-decoration: underline; 
    font-weight: 800;
}

main.homepagina article{
    color: white; 
    background-color: rgba(0, 0, 0, 0.75); 
    text-align: center;
    font-size: 1.45em;
    font-weight: 800;
    padding: 20px;
    border-radius: 15px;
    margin-bottom: 30px;
}

main.homepagina picture img,
main.overmijpagina picture img {
    border-radius: 15px;
}

main.overmijpagina picture {
    margin-bottom: 20px; /* Ruimte tussen foto en tekst op  */
}

main.overmijpagina article a:hover, 
main.tipspagina ul a:hover {
    color: #ff9d5c; 
    text-decoration: none; /* De streep verdwijnt bij hover  */
}

/* Fotogallerij: foto's onder elkaar */
.galerij {
    display: flex;
    flex-direction: column; 
    gap: 15px;
    width: 100%;
}

.foto-item {
    width: 100%;
}

.foto-item img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/*Formulier: alles onder elkaar */
.formweergave {
    background-color: rgba(255, 255, 255, 0.95);
    padding: 20px;
    border-radius: 12px;
    width: 100%;
    box-sizing: border-box;
}

.form-veld {
    display: flex;
    flex-direction: column; /* Stapelen voor duim-vriendelijkheid */
    gap: 5px;
    margin-bottom: 15px;
}

.form-veld input:not([type="radio"]),
.form-veld select,
.form-veld textarea {
    border: 1px solid #aaa;
    padding: 12px; 
    width: 100%;
    box-sizing: border-box;
}

.formweergave h1 {
    text-align: center;      /* Dit zorgt voor de horizontale centrering van de tekst */
    width: 100%;             /* Zorgt dat de h1 de volledige breedte van de witte box benut */
    margin-bottom: 25px;     /* Ruimte onder de titel */
    color: black;             /* Donkere kleur voor contrast op wit *//
}

.form-buttons input {
    padding: 12px 30px;
    border: none;
    border-radius: 50px; /* Maakt de knoppen ronder (pill-shape) */
    font-family: 'forgottenfuturist', sans-serif; /* Gebruik je eigen font */
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

/* Specifieke kleur voor verzenden */
.form-buttons input[type="submit"] {
    background: #f97316 ;
    color: white;
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.3);
}

/* Specifieke kleur voor reset */
.form-buttons input[type="reset"] {
    background-color: transparent;
    border: 2px solid #DC2626;
    color: #DC2626;
}

.form-buttons input:hover {
    filter: brightness(1.1);
    transform: translateY(-2px); /* Laat de knop zweven */
}


/* =========================================
     (Media Queries)
   ========================================= */

/* Vanaf 768px breedte (Tablet/Desktop) */
@media screen and (min-width: 768px) {
    
    .achtergrond {
        background-image: url('img/achtergrond-large.jpg'); 
    }

    /* Fotogallerij: van 1 naar 3 kolommen */
    .galerij {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .foto-item {
        width: 28%; /* 3 foto's naast elkaar */
    }

    /* Over mij: foto naast of boven tekst beperken */
    @media screen and (min-width: 768px) {
    /* Zorg dat de elementen naast elkaar komen te staan */
    main.overmijpagina {
        flex-direction: row;      /* Zet foto en tekst in een rij */
        justify-content: center;  /* Centreer het geheel op de pagina */
        align-items: center;  /* Lijn ze aan de bovenkant uit */
        gap: 400px;                /* Ruimte tussen de foto en het tekstblok */
        padding: 100px 40px;      /* Extra ademruimte voor desktop */
    }

    /* Foto instellingen voor desktop */
    main.overmijpagina picture {
        flex: 1;                  /* Laat de foto ruimte innemen */
        max-width: 500px;         /* Voorkom dat de foto te reusachtig wordt */
        margin-bottom: 0;         /* Verwijder de mobiele marge onder de foto */
    }

    /* Tekstblok instellingen voor desktop */
    main.overmijpagina article {
        flex: 1;                  /* Laat de tekst de rest van de ruimte vullen */
        max-width: 600px;         /* Houd de regellengte leesbaar */
        margin-top: 0;            /* Zorg dat het blok bovenaan begint */
    }
}
    main.overmijpagina picture img {
        max-width: 800px;
    }

    main.overmijpagina article {
        padding: 40px;
        max-width: 800px; /* Voorkom te lange regels tekst */
    }

    /* Formulier: iets meer witruimte */
    .formweergave {
        padding: 40px;
        max-width: 500px;
    }

    #titel {
        font-size: 2.5em;
        color: #f97316;
    }
    main.homepagina picture img,
    main.homepagina picture {
    display: flex;
    justify-content: center;
    width: 45%;
    border-radius: 15px;
}
    main.tipspagina ul {
        font-size: 1.2rem; /* Maakt de tekst groter op desktop */
        padding: 40px 40px 40px 60px; /* Meer witruimte rondom de tekst op een groot scherm */
    }

    main.tipspagina li {
        margin-bottom: 20px; /* Meer ruimte tussen de grotere tekstregels */
    }

    main.overmijpagina article{
        font-size: 1.1rem; /* Grotere tekst voor betere leesbaarheid */
    }
    .formweergave {
        padding: 50px;           /* Meer ruimte binnenin het formulier */
        max-width: 900px;        /* Verhoogd voor een breder vlak */
        width: 100%;             /* Zorgt dat hij tot de max-width kan groeien */
    }

    /* Optioneel: de invoervelden iets groter maken voor desktop */
    .form-veld input:not([type="radio"]),
    .form-veld select,
    .form-veld textarea {
        padding: 15px;           /* Grotere klikvlakken op desktop */
        font-size: 1.0em;        /* Iets grotere tekst voor betere leesbaarheid */
    }
    .formweergave h1 {
        font-size: 1.4em;        /* Grotere titel op desktop */
    }
    .form-veld label {
        font-size: 1.2em;        /* Iets grotere labels voor duidelijkheid */
    }
}

/* =========================================
     (Animaties)
   ========================================= */
   /* De beweging: van 20px lager naar de normale plek, en van onzichtbaar naar zichtbaar */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* De klasse die de animatie uitvoert */
.animate-fade-in {
    animation: fadeInUp 0.8s ease-out forwards;
}

/* Extra klassen voor vertraging (delay) zodat niet alles tegelijk verschijnt */
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
