/* Globale Stijlen & Reset */
:root {
    --rood: #D11D33;
    --lichtgrijs: #F7F7F7;
    --donkergrijs: #E0E0E0;
    --tekstkleur: #333;
    --titelkleur: #000;
}

body {
    font-family: Arial, sans-serif; /* Strak, schreefloos lettertype */
    margin: 0;
    padding: 0;
    background-color: var(--lichtgrijs);
    color: var(--tekstkleur);
    scroll-behavior: smooth;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

h1, h2, h3 {
    font-family: Arial, sans-serif;
    color: var(--titelkleur);
    line-height: 1.2;
    font-weight: 800;
}

p {
    line-height: 1.6;
}

.rood-accent {
    color: var(--rood);
}

.knop {
    display: inline-block;
    background-color: var(--rood);
    color: white;
    text-decoration: none;
    padding: 12px 25px;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s;
}

.knop:hover {
    background-color: #A31728; /* Iets donkerder rood */
}

/* ------------------------------------------- */
/* 1. HEADER / NAVIGATIE */
/* ------------------------------------------- */
header {
    background-color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 10px 0;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-header {
    height: 40px; /* Pas deze hoogte aan op basis van je logo.jpg */
    width: auto;
}

nav a {
    color: var(--tekstkleur);
    text-decoration: none;
    font-weight: 600;
    margin-left: 25px;
    padding: 5px 0;
    transition: color 0.3s;
}

nav a:hover {
    color: var(--rood);
}

.knop-nav {
    background-color: var(--rood);
    color: white !important;
    padding: 8px 15px;
    border-radius: 5px;
}

.knop-nav:hover {
    background-color: #A31728;
}

/* ------------------------------------------- */
/* 2. INTRO / HERO SECTIE (Screenshot 5) */
/* ------------------------------------------- */
#intro-sectie {
    padding: 50px 0 80px 0;
}

.hoofd-titel-rood {
    font-size: 3.5em; 
    color: var(--rood); 
    text-align: center; 
    margin-bottom: 40px;
    font-weight: 800;
}

.intro-grid {
    display: flex;
    gap: 50px; 
    align-items: flex-start;
}

/* Linkerkolom: Logo Vak */
.logo-vak {
    flex: 0 0 350px; 
    background-color: var(--donkergrijs); 
    padding: 30px; 
    border-radius: 5px;
    text-align: center;
}

.logo-vak img {
    max-width: 100%; 
    height: auto;
    display: block;
}

/* Rechterkolom: Tekst Vak */
.tekst-vak {
    flex: 1; 
    padding-top: 20px; 
}

.tekst-vak h2 {
    font-size: 2.2em; 
    color: var(--titelkleur);
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 30px;
}

/* 3. SPECIALISATIES MET ACHTERGROND (NOG VERVAGDER) */
.specialisaties-bg {
    /* Overlay nog transparanter gemaakt (rgba waardes verlaagd) */
    background-image: linear-gradient(rgba(240, 240, 240, 0.3), rgba(240, 240, 240, 0.3)), url('/afbeeldingen/achtergrond.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 80px 0;
    
}

.specialisaties-bg .witte-titel {
    font-size: 3em;
    color: var(--lichtgrijs); 
    text-align: center;
    margin-bottom: 50px;
    font-weight: 800;
}

.specialisatie-kolommen {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.spec-links, .spec-rechts {
    flex: 1;
    max-width: 500px;
    background-color: rgba(255, 255, 255, 0.95); /* Zeer licht doorschijnend wit */
    padding: 30px;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.grote-witte-tekst {
    font-size: 1.2em;
    font-style: italic;
    color: var(--tekstkleur);
    font-weight: 600;
    margin-bottom: 20px;
}

.specialisatie-kolommen ul {
    list-style: none;
    padding-left: 0;
}

.specialisatie-kolommen ul li {
    padding: 5px 0 5px 25px;
    color: var(--rood); 
    font-weight: 600;
    position: relative;
    font-size: 1.1em;
}

/* Rode stip als bullet */
.specialisatie-kolommen ul li::before {
    content: '•'; 
    position: absolute;
    left: 0;
    color: var(--rood);
    font-weight: 800;
    font-size: 1.5em;
    line-height: 0.8;
}

/* ------------------------------------------- */
/* 4 & 5. WAAROM KIEZEN & VAKGEBIEDEN (Screenshots 1 & 4) */
/* ------------------------------------------- */

.section-titel {
    font-size: 2.8em;
    color: var(--titelkleur);
    text-align: center;
    margin-bottom: 60px;
    padding-top: 50px;
    font-weight: 800;
}

.rood-accent-titel {
    color: var(--rood);
    font-size: 1.4em;
    font-weight: 700;
    margin-bottom: 10px;
}

/* Waarom Kiezen Grid (2 kolommen) */
#waarom-kiezen {
    padding-bottom: 80px;
}
.waarom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 gelijke kolommen */
    gap: 40px;
}

.waarom-item {
    background-color: white; 
    padding: 25px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

.waarom-item.volle-breedte {
    grid-column: 1 / -1; /* Dit item gaat over de volle breedte */
}

/* Stijl voor checkmark lists */
.checkmark-list {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
}

.checkmark-list li {
    padding-left: 25px;
    position: relative;
    line-height: 1.5;
}

.checkmark-list li::before {
    content: '✓'; 
    color: var(--rood);
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Vakgebieden Grid (Screenshot 4) */
#vakgebieden-detail {
    /* Gebruik de achtergrond.jpg, met een donkerdere overlay voor leesbaarheid */
    background-image: linear-gradient(rgba(51, 51, 51, 0.7), rgba(51, 51, 51, 0.8)), url('/afbeeldingen/achtergrond.jpg');
    background-size: cover;
    background-attachment: fixed; /* Zorgt voor een cool 'parallax' effect */
    padding: 80px 0;
}
/* Pas de tekstkleuren binnen deze sectie aan zodat ze leesbaar blijven op donkere achtergrond */
#vakgebieden-detail .section-titel {
    color: white; /* Maak de hoofdtitel wit */
}

#vakgebieden-detail .vakgebied-item {
    background-color: rgba(255, 255, 255, 0.95); /* Zorg voor een (semi-)witte achtergrond voor de tekstblokken */
    padding: 25px;
    border-radius: 5px;
}

.vakgebied-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    gap: 40px;
}

