:root{
  --bg:#f7f8fb;
  --card:#fff;
  --text:#0c1222;
  --muted:#5b6474;
  --brand:#111827;
  --accent:#635bff;
  --fan:#00c2ff;
  --border:#e6e8ef;
  --shadow:0 10px 24px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
/* Header */
.site-header{position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--border);z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo{display:inline-flex;align-items:baseline;font-weight:800;text-decoration:none;font-size:20px;letter-spacing:-.2px;color:var(--brand)}
.logo-fan{color:var(--fan)}
.logo-rest{color:var(--brand)}
.nav{display:flex}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav a{color:var(--text);text-decoration:none;font-weight:600;padding:10px 6px;border-radius:8px}
.nav a:hover{background:rgba(99,91,255,.08)}
.nav-toggle{display:none;position:relative;width:42px;height:42px;border:1px solid var(--border);background:var(--card);border-radius:10px;cursor:pointer}
.nav-toggle .bar{display:block;width:20px;height:2px;background:#111;margin:5px auto;border-radius:2px}
/* Page */
.page{padding:28px 0 64px}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:12px 0 20px}
h1{font-size:clamp(26px,3.2vw,34px);margin:0}
.lead{color:var(--muted);max-width:70ch}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:var(--shadow)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}
.span-12{grid-column:1/-1}
.span-6{grid-column:span 6}
.span-4{grid-column:span 4}
ul.check{padding-left:18px}
/* Footer */
.site-footer{background:var(--card);border-top:1px solid var(--border)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:32px 0}
.footer-logo{font-size:18px}
.footer-nav ul{list-style:none;margin:8px 0 0;padding:0}
.footer-nav a{color:var(--text);text-decoration:none}
.footer-bottom{display:flex;justify-content:center;border-top:1px solid var(--border);padding:12px 0;color:var(--muted)}
.subbrand{color:var(--muted);margin-top:10px}
/* Forms */
form label{display:block;font-weight:600;margin:10px 0 6px}
input,textarea,select{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}
button.btn{appearance:none;border:0;background:var(--accent);color:#fff;font-weight:700;padding:12px 18px;border-radius:12px;cursor:pointer}
button.btn:hover{opacity:.95}
/* Responsive */
@media (max-width:920px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .span-6{grid-column:1/-1}
  .span-4{grid-column:1/-1}
}
@media (max-width:760px){
  .nav{display:none;position:absolute;right:16px;top:68px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0}
  .nav a{display:block;padding:12px 14px}
  .nav-toggle{display:inline-block}
  .footer-grid{grid-template-columns:1fr}
}


/* Blog content layout */
.content h2{margin-top:20px;margin-bottom:8px;font-size:clamp(20px,2.4vw,24px)}
.content h3{margin-top:16px;margin-bottom:6px;font-size:clamp(18px,2vw,20px)}
.content p{margin:10px 0;max-width:75ch}
.content ul, .content ol{padding-left:22px}
.content img{max-width:100%;height:auto;border-radius:12px}
.article-meta{color:var(--muted);margin-top:-6px;margin-bottom:14px}

/* Blog content */
.post .content {font-size:1.05rem}
.post .content h2,h3{margin-top:1.2em}
.post img{max-width:100%;height:auto;border-radius:12px}

/* Blog grid tuning */
.span-3{grid-column:span 3}
.card .btn{display:inline-block;margin-top:10px;text-decoration:none}
.card-cover{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:10px}
.card-title{margin:4px 0 6px}
.card-excerpt{margin:0 0 8px}

/* Responsive columns: max 4 per row on wide screens; collapse on smaller */
@media (max-width:1200px){
  .span-3{grid-column:span 4} /* 3 per row */
}
@media (max-width:920px){
  .span-3{grid-column:1/-1} /* 1 per row on tablet/phone */
}

/* Blog overview thumbnails: small & uniform */
.blog-list .card-cover{
  width:100%;
  height:clamp(120px, 14vw, 180px);
  object-fit:cover;
  border-radius:10px;
  margin-bottom:10px;
}
.blog-list .card-title{font-size:clamp(16px,1.8vw,18px); line-height:1.3}
.blog-list .card-excerpt{font-size:14px}


.more-blogs{margin-top:24px}
.more-blogs h2{margin:6px 0 12px}
/* Ensure single article uses full width */
.grid > .span-12{grid-column:1/-1}

/* Force single article to take full width */
.full-article{display:block;width:100%}

/* Ensure "Meer blogs" is below content, never next to it */
.more-blogs{display:block;clear:both;margin-top:24px}
.more-blogs .grid{display:grid}

/* Make hero/lead text span full content width (match cards below) */
.page-header{display:block}
.lead{max-width:none}

/* ==== Link styling (globaal) ==== */
:root {
    --link: #3300cc;
    /* fris teal/groen-blauw */
    --link-hover: #0b8c8c;
    /* iets donkerder */
    --link-focus: #3300cc;
    /* subtiele focus ring */
}

/* Basistoestand */
a {
    color: var(--link);
    text-decoration: none;
    text-underline-offset: 3px;
    transition: color .15s ease, text-decoration-color .15s ease, box-shadow .15s ease;
}

/* Nooit meer paars na bezoek */
a:visited {
    color: var(--link);
}

/* Hover: lichte underline voor duidelijkheid */
a:hover {
    color: var(--link-hover);
    text-decoration: underline;
    text-decoration-thickness: from-font;
}

/* Toetsenbord/focus toegankelijkheid */
a:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px var(--link-focus);
    border-radius: 6px;
}

/* Actief (muisklik) */
a:active {
    opacity: .9;
}

/* ==== Navigatie en footer subtiel afstemmen ==== */
.site-header .nav a {
    color: #1f2937;
    /* donkergrijs in de header */
}

.site-header .nav a:hover {
    color: var(--link);
    /* pak de linkkleur bij hover */
    text-decoration: none;
    /* nav zonder underline */
}

.site-footer a {
    color: var(--link);
}

.site-footer a:hover {
    color: var(--link-hover);
}

/* Optioneel: links in knoppen moeten er uitzien als knoppen */
.btn,
.btn:visited {
    color: #0460c9;
    text-decoration: none;
}