/* Kleurenpalet & Basis */
:root {
    --hoofdkleur: #2c3e50;
    --achtergrond: #f4f4f4;
    --wit: #ffffff;
    --tekst: #333333;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', Arial, sans-serif; background-color: var(--achtergrond); color: var(--tekst); }

/* Navigatie */
nav {
    background: var(--wit); padding: 15px 5%; display: flex; flex-direction: column; align-items: center;
    border-bottom: 3px solid var(--hoofdkleur); position: sticky; top: 0; z-index: 1000;
}
.logo-container { display: flex; align-items: center; gap: 15px; text-decoration: none; }
.logo-img { height: 50px; }
.brand-name { font-size: 1.8rem; font-weight: bold; color: var(--hoofdkleur); letter-spacing: 1px; }

nav ul { list-style: none; display: flex; gap: 20px; margin-top: 10px; }
nav a { text-decoration: none; color: var(--tekst); font-weight: 600; text-transform: uppercase; font-size: 0.85rem; }

/* Hero Sectie (Statisch) */
.hero { background-color: var(--hoofdkleur); color: var(--wit); padding: 60px 20px; text-align: center; }
.hero h1 { font-size: 3rem; }
.hero p { font-size: 1.1rem; opacity: 0.8; text-transform: uppercase; letter-spacing: 2px; }

/* Content Sectie */
.section-card {
    background: var(--wit); max-width: 1000px; margin: 30px auto; padding: 40px;
    border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center;
}

/* Standalone Slideshow Sectie */
.slideshow-box {
    width: 100%; max-width: 1000px; height: 400px; margin: 30px auto;
    overflow: hidden; border-radius: 8px; position: relative; border: 1px solid #ddd;
}
.slides-wrapper {
    display: flex; width: 300%; height: 100%;
    animation: slide-animation 15s infinite;
}
.slides-wrapper a { width: 33.33%; height: 100%; display: block; position: relative; }
.slide-img {
    width: 100%; height: 100%; background-size: cover; background-position: center;
    transition: transform 0.5s;
}
.slides-wrapper a:hover .slide-img { transform: scale(1.05); }

/* Overlay die verschijnt bij hover */
.slide-overlay {
    position: absolute; bottom: 0; width: 100%; padding: 20px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: white; font-weight: bold; text-align: center; opacity: 0; transition: 0.3s;
}
.slides-wrapper a:hover .slide-overlay { opacity: 1; }

@keyframes slide-animation {
    0%, 30% { transform: translateX(0%); }
    33%, 63% { transform: translateX(-33.33%); }
    66%, 96% { transform: translateX(-66.66%); }
    100% { transform: translateX(0%); }
}

/* Gallery & Footer */
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 30px; }
.gallery-grid img { width: 100%; height: 250px; object-fit: cover; border-radius: 4px; cursor: pointer; }
.btn { background: var(--hoofdkleur); color: white; padding: 15px 30px; text-decoration: none; border-radius: 4px; display: inline-block; margin-top: 20px; font-weight: bold; }
footer { text-align: center; padding: 40px; color: #7f8c8d; font-size: 0.9rem; }

@media (min-width: 768px) { nav { flex-direction: row; justify-content: space-between; } nav ul { margin-top: 0; } }

/* Styles for the Popup */
#formPopup {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    z-index: 9999;
    text-align: center;
    min-width: 300px;
    border: 1px solid #ddd;
}
#popupOverlay {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
}
.popup-btn {
    margin-top: 15px;
    padding: 10px 25px;
    background: #2c3e50;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 4px;
}
/* Style for the Honeypot (Anti-spam) */
.hp-field { display: none !important; }