.vakgebied-item {
    background-color: white;
    padding: 25px;
    border-radius: 5px;
}

/* ------------------------------------------- */
/* 6. CALL TO ACTION (CTA) (Screenshot 3 - Bovenste deel) */
/* ------------------------------------------- */
#cta-boven {
    background-color: var(--lichtgrijs);
    padding: 80px 0;
}

.cta-content {
    text-align: center;
    max-width: 800px;
}

#cta-boven h2 {
    font-size: 2.2em;
    margin-bottom: 20px;
}

#cta-boven p {
    font-size: 1.1em;
}

/* ------------------------------------------- */
/* 7. CONTACT & FOOTER (Screenshot 3 - Onderste deel) */
/* ------------------------------------------- */
#contact-sectie {
    background-color: var(--donkergrijs); 
    padding: 40px 0;
    border-top: 5px solid var(--rood);
}

.footer-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    text-align: center;
}

.footer-contact, .footer-info, .footer-logo-vak {
    flex: 1;
}

.footer-contact h3 {
    margin-top: 0;
    margin-bottom: 5px;
}

.email-link {
    color: var(--rood);
    font-size: 1.4em;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s;
}

.email-link:hover {
    color: #A31728;
}

.copyright {
    font-size: 0.9em;
    color: #555;
    margin: 0;
}

.logo-footer {
    height: 50px; 
    width: auto;
}

/* ------------------------------------------- */
/* RESPONSIVITEIT (Voor mobiele apparaten) */
/* ------------------------------------------- */
@media (max-width: 900px) {
    /* Intro / Hero */
    .intro-grid {
        flex-direction: column; 
        align-items: center;
    }
    .logo-vak {
        flex: auto; 
        max-width: 80%;
        margin-bottom: 30px;
    }
    .hoofd-titel-rood {
        font-size: 2.5em;
    }
    .tekst-vak h2 {
        font-size: 1.8em;
        text-align: center;
    }
    
    /* Specialisaties */
    .specialisatie-kolommen {
        flex-direction: column;
        align-items: center;
    }
    .spec-links, .spec-rechts {
        max-width: 100%;
        margin-bottom: 20px;
    }
    .specialisaties-bg .witte-titel {
        font-size: 2.5em;
    }

    /* Algemene Grids */
    .waarom-grid, .vakgebied-grid {
        grid-template-columns: 1fr; /* Op mobiel: 1 kolom */
    }
    .section-titel {
        font-size: 2em;
        margin-bottom: 40px;
    }

    /* Footer */
    .footer-grid {
        flex-direction: column;
        text-align: center;
    }
    .footer-contact, .footer-info, .footer-logo-vak {
        margin-bottom: 15px;
    }
    .footer-info {
        order: 3; /* Verplaats copyright naar de bodem */
    }
    nav a {
        margin-left: 15px; /* Minder ruimte tussen nav links */
    }
}