/* Huisstijl ZDA-Ref Nederland — brand.zda-ref.nl
   Bron: SDARM Branding Manual (repo zda-ref-nl/brand). */
@font-face{font-family:"Noto Sans";src:url("/fonts/NotoSans-Regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans";src:url("/fonts/NotoSans-Italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Noto Sans";src:url("/fonts/NotoSans-Bold.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Noto Serif";src:url("/fonts/NotoSerif-Variable.woff2") format("woff2");font-weight:400 700;font-display:swap}

:root{
  --blauw:#0F3999; --navy:#0A245E; --zand:#EFD19F; --grijs:#7E7E82; --offwhite:#F2F1EF;
  --lichtblauw:#3E80F2; --goud:#F1BE48; --coral:#FF8D6D;
  --papier:#fbfaf8; --inkt:#0A1530; --zacht:#5b6272; --lijn:#dcd9d3; --vlak:#fff;
  --r:12px; --tekst:"Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif; --kop:"Noto Serif",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--inkt);font:16px/1.65 var(--tekst)}
a{color:var(--blauw)}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-family:var(--kop);line-height:1.2;letter-spacing:-.01em}
h2{font-size:1.75rem;margin:0 0 .4rem}
h3{font-size:1.1rem;margin:1.75rem 0 .6rem}
.sub{color:var(--zacht);max-width:62ch;margin:0 0 1.5rem}
.oog{font:700 .75rem/1 var(--tekst);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin:0 0 .6rem}

/* ---- kop ---- */
.kop{background:var(--blauw);color:#fff}
.kop .wrap{padding-top:2.5rem;padding-bottom:3rem}
.kop img{width:min(420px,85%);height:auto;display:block}
.kop h1{font-size:clamp(2rem,4vw,3rem);margin:2.25rem 0 .6rem;color:#fff}
.kop p{max-width:58ch;color:#dfe6f7;margin:0}
.kop .oog{color:var(--goud)}
nav.inhoud{position:sticky;top:0;z-index:5;background:var(--navy)}
nav.inhoud .wrap{display:flex;gap:.25rem 1.25rem;flex-wrap:wrap;padding-top:.6rem;padding-bottom:.6rem}
nav.inhoud a{color:#fff;text-decoration:none;font-size:.9rem;opacity:.85}
nav.inhoud a:hover{opacity:1;text-decoration:underline}

section{padding:3.5rem 0;border-bottom:1px solid var(--lijn)}
section:last-of-type{border-bottom:0}

/* ---- knoppen ---- */
.knop{display:inline-flex;align-items:center;gap:.4rem;background:var(--blauw);color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;
  padding:.6rem 1rem;border-radius:8px;border:0;cursor:pointer;font-family:inherit}
.knop:hover{background:var(--navy)}
.knop.licht{background:var(--vlak);color:var(--blauw);border:1px solid #c9d3ee}

/* ---- logo's ---- */
.raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}
figure{margin:0}
.logo{background:var(--vlak);border:1px solid var(--lijn);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.logo .vlak{height:9.5rem;display:flex;align-items:center;justify-content:center;padding:1.25rem}
.logo .vlak img{max-width:100%;max-height:100%;object-fit:contain}
.logo .vlak.blauw{background:var(--blauw)} .logo .vlak.wit{background:#fff} .logo .vlak.navy{background:var(--navy)} .logo .vlak.licht{background:var(--offwhite)}
.logo .info{padding:.75rem 1rem 1rem;border-top:1px solid var(--lijn);display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.logo .naam{font-weight:700;font-size:.9rem}
.logo .bestanden{display:flex;gap:.4rem}
.logo .bestanden a{font-size:.78rem;font-weight:700;text-decoration:none;border:1px solid #c9d3ee;border-radius:6px;padding:.2rem .5rem}
.alles{margin:1.5rem 0 0}

/* ---- kleuren ---- */
.kleuren{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}
.kleur{border-radius:var(--r);overflow:hidden;border:1px solid var(--lijn);background:var(--vlak)}
.kleur .staal{height:7rem;display:flex;align-items:flex-end;padding:.75rem;font:700 .8rem var(--tekst);letter-spacing:.06em;text-transform:uppercase}
.kleur .waarden{padding:.75rem 1rem;font-size:.82rem;color:var(--zacht);display:grid;gap:.15rem}
.kleur .waarden strong{color:var(--inkt);font-size:.95rem}
.kleur button{all:unset;cursor:pointer;color:var(--blauw);font-weight:700;font-size:.82rem}
.kleur button:hover{text-decoration:underline}
.hoofd{grid-column:span 2}
@media(max-width:520px){.hoofd{grid-column:auto}}

/* ---- typografie ---- */
.fonts{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}
.font{background:var(--vlak);border:1px solid var(--lijn);border-radius:var(--r);padding:1.25rem}
.font .proef{font-size:2.6rem;line-height:1.1;margin:.4rem 0 .8rem}
.serif{font-family:var(--kop)} .sans{font-family:var(--tekst)}

/* ---- regels ---- */
.regels{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.regel{background:var(--vlak);border:1px solid var(--lijn);border-left:4px solid var(--blauw);border-radius:var(--r);padding:1rem 1.1rem}
.regel.nee{border-left-color:var(--coral)}
.regel h4{margin:0 0 .3rem;font-size:.95rem}
.regel p{margin:0;font-size:.9rem;color:var(--zacht)}

/* ---- tabellen ---- */
table{width:100%;border-collapse:collapse;background:var(--vlak);border:1px solid var(--lijn);border-radius:var(--r);overflow:hidden;font-size:.92rem}
th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--lijn);vertical-align:top}
th{background:var(--offwhite);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--zacht)}
tr:last-child td{border-bottom:0}
.scroll{overflow-x:auto}

/* ---- voorbeeldposts ---- */
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}
.post{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;color:#fff;box-shadow:0 2px 10px rgba(10,36,94,.15)}
.post .boven{flex:1;padding:1.4rem;display:flex;flex-direction:column;justify-content:center;gap:.6rem}
.post .onder{background:var(--blauw);padding:.9rem 1.2rem;display:flex;align-items:center}
.post .onder img{height:2rem;width:auto}
.post .titel{font-family:var(--kop);font-size:1.45rem;line-height:1.15}
.post .vers{font-family:var(--kop);font-style:italic;font-size:1rem;line-height:1.35}
.post .bron{font-size:.75rem;color:var(--goud);font-weight:700;letter-spacing:.04em}
.post.sabbat .boven{background:linear-gradient(180deg,#0A245E 0%,#0F3999 70%)}
.post.tekst .boven{background:var(--blauw)}
.post.sbl{color:var(--inkt)} .post.sbl .boven{background:var(--offwhite)}
.post.sbl .oog{margin:0}
.post .knopje{align-self:flex-start;background:var(--blauw);color:#fff;font-size:.75rem;font-weight:700;padding:.35rem .7rem;border-radius:6px}
.bijschrift{font-size:.82rem;color:var(--zacht);margin:.5rem 0 0}

footer{background:var(--navy);color:#cfd8ee;font-size:.85rem}
footer .wrap{padding-top:2rem;padding-bottom:2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
footer a{color:#fff}

@media print{nav.inhoud{display:none} section{break-inside:avoid}}
