body{
    margin:0;
    font-family:Arial, sans-serif;
    background:#f7f2eb;
}

/* Navigatie */

.topnav{
    background:#203b5c;
    padding:20px 0;
    text-align:center;
}

.topnav a{
    display:inline-block;
    background:#2d4d78;
    color:white;
    text-decoration:none;
    font-weight:bold;
    font-size:1.2rem;
    padding:12px 40px;
    border-radius:12px;
    transition:0.2s;
	margin:0 10px;
}

.topnav a:hover{
    background:#3b6296;
    transform:translateY(-2px);
}

/* Intro */

.intro-card{
    max-width:900px;
    margin:25px auto;
    padding:25px;
    background:white;
    border-radius:15px;
    box-shadow:0 2px 8px rgba(0,0,0,0.1);
    text-align:center;
}

.intro-card h2{
    margin-top:0;
    color:#203b5c;
    font-size:2rem;
}

.intro-card p{
    color:#444;
    line-height:1.7;
    margin:12px 0;
}

.locaties{
    margin-top:20px;
    font-size:1.1rem;
    color:#203b5c;
    font-weight:bold;
}

/* Kaart */

.kaart{
    position:relative;
    width:100%;
    max-width:1400px;
    margin:20px auto 40px auto;
}

.kaart img{
    width:100%;
    display:block;
    border-radius:15px;
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
}

/* Klikzones */

.vrijdagmarkt{
    position:absolute;
    left:46%;
    top:72%;
    width:26%;
    height:20%;
}

.vlaaikensgang{
    position:absolute;
    left:35%;
    top:27%;
    width:18%;
    height:18%;
}

.kathedraal{
    position:absolute;
    left:67%;
    top:24%;
    width:18%;
    height:22%;
}

/*
Tijdelijk inschakelen om af te regelen

.vrijdagmarkt,
.vlaaikensgang,
.kathedraal{
    border:2px solid red;
}
*/

footer{
    text-align:center;
    color:#666;
    padding:20px;
    font-size:0.9rem;
}

/* GSM */

@media(max-width:768px){

    .intro-card{
        margin:15px;
        padding:20px;
    }

    .intro-card h2{
        font-size:1.6rem;
    }

    .topnav a{
        padding:12px 30px;
        font-size:1rem;
    }

}
header{
    text-align:center;
    padding:30px 15px;
}

header img{
    max-width:280px;
    width:100%;
    height:auto;
}

h1{
    font-size:clamp(1.8rem, 6vw, 4rem);
    color:#203b5c;
    margin:20px 0 10px;
    text-transform:uppercase;
    letter-spacing:1px;
    line-height:1.15;
    text-align:center;
    word-break:normal;
}

.subtitle{
    color:#b62b2b;
    font-size:clamp(1rem, 4vw, 1.5rem);
    font-style:italic;
}

.container{
    max-width:1000px;
    margin:auto;
    padding:20px;
}

.card{
    background:white;
    border-radius:15px;
    padding:25px;
    margin-bottom:25px;
    box-shadow:0 2px 8px rgba(0,0,0,0.1);
}

.card h2{
    color:#203b5c;
    margin-top:0;
}

ul{
    margin:0;
    padding-left:20px;
}

.back{
    display:inline-block;
    margin:20px 0 40px;
    padding:12px 24px;
    background:#203b5c;
    color:white;
    text-decoration:none;
    border-radius:8px;
    transition:0.2s;
}

.back:hover{
    background:#152b44;
}

.route-step{
    display:flex;
    gap:15px;
    margin-bottom:20px;
    padding-bottom:15px;
    border-bottom:1px solid #e5e5e5;
}

.step-number{
    min-width:40px;
    height:40px;
    border-radius:50%;
    background:#203b5c;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
}

.distance{
    color:#b62b2b;
    font-weight:bold;
}

.summary{
    background:#f8f8f8;
    padding:20px;
    border-radius:10px;
    margin-top:20px;
}

.map-preview{
    text-align:center;
    margin:20px 0 30px 0;
}

.map-preview img{
    width:100%;
    max-width:450px;
    height:auto;
    border-radius:12px;
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
}
.tip{
    background:#fff6d6;
    border-left:5px solid #f0c040;
    padding:15px;
    border-radius:8px;
    margin-bottom:25px;
}

.rebus{
    background:#f8f8f8;
    padding:20px;
    border-radius:10px;
    margin-bottom:30px;
}

.rebus p{
    font-size:1.4rem;
    margin:20px 0;
}

.vraag{
    margin-bottom:18px;
}

.vraag label{
    display:block;
    font-weight:bold;
    color:#203b5c;
    margin-bottom:5px;
}

.vraag input{
    width:100%;
    max-width:500px;
    padding:12px;
    border:1px solid #ccc;
    border-radius:8px;
    box-sizing:border-box;
    font-size:1rem;
}

button{
    background:#b62b2b;
    color:white;
    border:none;
    padding:12px 24px;
    border-radius:8px;
    cursor:pointer;
    font-size:1rem;
}

button:hover{
    background:#912020;
}

.result{
    display:none;
    margin-top:20px;
    padding:15px;
    border-radius:10px;
}

.correct{
    background:#dff5df;
    border-left:6px solid green;
}

.wrong{
    background:#ffe0e0;
    border-left:6px solid red;
}

.rebus-btn{
    display:inline-block;
    margin-top:15px;
    padding:14px 28px;
    background:#b62b2b;
    color:white;
    text-decoration:none;
    border-radius:8px;
    font-weight:bold;
}

.rebus-btn:hover{
    background:#912020;
}

.grid-container{
    overflow-x:auto;
}

.woordzoeker{
    border-collapse:collapse;
    margin:auto;
    background:white;
}

.woordzoeker td{
    width:38px;
    height:38px;
    border:1px solid #ccc;
    text-align:center;
    font-size:22px;
    font-weight:bold;
    cursor:pointer;
    user-select:none;
}

.woordzoeker td.selected{
    background:#ffe44d;
}

.woordzoeker td.found{
    background:#8de38d;
}

.word.found{
    background:#8de38d;
    text-decoration:line-through;
}

.panel{
    margin-top:30px;
    background:white;
    padding:20px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,0.1);
}

.words{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
}

.word{
    padding:10px;
    background:#f1f1f1;
    border-radius:8px;
}

.status{
    margin-top:15px;
    font-weight:bold;
    color:#203b5c;
}

.footer-actions{
    margin-top:20px;
    text-align:center;
}