/* Thundercad Blog - huisstijl overgenomen van thundercad.nl (homepage :root + nav + footer) */
:root{
  --blue:#0a8fc4; --blue-bright:#0ab4e6; --blue-deep:#0a6482;
  --ink:#0e1726; --ink-soft:#1a2738; --paper:#ffffff; --paper-2:#f5f7fa; --paper-3:#eef2f7;
  --line:#e2e8f1; --line-dark:#24344a; --text:#1a2433; --text-soft:#5d6b7e; --text-mute:#8694a6;
  --text-invert:#eef4fb; --text-invert-soft:#a9c2dc; --radius:14px; --radius-sm:10px; --maxw:1140px;
  --display:'Sora',sans-serif; --body:'Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--text);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-0.02em;line-height:1.15;color:var(--ink)}
a{text-decoration:none;color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* buttons (identiek aan site) */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:15px;padding:13px 24px;border-radius:var(--radius-sm);border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 22px -8px rgba(10,180,230,.7)}
.btn-primary:hover{background:#0a7ba8;box-shadow:0 10px 30px -8px rgba(10,180,230,.8)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-on-dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff}
.btn-on-dark:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.btn-sm{padding:9px 17px;font-size:14px}

/* nav (identiek aan site) */
header.nav{position:sticky;top:0;z-index:50;background:rgba(14,23,38,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-dark)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:var(--maxw);margin:0 auto;padding:0 28px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:800;font-size:20px;color:#fff;letter-spacing:-0.03em}
.logo .mark{width:34px;height:34px;display:block;flex-shrink:0}
.logo .mark img{width:100%;height:100%;display:block;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--text-invert-soft);transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-login{font-size:14.5px;font-weight:500;color:var(--text-invert-soft)}
.nav-login:hover{color:#fff}
.burger{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer}

/* blog hero (donker, blueprint - als site) */
.blog-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:64px 0 60px}
.blog-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,180,230,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(10,180,230,.07) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000 40%,transparent 80%)}
.blog-hero::after{content:"";position:absolute;top:-160px;right:-120px;width:480px;height:480px;background:radial-gradient(circle,rgba(10,180,230,.30),transparent 62%);filter:blur(20px)}
.blog-hero .inner{position:relative;z-index:2;max-width:760px}
.kicker{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:14px}
.blog-hero h1{color:#fff;font-size:clamp(30px,4.2vw,46px);font-weight:800;margin-bottom:16px}
.blog-hero p{font-size:17px;color:var(--text-invert-soft);max-width:560px}

/* index: post grid */
.blog-wrap{max-width:var(--maxw);margin:0 auto;padding:54px 28px 72px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 20px 44px -24px rgba(20,40,70,.45);border-color:var(--blue)}
.pcard .thumb{height:120px;background:linear-gradient(135deg,var(--blue-deep),var(--ink));position:relative;overflow:hidden}
.pcard .thumb::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,180,230,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(10,180,230,.10) 1px,transparent 1px);background-size:26px 26px}
.pcard .thumb::after{content:"";position:absolute;top:-40px;right:-30px;width:160px;height:160px;background:radial-gradient(circle,rgba(10,180,230,.4),transparent 65%)}
.pcard .thumb .bolt{position:absolute;left:20px;bottom:16px;width:30px;height:30px;z-index:2}
.pcard .body{padding:22px;display:flex;flex-direction:column;flex:1}
.pcard .cat{font-family:var(--display);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.pcard h3{font-size:18px;line-height:1.25;margin-bottom:10px}
.pcard p{font-size:14px;color:var(--text-soft);line-height:1.55;flex:1}
.pcard .meta{margin-top:16px;font-size:12.5px;color:var(--text-mute);font-family:var(--display);display:flex;align-items:center;gap:8px}
.pcard .readmore{margin-top:14px;font-family:var(--display);font-weight:600;font-size:14px;color:var(--blue);display:inline-flex;align-items:center;gap:6px}
.pcard:hover .readmore{gap:9px}

/* article */
.article-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:56px 0 46px}
.article-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,180,230,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(10,180,230,.06) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000 40%,transparent 80%)}
.article-hero::after{content:"";position:absolute;top:-160px;right:-120px;width:440px;height:440px;background:radial-gradient(circle,rgba(10,180,230,.26),transparent 62%);filter:blur(20px)}
.article-hero .inner{position:relative;z-index:2;max-width:780px;margin:0 auto;padding:0 28px}
.article-hero .cat{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:14px}
.article-hero h1{color:#fff;font-size:clamp(28px,3.8vw,42px);margin-bottom:16px}
.article-hero .amETA{font-size:14px;color:var(--text-invert-soft);display:flex;gap:16px;flex-wrap:wrap}
.crumbs{position:relative;z-index:2;max-width:780px;margin:0 auto 18px;padding:0 28px;font-size:13px;color:var(--text-invert-soft)}
.crumbs a:hover{color:#fff}

.article{max-width:780px;margin:0 auto;padding:42px 28px 20px;font-size:17px;color:#2a3645;line-height:1.75}
.article h2{font-size:26px;margin:38px 0 14px;color:var(--ink)}
.article h3{font-size:20px;margin:28px 0 10px;color:var(--ink)}
.article p{margin-bottom:18px}
.article ul,.article ol{margin:0 0 18px 22px}
.article li{margin-bottom:9px}
.article a{color:var(--blue);font-weight:500;border-bottom:1px solid rgba(10,143,196,.3)}
.article a:hover{border-bottom-color:var(--blue)}
.article strong{color:var(--ink)}
.article blockquote{margin:24px 0;padding:18px 24px;border-left:4px solid var(--blue);background:var(--paper-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:18px;color:var(--ink);font-style:italic}
.article .callout{margin:24px 0;padding:20px 24px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);font-size:15.5px;color:var(--text)}
.article .callout strong{color:var(--blue-deep)}
.article .tbl{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}
.article .tbl th,.article .tbl td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
.article .tbl thead th{background:var(--ink);color:#fff;font-family:var(--display);font-weight:600;font-size:14px}
.article .tbl tbody tr:nth-child(even){background:var(--paper-2)}

/* inline CTA binnen artikel */
.article .cta-inline{margin:30px 0;padding:26px 28px;background:linear-gradient(160deg,#0a4a62,var(--ink));border:1px solid var(--blue);border-radius:var(--radius);color:#fff;text-align:center}
.article .cta-inline p{font-size:16px;color:var(--text-invert-soft);margin-bottom:16px}
.article .cta-inline strong{color:#fff}
.article .cta-inline .btn{border-bottom:none;color:#fff}

/* grote CTA-blok onderaan elke post */
.post-cta{background:var(--ink);color:#fff;position:relative;overflow:hidden;text-align:center;padding:64px 0;margin-top:30px}
.post-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,180,230,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(10,180,230,.06) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,#000 30%,transparent 75%)}
.post-cta::after{content:"";position:absolute;bottom:-200px;left:50%;transform:translateX(-50%);width:680px;height:480px;background:radial-gradient(circle,rgba(10,180,230,.3),transparent 60%);filter:blur(20px)}
.post-cta .inner{position:relative;z-index:2;max-width:600px;margin:0 auto;padding:0 28px}
.post-cta h2{color:#fff;font-size:clamp(26px,3.4vw,36px);margin-bottom:14px}
.post-cta p{font-size:17px;color:var(--text-invert-soft);margin-bottom:28px}
.post-cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.post-cta .fine{margin-top:16px;font-size:13px;color:var(--text-mute)}

/* gerelateerde posts */
.related{max-width:var(--maxw);margin:0 auto;padding:56px 28px 10px}
.related .lbl{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin-bottom:18px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* footer (identiek aan site) */
footer{background:#0a121e;color:var(--text-invert-soft);padding:54px 0 30px;border-top:1px solid var(--line-dark)}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:34px}
.foot-brand{max-width:300px}
.foot-brand .logo{margin-bottom:14px}
.foot-brand p{font-size:14px;color:var(--text-mute);line-height:1.6}
.foot-cols{display:flex;gap:60px;flex-wrap:wrap}
.foot-col h5{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.foot-col a{display:block;font-size:14px;color:var(--text-invert-soft);margin-bottom:9px;transition:color .15s}
.foot-col a:hover{color:var(--blue-bright)}
.foot-bottom{border-top:1px solid var(--line-dark);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-mute)}

@media(max-width:980px){
  .post-grid,.related-grid{grid-template-columns:repeat(2,1fr)}
  .nav-links{display:none}
}
@media(max-width:620px){
  .wrap,.nav-inner{padding:0 20px}
  .post-grid,.related-grid{grid-template-columns:1fr}
  .nav-login{display:none}
  .burger{display:block}
  .article{font-size:16px}
  .foot-top{flex-direction:column;gap:30px}
}

/* ---- bilingual blog additions ---- */
.pcard .pdate{font-size:12px;color:var(--text-mute);margin-bottom:6px;font-family:var(--display);letter-spacing:.02em}
.pcard .en-mini{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pcard .en-mini h4{font-family:var(--display);font-weight:600;font-size:14px;color:var(--ink);margin:0 0 4px}
.pcard .en-mini p{font-size:12.5px;color:var(--text-soft);line-height:1.5}
.hero-en{color:var(--text-invert-soft);font-size:14px;margin-top:8px;opacity:.92}
.lang-sep{display:flex;align-items:center;gap:16px;margin:10px 0 4px;color:var(--text-mute);font-family:var(--display);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.1em}
.lang-sep::before,.lang-sep::after{content:"";flex:1;height:1px;background:var(--line)}
.art-en-head{padding-top:8px;padding-bottom:6px}
.art-en-head .cat{display:inline-block;font-family:var(--display);font-weight:600;font-size:12.5px;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.art-en-head h2{font-size:30px;line-height:1.15;margin-bottom:8px;color:var(--ink)}
.art-en-head .amETA{font-size:13.5px;color:var(--text-mute);font-family:var(--display)}