/* ===== HERO ===== */

.info-hero{
    background:#0d2b52;
    color:white;
    text-align:center;
    padding:100px 20px;
}

.info-hero h1{
    font-size:3rem;
    margin-bottom:15px;
}

.info-hero p{
    font-size:1.2rem;
}

/* ===== SECTIES ===== */

.kamp-overzicht,
.algemene-info,
.locaties{
    padding:70px 20px;
}

.kamp-overzicht h2,
.algemene-info h2,
.locaties h2{
    text-align:center;
    color:#0d2b52;
    margin-bottom:30px;
}

/* ===== INFO BOX ===== */

.info-box{
    max-width:900px;
    margin:auto;

    background:white;

    padding:35px;

    border-radius:20px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);

    text-align:center;
}

.info-box p{
    margin:15px 0;
    line-height:1.8;
}

/* ===== BUTTON ===== */

.btn-primary{
    display:inline-block;

    margin-top:20px;

    background:#ff9800;
    color:white;

    text-decoration:none;

    padding:14px 25px;

    border-radius:50px;

    font-weight:700;

    transition:.3s;
}

.btn-primary:hover{
    background:#e68900;
}

/* ===== LOCATIES ===== */

.locatie-grid{
    max-width:1100px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
}

.locatie-card{
    background:white;

    padding:35px;

    text-align:center;

    border-radius:20px;

    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.locatie-card h3{
    color:#0d2b52;
    margin-bottom:15px;
}

.locatie-card p{
    margin-bottom:20px;
}

/* ===== MOBIEL ===== */

@media(max-width:768px){

    .info-hero{
        padding:70px 20px;
    }

    .info-hero h1{
        font-size:2rem;
    }

    .info-box{
        padding:25px;
    }

}
.info-hero{
    background:#0d2b52;
    color:white;
    text-align:center;
    padding:100px 20px;
}

.info-hero h1{
    font-size:3rem;
    margin-bottom:15px;
}

.info-hero p{
    font-size:1.2rem;
}
.kamp-omschrijving{
    max-width:1100px;
    margin:60px auto;
    padding:20px;
    line-height:1.8;
}

.kamp-omschrijving h2{
    text-align:center;
    color:#0d2b52;
    margin-bottom:25px;
}

.kamp-omschrijving p{
    margin-bottom:15px;
}

.kamp-omschrijving ul{
    background:#fff;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    margin-bottom:25px;
}

.kamp-omschrijving li{
    margin-bottom:10px;
}

.slottekst{
    background:#f5f7fa;
    padding:30px;
    border-radius:20px;
    text-align:center;
    margin-top:30px;
}
.info-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:25px;
    margin:40px 0;
}

.info-card{
    background:white;
    padding:25px;
    border-radius:20px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.info-card h3{
    color:#0d2b52;
    margin-bottom:15px;
}

.info-card ul{
    background:none;
    box-shadow:none;
    padding:0;
    margin:0;
}
/* ===== KOSTEN & KLEDING ===== */

.prijzen{
    max-width:1100px;
    margin:60px auto;
    padding:0 20px;
}

.prijs-box,
.kleding-box{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    margin-bottom:30px;
}

.prijs-box h3,
.kleding-box h3{
    color:#0d2b52;
    margin-bottom:15px;
}

.kamp-prijs{
    font-size:3rem;
    font-weight:bold;
    color:#ff9800;
    margin:15px 0;
}

.kleding-box table{
    width:100%;
    border-collapse:collapse;
    margin-bottom:30px;
}

.kleding-box td{
    padding:12px;
    border-bottom:1px solid #eee;
}

.kleding-box td:last-child{
    text-align:right;
    font-weight:bold;
}

.kleding-fotos{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;
}

.foto-box{
    text-align:center;
}

.foto-box img{
    width:100%;
    max-width:320px;
    border-radius:15px;
}

.foto-box h4{
    margin-top:15px;
    color:#0d2b52;
}