/* TrendSein — Soft daylight (sitewide, was: Richting B cinematisch donker) */
:root{
  --bg:#f0f4f7; --bg-2:#ffffff; --panel:#ffffff; --panel-2:#f7fafc;
  --line:#d4dee6; --line-2:#b8c5d2;
  --teal:#1f7d8f; --teal-soft:#2c95a8; --cobalt:#2c5e94;
  --ink:#0d1a26; --ink-2:#3d4e5e; --ink-3:#5a6c7a;
  --groen:#2e9466; --groen-bg:rgba(46,148,102,.12);
  --geel:#b8970a;  --geel-bg:rgba(184,151,10,.12);
  --oranje:#c87a1a; --oranje-bg:rgba(200,122,26,.12);
  --rood:#c14a44; --rood-bg:rgba(193,74,68,.12);
  --maxw:1120px; --read:740px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font:16px/1.66 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--teal-soft);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.18;letter-spacing:-.015em;font-weight:700}

/* achtergrond: subtiele teal-gloed (digital-rain + vignette uit voor light) */
.stage{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--bg)}
.stage .glow{position:absolute;inset:0;background:
  radial-gradient(60% 50% at 50% -8%,rgba(31,125,143,.10),transparent 60%),
  radial-gradient(50% 60% at 88% 22%,rgba(44,94,148,.06),transparent 65%),
  radial-gradient(70% 60% at 12% 80%,rgba(31,125,143,.05),transparent 70%)}
.stage .layer,.stage .vignette{display:none}
@keyframes fall{from{transform:translateY(-22%)}to{transform:translateY(0%)}}
.wrap{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* topbar */
.topbar{max-width:var(--maxw);margin:0 auto;width:100%;
  padding:20px 26px 0;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:13px}
.brand-prev{height:38px;width:auto;display:block}
@media(max-width:520px){.brand-prev{height:30px}}
.nav{display:flex;gap:2px;flex-wrap:wrap;background:rgba(255,255,255,.7);
  border:1px solid var(--line);border-radius:11px;padding:5px;backdrop-filter:blur(8px)}
.nav a{color:var(--ink-2);font-size:14px;padding:9px 16px;border-radius:8px;transition:.15s}
.nav a:hover{color:var(--ink);text-decoration:none;background:rgba(13,26,38,.06)}
.nav a.active{color:#fff;background:var(--teal);font-weight:700}
.nav a .ico{display:none}
/* hamburger — alleen mobiel zichtbaar (zie media query onderaan) */
.nav-burger{display:none;align-items:center;justify-content:center;
  width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
  background:rgba(255,255,255,.7);color:var(--ink);cursor:pointer}
.nav-burger .ic-close{display:none}

/* hero */
.hero{position:relative;max-width:var(--maxw);margin:0 auto;padding:108px 26px 70px;text-align:center;overflow:hidden}
.hero::before{content:"";position:absolute;left:50%;top:30%;width:680px;height:420px;
  transform:translateX(-50%);background:radial-gradient(ellipse,rgba(52,179,203,.22),transparent 70%);
  filter:blur(20px);z-index:-1}
.eyebrow{display:inline-flex;align-items:center;gap:9px;
  font:600 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.22em;text-transform:uppercase;
  color:var(--teal-soft);padding:9px 16px;border:1px solid var(--line-2);border-radius:999px;
  background:rgba(255,255,255,.6);backdrop-filter:blur(6px);margin-bottom:30px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 10px var(--teal)}
.hero h1{font-size:clamp(36px,6.4vw,64px);font-weight:800;letter-spacing:-.03em;
  color:var(--ink);max-width:15ch;margin:0 auto}
.hero h1 .dim{color:var(--ink-2);font-weight:300}
.hero p.lead{color:var(--ink-2);font-size:18px;max-width:580px;margin:26px auto 40px}
.searchwrap{max-width:720px;margin:0 auto;position:relative;padding:2px;border-radius:16px;
  background:linear-gradient(135deg,rgba(52,179,203,.55),rgba(58,127,196,.2),transparent)}
.searchbar{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.92);
  border-radius:14px;padding:7px 7px 7px 22px;backdrop-filter:blur(12px)}
.searchbar svg{flex:0 0 auto;color:var(--teal)}
.searchbar input{flex:1;background:none;border:0;outline:0;color:var(--ink);
  font-size:17px;padding:16px 0}
.searchbar input::placeholder{color:var(--ink-3)}
.searchbar button{background:var(--teal);color:#fff;border:0;font-weight:800;font-size:14px;
  padding:15px 28px;border-radius:11px;cursor:pointer;box-shadow:0 0 24px rgba(52,179,203,.35)}
.searchbar button:hover{background:var(--teal-soft)}
.hero-meta{margin-top:26px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.pill{font:600 12px/1 ui-monospace,Menlo,monospace;color:var(--ink-2);
  border:1px solid var(--line);background:rgba(255,255,255,.55);padding:8px 13px;border-radius:999px}
.pill b{color:var(--teal-soft)}
.spin{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-3);
  font:600 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em}
.spin::before{content:"";width:.7rem;height:.7rem;border:2px solid var(--line-2);
  border-top-color:var(--teal);border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.htmx-indicator{opacity:0;transition:opacity .15s}
.htmx-request .htmx-indicator,.htmx-indicator.htmx-request{opacity:1}

/* plate + card */
.plate{max-width:var(--maxw);margin:34px auto 0;padding:0 26px}
.card{background:linear-gradient(180deg,var(--panel),var(--bg-2));
  border:1px solid var(--line);border-radius:18px;
  box-shadow:0 12px 40px rgba(13,26,38,.08),0 2px 6px rgba(13,26,38,.04);overflow:hidden}
.card-pad{padding:32px 36px}
.section-head{display:flex;align-items:baseline;gap:14px;
  max-width:var(--maxw);margin:54px auto 0;padding:0 26px}
.section-head h2{font-size:15px;font-family:ui-monospace,Menlo,monospace;
  letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.section-head .muted{color:var(--ink-3);font-size:13px;
  font-family:ui-monospace,Menlo,monospace}

/* search results */
.resbar{display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;margin-bottom:8px;flex-wrap:wrap}
.resbar h2{font-size:22px;color:var(--ink)}
.resbar h2 .q{color:var(--teal-soft)}
.resbar .count{color:var(--ink-3);font-size:13px;font-family:ui-monospace,Menlo,monospace}
.hit{display:flex;gap:18px;align-items:flex-start;padding:22px;margin:14px 0;
  border-radius:14px;background:rgba(255,255,255,.5);border:1px solid var(--line);transition:.16s}
.hit:hover{text-decoration:none;border-color:var(--line-2);
  background:rgba(255,255,255,.85);transform:translateX(3px)}
.hit .rail{width:4px;align-self:stretch;border-radius:4px;flex:0 0 4px;background:var(--line-2)}
.hit.u-INFORMATIEF .rail{background:var(--groen)}
.hit.u-OPKOMEND .rail{background:var(--geel)}
.hit.u-ZORGELIJK .rail{background:var(--oranje)}
.hit.u-GEVAARLIJK .rail{background:var(--rood)}
.hit-main{flex:1;min-width:0}
.hit-top{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.hit-term{font-size:19px;font-weight:700;color:var(--ink)}
.hit-type{font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);margin-left:auto}
.hit-snip{color:var(--ink-2);font-size:14.5px}
.hit-snip mark{background:rgba(52,179,203,.24);color:var(--teal-soft);padding:0 3px;border-radius:3px}
.empty,.resultmeta{color:var(--ink-3);font-size:14px}

/* badges */
.badge{display:inline-flex;align-items:center;gap:6px;
  font:800 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;
  padding:6px 11px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.badge::before{content:"";width:7px;height:7px;border-radius:50%}
.badge.big{font-size:12px;padding:8px 15px}
.b-INFORMATIEF{color:var(--groen);background:var(--groen-bg);border-color:rgba(76,203,148,.45)}
.b-INFORMATIEF::before{background:var(--groen);box-shadow:0 0 8px var(--groen)}
.b-OPKOMEND{color:var(--geel);background:var(--geel-bg);border-color:rgba(245,213,71,.45)}
.b-OPKOMEND::before{background:var(--geel);box-shadow:0 0 8px var(--geel)}
.b-ZORGELIJK{color:var(--oranje);background:var(--oranje-bg);border-color:rgba(246,169,61,.45)}
.b-ZORGELIJK::before{background:var(--oranje);box-shadow:0 0 8px var(--oranje)}
.b-GEVAARLIJK{color:var(--rood);background:var(--rood-bg);border-color:rgba(247,106,100,.5)}
.b-GEVAARLIJK::before{background:var(--rood);box-shadow:0 0 8px var(--rood)}

/* entry detail */
.entry-hero{position:relative;border-radius:18px 18px 0 0;overflow:hidden;padding:38px;
  background:linear-gradient(135deg,rgba(52,179,203,.14),transparent 60%),
  linear-gradient(180deg,var(--panel-2),var(--panel))}
.entry-hero::after{content:"";position:absolute;right:-40px;top:-40px;width:240px;height:240px;
  background:radial-gradient(circle,rgba(246,169,61,.16),transparent 70%);filter:blur(10px)}
.back{display:inline-block;color:var(--ink-3);font-size:13px;margin-bottom:22px;position:relative}
.back:hover{color:var(--teal-soft)}
.entryhead{display:flex;justify-content:space-between;align-items:flex-start;
  gap:24px;flex-wrap:wrap;position:relative}
.entryhead h1{font-size:clamp(28px,4.4vw,44px);color:var(--ink)}
.entryhead .aliases{color:var(--ink-3);font-size:13.5px;margin-top:12px;max-width:560px}
.meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;position:relative}
.meta div{background:rgba(255,255,255,.85);border:1px solid var(--line);
  border-radius:10px;padding:12px 18px;flex:1 1 160px}
.meta dt{font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.meta dd{font-size:14px;color:var(--ink)}
.entry-body{padding:8px 38px 38px}
details.sec{border-bottom:1px solid var(--line)}
details.sec>summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;
  align-items:center;gap:16px;font-size:19px;font-weight:700;color:var(--ink)}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary .ico{flex:0 0 28px;height:28px;border-radius:8px;display:grid;
  place-items:center;background:rgba(52,179,203,.12);border:1px solid var(--line-2);
  color:var(--teal);font-size:16px;transition:.18s}
details.sec[open]>summary .ico{background:var(--teal);color:#fff;transform:rotate(45deg)}
.sec-body{padding:0 0 28px 44px;max-width:var(--read);color:var(--ink-2);font-size:15.5px}
.sec-body p{margin:0 0 14px}
.sec-body ul,.sec-body ol{margin:0 0 14px;padding-left:20px}
.sec-body li{margin:0 0 10px}
.sec-body li::marker{color:var(--teal)}
.sec-body strong{color:var(--ink)}
.sec-body a{color:var(--teal-soft)}
.sec-body table{border-collapse:collapse;width:100%;font-size:14px;margin:0 0 14px}
.sec-body th,.sec-body td{border:1px solid var(--line);padding:8px 10px;
  text-align:left;vertical-align:top}
.sec-body th{background:rgba(52,179,203,.08);color:var(--ink)}
.sec-body blockquote{border-left:3px solid var(--rood);
  background:linear-gradient(90deg,var(--rood-bg),transparent);
  padding:16px 20px;border-radius:0 10px 10px 0;margin:6px 0 16px;color:var(--ink)}
.sec-body blockquote strong{color:var(--rood)}
.seealso{margin:24px auto 0;max-width:var(--maxw);padding:0 26px}
.seealso-inner{background:linear-gradient(135deg,var(--panel-2),var(--bg-2));
  border:1px solid var(--line-2);border-radius:16px;padding:28px 32px}
.seealso h3{font:700 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.2em;
  text-transform:uppercase;color:var(--teal);margin-bottom:18px}
.seealso-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.seealso a{display:block;padding:18px;border-radius:12px;
  background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--ink)}
.seealso a:hover{text-decoration:none;border-color:var(--teal);background:rgba(52,179,203,.06)}
.seealso a .t{display:flex;align-items:center;gap:10px;font-weight:700;
  font-size:15px;margin-bottom:7px}
.seealso a .d{color:var(--ink-3);font-size:13px}
@media(max-width:640px){.seealso-grid{grid-template-columns:1fr}}

/* ask */
/* ChatGPT-stijl chat: compacte header, scroll-area, vaste composer */
body.chat-mode{height:100vh;height:100dvh;overflow:hidden}
body.chat-mode .wrap{height:100vh;height:100dvh;min-height:0}
body.chat-mode footer{display:none}
body.chat-mode main{flex:1;display:flex;min-height:0}
.chat{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;
  max-width:820px;margin:0 auto;padding:0 26px}
.chat-header{display:flex;justify-content:space-between;align-items:flex-start;
  gap:16px;padding:18px 0 14px;border-bottom:1px solid var(--line)}
.chat-htext h1{font-size:20px;margin:0}
.chat-htext p{color:var(--ink-3);font-size:13px;margin:5px 0 0}
.newchat{flex:0 0 auto;background:rgba(255,255,255,.6);border:1px solid var(--line);
  color:var(--ink-2);font-size:13px;padding:8px 14px;border-radius:999px;cursor:pointer}
.newchat:hover{border-color:var(--teal);color:var(--ink)}

.chat-scroll{flex:1;overflow-y:auto;min-height:0;scroll-behavior:smooth}
.chat-inner{padding:30px 0 24px}
.chat-empty{text-align:center;padding:13vh 0 0}
.chat-empty[hidden]{display:none}
.chat-empty-mark{height:54px;min-width:54px;padding:0 18px;border-radius:16px;
  margin:0 auto 20px;display:inline-grid;place-items:center;
  background:var(--teal);color:#fff;
  font:800 18px/1 system-ui,-apple-system,sans-serif;letter-spacing:.14em;
  box-shadow:0 0 26px rgba(52,179,203,.4)}
.chat-empty h2{font-size:24px;margin:0 0 10px}
.chat-empty p{font-size:14px;color:var(--ink-3);max-width:440px;margin:0 auto;line-height:1.6}
.chat-empty a{color:var(--teal-soft)}

.msg{margin-bottom:26px}
.msg.user{display:flex;justify-content:flex-end}
.ubub{background:rgba(58,127,196,.16);border:1px solid rgba(58,127,196,.3);
  color:var(--ink);border-radius:18px;padding:12px 17px;font-size:15px;
  max-width:80%;white-space:pre-wrap;word-wrap:break-word}
.msg.bot{display:flex;gap:14px}
.amark{flex:0 0 auto;height:30px;min-width:30px;padding:0 10px;border-radius:9px;
  background:var(--teal);color:#fff;display:grid;place-items:center;
  font:800 11px/1 system-ui,-apple-system,sans-serif;letter-spacing:.12em;
  box-shadow:0 0 16px rgba(52,179,203,.35)}
.atext{flex:1;min-width:0;font-size:15px;line-height:1.75;color:var(--ink-2);padding-top:3px}
.atext strong{color:var(--ink)}
.atext .ah{display:inline-block;color:var(--ink);font-weight:700;margin:14px 0 4px}
.atext a{color:var(--teal-soft)}
.src{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.src>span{font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3)}
.src a{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.7);
  border:1px solid var(--line-2);padding:8px 13px;border-radius:999px;color:var(--ink);font-size:13px}
.src a:hover{text-decoration:none;border-color:var(--teal)}

.composer{flex:0 0 auto;padding:14px 0 22px}
.composer-inner{width:100%}
.composer-box{display:flex;gap:10px;align-items:flex-end;
  background:rgba(255,255,255,.85);border:1px solid var(--line-2);
  border-radius:24px;padding:8px 8px 8px 20px}
.composer-box:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.composer-box textarea{flex:1;background:none;border:0;outline:0;color:var(--ink);
  resize:none;font:15px/1.5 inherit;max-height:200px;padding:9px 0}
.composer-box textarea::placeholder{color:var(--ink-3)}
.composer-box button{flex:0 0 40px;width:40px;height:40px;border-radius:50%;
  border:0;background:var(--teal);color:#fff;cursor:pointer;
  display:grid;place-items:center;box-shadow:0 0 18px rgba(52,179,203,.3)}
.composer-box button:hover{background:var(--teal-soft)}
.composer-box button:disabled{opacity:.4;cursor:default}
.composer-note{text-align:center;color:var(--ink-3);font-size:12px;margin:10px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.chip{display:inline-block;background:rgba(255,255,255,.6);border:1px solid var(--line);
  color:var(--ink-2);padding:9px 14px;border-radius:999px;font-size:13px;
  cursor:pointer;text-align:left;text-decoration:none}
.chip:hover{border-color:var(--teal);color:var(--ink)}

/* informatie */
.info-block{padding:22px 0;border-bottom:1px solid var(--line)}
.info-block:last-child{border-bottom:0;padding-bottom:4px}
.info-block:first-of-type{padding-top:8px}
.info-block h3{font-size:16px;margin:0 0 8px;color:var(--ink)}
.info-block p{color:var(--ink-2);font-size:14.5px;line-height:1.7;
  max-width:var(--read);margin:0}
.info-block .badge{margin:0 1px}

/* faq */
details.qa{border-bottom:1px solid var(--line)}
details.qa:last-child{border-bottom:0}
details.qa>summary{list-style:none;cursor:pointer;padding:24px 8px;display:flex;
  gap:18px;align-items:flex-start;font-size:17px;font-weight:700;color:var(--ink)}
details.qa>summary::-webkit-details-marker{display:none}
details.qa:hover>summary{color:var(--ink)}
details.qa .num{flex:0 0 auto;font:800 14px/1 ui-monospace,Menlo,monospace;
  color:var(--teal);width:38px;height:38px;display:grid;place-items:center;
  border:1px solid var(--line-2);border-radius:10px;background:rgba(52,179,203,.08)}
details.qa[open] .num{background:var(--teal);color:#fff}
details.qa .chev{margin-left:auto;color:var(--ink-3);transition:.2s;flex:0 0 auto}
details.qa[open] .chev{transform:rotate(180deg);color:var(--teal)}
details.qa .qa-body{padding:0 8px 26px 64px;color:var(--ink-2);
  font-size:14.5px;max-width:var(--read)}
details.qa .qa-body a{color:var(--teal-soft)}
.faq-link{display:inline-flex;align-items:center;gap:8px;
  background:var(--panel-2);border:1px solid var(--line);
  padding:7px 12px 7px 7px;border-radius:999px;
  color:var(--ink);font-size:13px;text-decoration:none;transition:.15s}
.faq-link:hover{border-color:var(--teal);background:var(--panel);text-decoration:none}

footer{max-width:var(--maxw);margin:96px auto 0;width:100%;padding:30px 26px 70px;
  border-top:1px solid var(--line);display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;color:var(--ink-3);font-size:12.5px}
@media(max-width:640px){
  .hero{padding:72px 20px 50px}
  .card-pad,.entry-hero,.entry-body{padding-left:22px;padding-right:22px}
  .entryhead{flex-direction:column}
  .chat{padding:0 16px}
  .chat-empty{padding-top:9vh}
  .ubub{max-width:90%}

  .topbar{gap:14px}
  .brand{order:1}
  .nav-burger{display:flex;order:2}
  .nav{order:3;flex-basis:100%;flex-direction:column;gap:4px;padding:8px;
    display:none}
  .nav-toggle:checked ~ .nav{display:flex}
  .nav a{padding:12px 14px;font-size:15px;display:flex;align-items:center;gap:11px}
  .nav a .ico{display:inline-flex;align-items:center;color:var(--ink-3)}
  .nav a.active .ico{color:#fff}
  .nav-toggle:checked ~ .nav-burger .ic-burger{display:none}
  .nav-toggle:checked ~ .nav-burger .ic-close{display:inline}
}

/* studio (login-gated admin) */
.studio-auth{position:relative;z-index:1;min-height:100vh;display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}
.studio-auth-card{width:100%;max-width:380px;text-align:center}
.studio-brand{font:700 18px/1 system-ui;letter-spacing:.22em;color:var(--ink)}
.studio-brand b{font-weight:900}
.studio-sub{color:var(--ink-3);font-size:13px;margin:10px 0 22px}
.studio-err{color:var(--rood);font-size:13px;margin:0 0 14px}
.studio-auth-card form{display:flex;flex-direction:column;gap:12px}
.studio-auth-card input{background:rgba(255,255,255,.9);border:1px solid var(--line-2);
  color:var(--ink);border-radius:12px;padding:13px 16px;font:15px inherit;outline:0}
.studio-auth-card input:focus{border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.studio-auth-card button{background:var(--teal);color:#fff;border:0;
  font-weight:800;padding:13px;border-radius:12px;cursor:pointer}
.studio-auth-card button:hover{background:var(--teal-soft)}
.studio-back{color:var(--ink-3);font-size:13px}
.studio-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.studio-stat{flex:1;min-width:150px;padding:22px 24px;display:flex;
  flex-direction:column;gap:6px}
.studio-stat b{font:800 30px/1 ui-monospace,Menlo,monospace;color:var(--teal-soft)}
.studio-stat span{color:var(--ink-3);font-size:13px}
.studio-p{color:var(--ink-2);font-size:14.5px;line-height:1.7;max-width:var(--read)}
.studio-p strong{color:var(--ink)}
.studio-btn{margin-top:16px;background:rgba(255,255,255,.6);border:1px solid var(--line-2);
  color:var(--ink-3);font-size:14px;padding:11px 18px;border-radius:999px;cursor:not-allowed}
.studio-row{padding:11px 2px;border-bottom:1px solid var(--line);
  color:var(--ink-2);font-size:14px}
.studio-row:last-of-type{border-bottom:0}
.studio-term{display:flex;justify-content:space-between;gap:14px}
.studio-c{color:var(--teal-soft);font:600 13px/1 ui-monospace,Menlo,monospace;
  flex:0 0 auto}
.studio-stat span i{color:var(--ink-3);font-style:normal}
.studio-empty{color:var(--ink-3);font-size:14px}
.studio-reset{background:transparent;border:1px solid var(--line-2);
  color:var(--ink-3);font-size:12px;padding:6px 12px;border-radius:999px;
  cursor:pointer}
.studio-reset:hover{border-color:var(--rood);color:var(--rood)}
.studio-banner{padding:14px 18px;border-radius:12px;font-size:14px}
.studio-banner.ok{background:var(--groen-bg);border:1px solid var(--groen);
  color:var(--ink)}
.studio-banner.err{background:var(--rood-bg);border:1px solid var(--rood);
  color:var(--ink)}
.studio-form{display:flex;flex-direction:column;gap:14px;margin-top:18px;
  max-width:var(--read)}
.studio-field{display:flex;flex-direction:column;gap:7px}
.studio-field>span{color:var(--ink-3);font-size:13px}
.studio-field input[type=text],.studio-field textarea{background:rgba(255,255,255,.9);
  border:1px solid var(--line-2);color:var(--ink);border-radius:12px;
  padding:12px 14px;font:14px inherit;outline:0;resize:vertical}
.studio-field input:focus,.studio-field textarea:focus{border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.studio-field input[type=file]{color:var(--ink-2);font-size:13px}
.studio-or{color:var(--ink-3);font-size:12px;text-align:center;
  letter-spacing:.1em}
.studio-submit{align-self:flex-start;background:var(--teal);color:#fff;
  border:0;font-weight:800;padding:12px 22px;border-radius:12px;cursor:pointer}
.studio-submit:hover{background:var(--teal-soft)}
.studio-submit:disabled{opacity:.6;cursor:default}
.studio-busy{color:var(--ink-3);font-size:13px;margin-left:12px}
.studio-link{text-decoration:none;color:var(--ink-2);transition:.15s}
.studio-link:hover{color:var(--ink);text-decoration:none}
.studio-link:hover .studio-c{color:var(--teal-soft)}
.studio-editor{width:100%;background:rgba(255,255,255,.95);border:1px solid var(--line-2);
  color:var(--ink);border-radius:12px;padding:16px;outline:0;resize:vertical;
  font:13px/1.6 ui-monospace,Menlo,Monaco,monospace;white-space:pre}
.studio-editor:focus{border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.studio-actions{display:flex;gap:12px;flex-wrap:wrap}
.studio-publish{background:var(--groen);box-shadow:0 0 18px rgba(76,203,148,.3)}
.studio-publish:hover{background:#5fd9a6}
.studio-pubrow{display:flex;align-items:center;gap:12px}
.studio-pubrow .hit{flex:1}

/* ===== Beheer (leden, domeinen, aanvragen) ===== */
a.studio-btn{display:inline-block;cursor:pointer;text-decoration:none}
a.studio-btn:hover{border-color:var(--teal);color:var(--ink)}
.beheer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 2px}
.beheer-wie{flex:1 1 240px;min-width:0}
.beheer-wie strong{color:var(--ink)}
.beheer-sub{color:var(--ink-3);font-size:12.5px;margin-top:3px}
.beheer-acties{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.beheer-acties select,.beheer-acties input[type=text]{background:rgba(255,255,255,.9);
  border:1px solid var(--line-2);color:var(--ink);border-radius:10px;
  padding:8px 10px;font:13px inherit;outline:0}
.beheer-acties select:focus,.beheer-acties input[type=text]:focus{
  border-color:var(--teal);box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.beheer-acties .studio-submit{padding:8px 14px;font-size:13px}
.beheer-zelf{font-size:12.5px}
.beheer-log{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;
  font-size:13px}
.beheer-log-t{color:var(--ink-3);font:12px/1 ui-monospace,Menlo,monospace;
  flex:0 0 auto}
.beheer-log span:nth-child(2){flex:1 1 260px}
.nav .nav-auth{margin-left:auto}
@media (max-width:760px){
  .beheer-row{align-items:flex-start}
  .nav .nav-auth{margin-left:0}
}

/* ===== Forum (besloten, per organisatie) ===== */
.forum-head{position:relative;max-width:var(--maxw);margin:0 auto;
  padding:56px 26px 8px;overflow:hidden}
.forum-head-in{max-width:var(--read)}
.forum-head h1{font-size:clamp(30px,5vw,46px);margin-top:4px}
.forum-head .lead{color:var(--ink-2);font-size:16.5px;margin-top:14px}
/* Waarborg (a): de huisregel staat in beeld, niet in de voorwaarden. */
.forum-regel{background:var(--geel-bg);border:1px solid var(--geel);
  border-radius:12px;padding:14px 18px;color:var(--ink);font-size:14.5px}
.forum-regel strong{color:var(--ink)}
.forum-veldregel{color:var(--ink-3);font-size:12.5px;line-height:1.5;
  border-left:2px solid var(--geel);padding-left:10px;margin:-2px 0 2px}
.forum-modbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:rgba(255,255,255,.7);border:1px solid var(--line);
  border-radius:12px;padding:12px 18px;color:var(--ink-3);font-size:13.5px}
.forum-modbar form{margin:0}
.forum-modlink{margin-left:auto;color:var(--teal-soft);font-weight:700}
.forum-modlink b{display:inline-block;margin-left:6px;background:var(--rood);
  color:#fff;border-radius:999px;padding:1px 8px;font-size:12px}
.forum-topic{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:16px 14px;margin:8px 0;border-radius:12px;color:var(--ink);
  border:1px solid var(--line);background:rgba(255,255,255,.55);transition:.15s}
.forum-topic:hover{text-decoration:none;border-color:var(--line-2);
  background:rgba(255,255,255,.9)}
.forum-topic.is-dicht{opacity:.72}
.forum-topic-main{flex:1 1 240px;min-width:0}
.forum-topic-titel{font-size:16.5px;font-weight:700;color:var(--ink)}
.forum-topic-sub{color:var(--ink-3);font-size:12.5px;margin-top:4px}
.forum-topic-meta{color:var(--ink-3);font:600 12px/1.4 ui-monospace,Menlo,monospace;
  flex:0 0 auto}
.forum-dicht{color:var(--oranje);font-weight:700}
.forum-topic-hero{padding:32px 36px 28px;
  background:linear-gradient(135deg,rgba(52,179,203,.12),transparent 60%),
  linear-gradient(180deg,var(--panel-2),var(--panel))}
.forum-topic-hero h1{font-size:clamp(24px,4vw,36px);margin-top:6px}
.forum-ingesprek{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.forum-ingesprek-kop{font:700 11px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.forum-entrychip{display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;font-size:13.5px;font-weight:700;
  color:var(--ink);background:rgba(255,255,255,.85);border:1px solid var(--line-2)}
a.forum-entrychip:hover{text-decoration:none;border-color:var(--teal);
  background:rgba(52,179,203,.08)}
.forum-entrychip.is-weg{color:var(--ink-3);font-weight:600;
  border-style:dashed;background:transparent;cursor:default}
.forum-entrykaart{margin-top:12px}
.forum-post{padding:18px 2px;border-bottom:1px solid var(--line)}
.forum-post:last-of-type{border-bottom:0}
.forum-post.is-verborgen{opacity:.8}
.forum-post-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.forum-post-auteur{font-weight:700;color:var(--ink);font-size:14.5px}
.forum-post-tijd{color:var(--ink-3);font:12px/1 ui-monospace,Menlo,monospace}
/* Ledeninvoer wordt als platte tekst gerenderd — geen markdown, geen HTML. */
.forum-post-inhoud{margin-top:10px;color:var(--ink-2);font-size:15px;
  line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;
  max-width:var(--read)}
.forum-post-weg{margin-top:10px;color:var(--ink-3);font-size:13.5px;
  font-style:italic;background:var(--rood-bg);border-left:3px solid var(--rood);
  padding:10px 14px;border-radius:0 8px 8px 0;overflow-wrap:anywhere}
.forum-post-acties{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:12px}
.forum-melden{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.forum-melden input[type=text]{background:rgba(255,255,255,.9);
  border:1px solid var(--line-2);color:var(--ink);border-radius:10px;
  padding:7px 11px;font:12.5px inherit;outline:0;min-width:0;flex:1 1 180px}
.forum-melden input[type=text]:focus{border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.forum-gemeld{color:var(--rood);font:700 11px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.1em;text-transform:uppercase}
.forum-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.forum-tabs a{padding:7px 14px;border-radius:999px;font-size:13px;
  border:1px solid var(--line);color:var(--ink-2);background:rgba(255,255,255,.6)}
.forum-tabs a:hover{text-decoration:none;border-color:var(--line-2)}
.forum-tabs a.active{background:var(--teal);border-color:var(--teal);color:#fff;
  font-weight:700}
.forum-melding{padding:16px 2px;border-bottom:1px solid var(--line)}
.forum-melding:last-of-type{border-bottom:0}
.forum-melding-kop{display:flex;flex-direction:column;gap:3px}
.forum-melding-reden{margin-top:10px;color:var(--ink);font-size:14px}
.forum-melding-fragment{margin:8px 0 12px;color:var(--ink-2);font-size:14px;
  white-space:pre-wrap;overflow-wrap:anywhere;max-width:var(--read);
  border-left:2px solid var(--line-2);padding-left:12px}
/* kennisbank-typeahead in de composer */
.forum-kb{display:flex;flex-direction:column;gap:8px}
.forum-kb-label{color:var(--ink-3);font-size:13px}
.forum-kb input[type=text]{background:rgba(255,255,255,.9);
  border:1px solid var(--line-2);color:var(--ink);border-radius:12px;
  padding:11px 14px;font:14px inherit;outline:0;width:100%}
.forum-kb input[type=text]:focus{border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(52,179,203,.14)}
.forum-kb-list{list-style:none;display:flex;flex-direction:column;gap:6px}
.forum-kb-pick{display:flex;align-items:center;gap:10px;width:100%;
  text-align:left;padding:10px 14px;border-radius:10px;cursor:pointer;
  border:1px solid var(--line);background:rgba(255,255,255,.7);
  color:var(--ink);font:inherit;font-size:14px}
.forum-kb-pick:hover{border-color:var(--teal);background:rgba(52,179,203,.08)}
.forum-kb-term{flex:1;min-width:0;font-weight:700}
.forum-kb-leeg{color:var(--ink-3);font-size:13px}
.forum-kb-chip{display:inline-flex;align-items:center;gap:8px;
  background:rgba(52,179,203,.1);border:1px solid var(--teal);
  border-radius:999px;padding:6px 8px 6px 14px;font-size:13.5px;
  font-weight:700;color:var(--ink)}
.forum-kb-wis{border:0;background:transparent;color:var(--ink-3);
  font-size:16px;line-height:1;cursor:pointer;padding:0 6px}
.forum-kb-wis:hover{color:var(--rood)}
@media(max-width:640px){
  .forum-head{padding:36px 22px 4px}
  .forum-topic-hero{padding:26px 22px 22px}
  .forum-modlink{margin-left:0}
  .forum-topic-meta{flex:1 1 100%}
  .forum-melden input[type=text]{flex:1 1 100%}
}

/* ===== Academie ===== */
.aca-pricing{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);
  max-width:var(--maxw);margin:34px auto 0;padding:0 26px}
@media(max-width:880px){.aca-pricing{grid-template-columns:1fr}}
.aca-price{position:relative;background:var(--panel);
  border:1px solid var(--line);border-radius:18px;padding:26px 24px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:0 6px 18px rgba(13,26,38,.05)}
.aca-price-hl{border-color:var(--teal);
  box-shadow:0 0 0 1px var(--teal),0 10px 30px rgba(31,125,143,.16)}
.aca-price-tag{position:absolute;top:-12px;left:24px;background:var(--teal);
  color:#fff;font:800 11px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.12em;padding:6px 10px;border-radius:6px}
.aca-price-label{color:var(--ink-3);font:600 12px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.14em;text-transform:uppercase}
.aca-price-amount{color:var(--ink);font-size:34px;font-weight:800;letter-spacing:-.02em}
.aca-price-unit{color:var(--ink-3);font-size:14px;font-weight:500;margin-left:6px}
.aca-price-perks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.aca-price-perks li{color:var(--ink-2);font-size:14px;padding-left:22px;position:relative}
.aca-price-perks li::before{content:"\2713";position:absolute;left:0;color:var(--teal);font-weight:800}
.aca-price-btn{margin-top:6px;background:var(--teal);color:#fff;border:0;
  font-weight:800;padding:11px 18px;border-radius:12px;cursor:pointer;
  font:800 14px/1 inherit;transition:.15s}
.aca-price-btn:hover{background:var(--teal-soft)}
.aca-price:not(.aca-price-hl) .aca-price-btn{background:transparent;color:var(--teal);
  border:1px solid var(--line-2)}
.aca-price:not(.aca-price-hl) .aca-price-btn:hover{border-color:var(--teal);
  background:rgba(31,125,143,.06);color:var(--teal)}

.aca-grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr);margin-top:14px}
@media(max-width:760px){.aca-grid{grid-template-columns:1fr}}
.aca-card{display:flex;gap:0;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  text-decoration:none;color:inherit;transition:.15s;min-height:180px;
  box-shadow:0 4px 12px rgba(13,26,38,.04)}
.aca-card:hover{border-color:var(--line-2);transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(13,26,38,.10);text-decoration:none}
.aca-card-rail{width:5px;flex:0 0 5px;background:var(--line-2)}
.aca-card.u-INFORMATIEF .aca-card-rail{background:var(--groen)}
.aca-card.u-OPKOMEND .aca-card-rail{background:var(--geel)}
.aca-card.u-ZORGELIJK .aca-card-rail{background:var(--oranje)}
.aca-card.u-GEVAARLIJK .aca-card-rail{background:var(--rood)}
.aca-card-body{flex:1;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.aca-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aca-card-dur{color:var(--ink-3);font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em}
.aca-card-title{font-size:20px;font-weight:700;color:var(--ink);margin:0}
.aca-card-sub{color:var(--ink-2);font-size:14px;line-height:1.5;margin:0;flex:1}
.aca-card-foot{display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.aca-card-price{color:var(--ink-3);font:600 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em}
.aca-card-cta{color:var(--teal);font-weight:700;font-size:14px}
.aca-card-soon{opacity:.65;cursor:default}
.aca-card-soon:hover{transform:none;box-shadow:0 4px 12px rgba(13,26,38,.04);border-color:var(--line)}
.aca-card-soon-tag{color:var(--ink-3);font:600 12px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.1em;text-transform:uppercase}

.aca-progress{margin-top:18px}
.aca-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px}
@media(max-width:680px){.aca-stats{grid-template-columns:1fr}}
.aca-stat{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;
  padding:18px;text-align:center}
.aca-stat-n{font-size:32px;font-weight:800;color:var(--ink)}
.aca-stat-l{color:var(--ink-3);font:600 12px/1.3 ui-monospace,Menlo,monospace;
  letter-spacing:.1em;margin-top:6px;text-transform:uppercase}

.aca-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--ink);border:1px solid var(--teal);color:#fff;
  padding:14px 22px;border-radius:12px;font-size:14px;font-weight:600;
  box-shadow:0 12px 30px rgba(13,26,38,.20);z-index:50;
  animation:acaToastIn .25s ease-out}
@keyframes acaToastIn{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* ===== Academie — module detail ===== */
.aca-back{display:inline-block;color:var(--ink-3);font-size:14px;padding:6px 0}
.aca-back:hover{color:var(--teal)}
.acam-hero{position:relative;display:flex;gap:0;padding:0;overflow:hidden}
.acam-hero-rail{width:5px;background:var(--line-2)}
.acam-hero.u-INFORMATIEF .acam-hero-rail{background:var(--groen)}
.acam-hero.u-OPKOMEND .acam-hero-rail{background:var(--geel)}
.acam-hero.u-ZORGELIJK .acam-hero-rail{background:var(--oranje)}
.acam-hero.u-GEVAARLIJK .acam-hero-rail{background:var(--rood)}
.acam-hero-body{flex:1;padding:32px 36px;display:flex;flex-direction:column;gap:14px}
.acam-title{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--ink);
  letter-spacing:-.02em;margin:0}
.acam-sub{color:var(--ink-2);font-size:17px;margin:0;max-width:720px;line-height:1.5}
.acam-hero-foot{display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.acam-wiki-link{color:var(--teal);font-size:14px;font-weight:600}
.acam-progress-pill{color:var(--ink-2);font:600 12px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.1em;background:var(--panel-2);border:1px solid var(--line);
  padding:8px 14px;border-radius:999px}

.acam-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
@media(max-width:880px){.acam-layout{grid-template-columns:1fr}}
.acam-side{position:sticky;top:18px}
@media(max-width:880px){.acam-side{position:static}}
.acam-toc{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:2px}
.acam-toc a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;
  color:var(--ink-2);font-size:14px}
.acam-toc a:hover{background:rgba(13,26,38,.05);color:var(--ink);text-decoration:none}
.acam-toc-num{color:var(--ink-3);font:700 12px/1 ui-monospace,Menlo,monospace;flex:0 0 24px}
.acam-toc-t{flex:1}
.acam-toc-check{color:var(--groen);font-weight:800;opacity:0;font-size:13px}
.acam-toc a.done .acam-toc-check{opacity:1}
.acam-toc a.done .acam-toc-num{color:var(--groen)}
.acam-toc-quiz{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}

.acam-main{display:flex;flex-direction:column;gap:18px}
.acam-chapter{padding:28px 32px}
.acam-chapter-head{margin-bottom:14px}
.acam-chapter-num{color:var(--teal);font:700 11px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.16em;text-transform:uppercase}
.acam-chapter h2{font-size:24px;font-weight:700;color:var(--ink);margin:6px 0 0}
.acam-chapter p{color:var(--ink-2);font-size:15.5px;line-height:1.65;margin:0 0 16px}
.acam-mark{background:transparent;border:1px solid var(--line-2);color:var(--ink-2);
  font-weight:600;padding:9px 16px;border-radius:10px;cursor:pointer;font:600 13px/1 inherit;
  transition:.15s}
.acam-mark:hover{border-color:var(--teal);color:var(--ink);background:rgba(31,125,143,.06)}

.acam-quiz{padding:28px 32px}
.acam-q{border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  margin:14px 0;background:var(--panel-2)}
.acam-q legend{color:var(--ink);font-size:15px;padding:0 8px;font-weight:600}
.acam-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 0;color:var(--ink-2);
  font-size:14.5px;cursor:pointer}
.acam-opt input{margin-top:3px;accent-color:var(--teal)}
.acam-opt:hover{color:var(--ink)}
.acam-q-why{margin:10px 0 0;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--ink-2);
  background:var(--panel);border-left:3px solid var(--line-2)}
.acam-q.ok{border-color:var(--groen);background:var(--groen-bg)}
.acam-q.ok .acam-q-why{border-left-color:var(--groen);color:var(--groen)}
.acam-q.bad{border-color:var(--rood);background:var(--rood-bg)}
.acam-q.bad .acam-q-why{border-left-color:var(--rood);color:var(--rood)}
.acam-submit{background:var(--teal);color:#fff;border:0;font-weight:800;
  padding:12px 22px;border-radius:12px;cursor:pointer;font:800 14px/1 inherit;
  margin-top:6px;transition:.15s}
.acam-submit:hover{background:var(--teal-soft)}
.acam-result{margin-top:18px;padding:14px 18px;border-radius:10px;font-size:15px;font-weight:600}
.acam-result.ok{background:var(--groen-bg);color:var(--groen);border:1px solid var(--groen)}
.acam-result.bad{background:var(--rood-bg);color:var(--rood);border:1px solid var(--rood)}

.acam-cert{padding:24px}
.acam-cert-paper{background:#f4f1e8;color:#1b2630;border-radius:8px;
  padding:46px 56px;text-align:center;
  border:1px solid #ccc6b6;
  box-shadow:0 4px 30px rgba(13,26,38,.12),inset 0 0 0 4px #fff,inset 0 0 0 5px #c9b977}
.acam-cert-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px}
.acam-cert-logo{height:32px;filter:brightness(0) saturate(0) invert(.18)}
.acam-cert-org{font:800 13px/1 ui-monospace,Menlo,monospace;letter-spacing:.22em;color:#475561}
.acam-cert-title{font-size:30px;font-weight:800;color:#0a1620;letter-spacing:-.01em;margin-bottom:10px}
.acam-cert-for{color:#5b6975;font-size:13px;letter-spacing:.04em;margin-top:14px}
.acam-cert-name{display:block;margin:8px auto;background:transparent;border:0;
  border-bottom:2px dashed #b3a98e;color:#0a1620;font:600 26px/1.2 Georgia,serif;
  text-align:center;outline:0;padding:8px 12px;min-width:280px;max-width:520px}
.acam-cert-name:focus{border-bottom-color:var(--teal)}
.acam-cert-mod{font-size:22px;font-weight:700;color:#0a1620;margin-top:8px}
.acam-cert-meta{margin-top:18px;color:#5b6975;font:600 12px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.08em}
.acam-cert-sign{margin-top:24px;color:#7a8794;font-size:13px;font-style:italic}
.acam-cert-actions{margin-top:14px;text-align:center}
.acam-cert-print{background:transparent;border:1px solid var(--line-2);color:var(--ink-2);
  padding:10px 18px;border-radius:10px;cursor:pointer;font:600 13px/1 inherit;transition:.15s}
.acam-cert-print:hover{border-color:var(--teal);color:var(--ink)}
@media print {
  .stage,.topbar,footer,.aca-back,.acam-side,.acam-chapter,.acam-quiz,
  .acam-cert-actions,.acam-hero,.aca-toast{display:none !important}
  body{background:#fff;color:#000}
  .acam-cert-paper{box-shadow:none;border:1px solid #999}
}

/* ===== Sociale-kaart — 'Hulp in jouw regio' onderaan elke entry ===== */
.escalate{margin:24px auto 0;max-width:var(--maxw);padding:0 26px}
.escalate-inner{background:var(--panel);border:1px solid var(--line);
  border-radius:16px;padding:28px 32px;
  box-shadow:0 4px 14px rgba(13,26,38,.05)}
.escalate-head h3{font:700 13px/1.3 ui-monospace,Menlo,monospace;
  letter-spacing:.18em;text-transform:uppercase;color:var(--teal);
  margin:0 0 8px}
.escalate-head h3 .dim{color:var(--ink-3);font-weight:600;letter-spacing:.14em}
.escalate-head p{color:var(--ink-2);font-size:14px;line-height:1.55;
  max-width:var(--read);margin:0 0 20px}
.escalate-list{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:760px){.escalate-list{grid-template-columns:1fr}}
.escalate-item{background:var(--panel-2);border:1px solid var(--line);
  border-radius:12px;padding:14px 18px;transition:.15s}
.escalate-item:hover{border-color:var(--line-2);
  box-shadow:0 4px 14px rgba(13,26,38,.06)}
/* Ankers met een per-gemeente-uitklap krijgen de volle breedte van het grid. */
.escalate-item-wide{grid-column:1/-1}
.escalate-row{display:flex;gap:14px;align-items:center}
.escalate-main{flex:1;min-width:0}
.escalate-name{color:var(--ink);font-weight:700;font-size:15.5px;
  text-decoration:none}
.escalate-name:hover{color:var(--teal);text-decoration:none}
.escalate-sub{color:var(--ink-3);font-size:13px;line-height:1.4;
  margin:3px 0 0}
.escalate-cta{flex:0 0 auto;color:var(--teal);font-size:13px;font-weight:700;
  white-space:nowrap;padding:8px 12px;border:1px solid var(--line-2);
  border-radius:999px;text-decoration:none;transition:.15s}
.escalate-cta:hover{border-color:var(--teal);background:rgba(31,125,143,.06);
  color:var(--teal);text-decoration:none}
.escalate-foot{color:var(--ink-3);font-size:12.5px;line-height:1.5;
  margin:18px 0 0;border-top:1px solid var(--line);padding-top:14px;
  font-style:italic}
.escalate-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;
  margin:7px 0 0}
.escalate-phone{color:var(--teal);font-weight:700;font-size:13px;
  text-decoration:none;white-space:nowrap}
.escalate-phone:hover{text-decoration:underline}
.escalate-muni-tag{color:var(--ink-3);background:var(--panel);
  border:1px solid var(--line);border-radius:999px;padding:3px 9px;
  font:600 11px/1.4 ui-monospace,Menlo,monospace}
/* Per-gemeente-uitklap binnen één anker (jongerenwerk, CJG-teams). */
.escalate-muni{margin:12px 0 0;border-top:1px solid var(--line);padding-top:10px}
.escalate-muni>summary{cursor:pointer;list-style:none;color:var(--teal);
  font:700 11.5px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.1em;
  text-transform:uppercase}
.escalate-muni>summary::-webkit-details-marker{display:none}
.escalate-muni>summary::before{content:"+ ";font-weight:700}
.escalate-muni[open]>summary::before{content:"– "}
.escalate-muni-list{list-style:none;padding:0;margin:12px 0 0;display:grid;
  gap:9px}
.escalate-muni-row{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;
  padding:9px 12px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;font-size:13.5px}
.escalate-muni-area{flex:0 0 190px;color:var(--ink-3);
  font:600 11px/1.5 ui-monospace,Menlo,monospace;letter-spacing:.06em;
  text-transform:uppercase}
.escalate-muni-name{flex:1;min-width:150px;color:var(--ink-2)}
.escalate-muni-name a{color:var(--ink);font-weight:600;text-decoration:none}
.escalate-muni-name a:hover{color:var(--teal)}
.escalate-muni-phone{flex:0 0 auto;color:var(--teal);font-weight:600;
  white-space:nowrap}
.escalate-muni-phone a{color:var(--teal);text-decoration:none}
.escalate-muni-phone .dim{color:var(--ink-3);font-weight:400}
@media(max-width:640px){
  .escalate-row{flex-wrap:wrap}
  .escalate-cta{width:100%;text-align:center}
  .escalate-muni-area{flex:1 0 100%}
}

/* ===== Sociale-kaart pagina ===== */
.sk-searchwrap{max-width:760px;margin:14px auto 0;position:relative;
  padding:2px;border-radius:16px;
  background:linear-gradient(135deg,rgba(31,125,143,.55),rgba(44,94,148,.2),transparent)}
.sk-searchbar{display:flex;align-items:center;gap:10px;background:var(--panel);
  border-radius:14px;padding:7px 7px 7px 18px;flex-wrap:wrap}
.sk-searchbar svg{flex:0 0 auto;color:var(--teal)}
.sk-searchbar input[type=text]{flex:1;min-width:180px;background:none;
  border:0;outline:0;color:var(--ink);font-size:16px;padding:14px 0;
  text-transform:uppercase;letter-spacing:.02em}
.sk-searchbar input::placeholder{color:var(--ink-3);text-transform:none;letter-spacing:0}
.sk-searchbar select{flex:0 0 auto;background:var(--panel-2);
  border:1px solid var(--line);border-radius:10px;color:var(--ink);
  font:14px inherit;padding:11px 14px;outline:0;cursor:pointer}
.sk-searchbar select:focus{border-color:var(--teal)}
.sk-searchbar button{flex:0 0 auto;background:var(--teal);color:#fff;
  border:0;font-weight:800;font-size:14px;padding:13px 22px;
  border-radius:11px;cursor:pointer;box-shadow:0 4px 14px rgba(31,125,143,.25);
  transition:.15s}
.sk-searchbar button:hover{background:var(--teal-soft)}
@media(max-width:580px){
  .sk-searchbar input[type=text]{flex:1 1 100%;padding:12px 0}
  .sk-searchbar select,.sk-searchbar button{flex:1 1 calc(50% - 5px)}
}

.sk-banner{max-width:var(--maxw);margin:34px auto 0;padding:14px 22px 14px 26px;
  border-left:4px solid var(--oranje);background:var(--oranje-bg);
  color:var(--ink-2);font-size:14px;line-height:1.5;border-radius:0 12px 12px 0;
  margin-left:26px;margin-right:26px}
@media(max-width:560px){.sk-banner{margin-left:0;margin-right:0;border-radius:0}}

.sk-results{max-width:var(--maxw);margin:0 auto;padding:14px 26px 0;
  display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media(max-width:760px){.sk-results{grid-template-columns:1fr}}
.sk-result{background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:22px 24px;
  box-shadow:0 4px 12px rgba(13,26,38,.04);transition:.15s}
.sk-result:hover{border-color:var(--line-2);
  box-shadow:0 8px 22px rgba(13,26,38,.08)}
.sk-result-head{display:flex;align-items:flex-start;justify-content:space-between;
  gap:14px;margin-bottom:14px}
.sk-result-org{color:var(--teal);font:700 11px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.sk-result-name{font-size:17px;font-weight:700;color:var(--ink);margin:0;line-height:1.3}
.sk-result-dist{flex:0 0 auto;background:var(--panel-2);
  border:1px solid var(--line);border-radius:999px;padding:6px 12px;
  font:700 12px/1 ui-monospace,Menlo,monospace;color:var(--ink-2);
  white-space:nowrap}
.sk-result-meta{display:flex;flex-direction:column;gap:10px;margin:0}
.sk-result-meta>div{display:flex;gap:12px;font-size:13.5px}
.sk-result-meta dt{flex:0 0 78px;color:var(--ink-3);font:600 11px/1.4 ui-monospace,Menlo,monospace;
  letter-spacing:.1em;text-transform:uppercase;padding-top:2px}
.sk-result-meta dd{flex:1;color:var(--ink-2);line-height:1.45}
.sk-result-meta dd a{color:var(--teal)}
.sk-result-foot{display:flex;align-items:center;justify-content:space-between;
  gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}
.sk-result-cta{color:var(--teal);font-size:13.5px;font-weight:700}
.sk-result-tag{background:var(--panel-2);border:1px solid var(--line);
  color:var(--ink-2);font:600 11px/1 ui-monospace,Menlo,monospace;
  letter-spacing:.08em;padding:6px 11px;border-radius:999px;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);border:0}

.sk-roadmap{margin-top:18px}
.sk-phases{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:14px;
  grid-template-columns:1fr 1fr 1fr}
@media(max-width:880px){.sk-phases{grid-template-columns:1fr}}
.sk-phases li{background:var(--panel-2);border:1px solid var(--line);
  border-radius:12px;padding:18px 20px}
.sk-phase-tag{display:inline-block;color:var(--teal);
  font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:8px}
.sk-phases p{color:var(--ink-2);font-size:14px;line-height:1.55;margin:0}

/* ===== PREV logo-introductie op homepage =====
   Build-up animatie volgens claude-design 'PREV Logo Animatie.html':
   PRE in teal (#208090), V in donker. Letters bouwen één voor één van
   onderaf op (clip + lichte overshoot + opacity), daarna veegt de tagline
   van links in. Vanilla CSS — geen JS-engine, geen React, CSP-conform. */
.prev-intro{position:relative;max-width:920px;margin:36px auto 0;
  padding:54px 26px 18px;text-align:center;overflow:hidden}
.prev-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 55% at 50% 50%,rgba(32,128,144,.14) 0%,
    rgba(32,128,144,0) 60%);
  opacity:0;animation:prev-glow-in 1.4s ease-out 0s forwards}
@keyframes prev-glow-in{to{opacity:1}}

.prev-lockup{position:relative;display:flex;flex-direction:column;
  align-items:center;gap:32px}
.prev-wordmark{position:relative;width:100%;max-width:540px;
  aspect-ratio:708/256;margin:0 auto}
.prev-letter{position:absolute;top:0;height:100%;
  /* startstaat tot animatie begint */
  opacity:0;transform:translateY(26px);
  clip-path:inset(100% 0 0 0);-webkit-clip-path:inset(100% 0 0 0);
  animation:prev-letter-build .62s cubic-bezier(.34,1.56,.64,1) forwards;
  will-change:transform,opacity,clip-path}
/* Letter posities — intrinsieke breedten uit animations.jsx
   (P:178 R:184 E:162 V:187 / totaal 708) */
.prev-l1{left:0;       width:25.14%; animation-delay:.45s}
.prev-l2{left:25.00%;  width:25.99%; animation-delay:.71s}
.prev-l3{left:50.85%;  width:22.88%; animation-delay:.97s}
.prev-l4{left:73.59%;  width:26.41%; animation-delay:1.23s}
@keyframes prev-letter-build{
  0%   {opacity:0; transform:translateY(26px); clip-path:inset(100% 0 0 0); -webkit-clip-path:inset(100% 0 0 0)}
  45%  {opacity:1}
  100% {opacity:1; transform:translateY(0);    clip-path:inset(0    0 0 0); -webkit-clip-path:inset(0    0 0 0)}
}

.prev-tagline{width:100%;max-width:500px;height:auto;
  opacity:0;clip-path:inset(0 100% 0 0);-webkit-clip-path:inset(0 100% 0 0);
  transform:translateX(8px);
  animation:prev-tagline-wipe .9s ease-in-out 2.0s forwards;
  will-change:clip-path,opacity,transform}
@keyframes prev-tagline-wipe{
  0%   {opacity:0; clip-path:inset(0 100% 0 0); -webkit-clip-path:inset(0 100% 0 0); transform:translateX(8px)}
  40%  {opacity:1}
  100% {opacity:1; clip-path:inset(0 0    0 0); -webkit-clip-path:inset(0 0    0 0); transform:translateX(0)}
}

@media(max-width:640px){
  .prev-intro{padding:36px 18px 8px;margin-top:18px}
  .prev-wordmark{max-width:320px}
  .prev-tagline{max-width:320px}
  .prev-lockup{gap:22px}
}

/* Geen animatie voor reduced-motion */
@media(prefers-reduced-motion:reduce){
  .prev-letter,.prev-tagline,.prev-glow{
    animation:none !important;opacity:1 !important;
    clip-path:none !important;-webkit-clip-path:none !important;
    transform:none !important}
}

/* ===== Mobiele polish (alle pagina's) ===== */
html,body{max-width:100vw}

@media(max-width:640px){
  .section-head{flex-wrap:wrap;gap:6px 14px}
  .section-head .muted{font-size:12px}
  .topbar{padding-top:14px}
  .brand-prev{height:28px}
  .hero h1{font-size:clamp(28px,7vw,38px);max-width:none}
  .hero p.lead{font-size:16px;margin:18px auto 26px;padding:0 4px}
  .searchbar{padding:6px 6px 6px 16px;gap:8px}
  .searchbar input{font-size:16px;padding:13px 0}
  .searchbar button{padding:12px 18px;font-size:13px}
  .searchbar svg{width:18px;height:18px}
  .prev-intro{padding:24px 14px 4px}
  .prev-lockup{gap:18px}
  .prev-wordmark{max-width:280px}
  .prev-tagline{max-width:260px}
  .escalate-inner{padding:22px 18px}
  .escalate-item{padding:12px 14px;gap:10px}
  .escalate-cta{padding:7px 10px;font-size:12px}
  .sk-result{padding:18px 16px}
  .sk-result-head{gap:10px;margin-bottom:10px}
  .sk-result-name{font-size:15.5px}
  .sk-result-dist{padding:5px 10px;font-size:11px}
  .sk-result-meta dt{flex:0 0 64px;font-size:10.5px}
  .sk-result-meta dd{font-size:13px}
  .sk-banner{padding:12px 16px;font-size:13px;border-radius:0}
  .sk-searchbar{padding:6px;gap:6px}
  .sk-searchbar input[type=text]{padding-left:10px}
  .sk-searchbar select{padding:10px 12px;font-size:13.5px}
  .sk-searchbar button{padding:11px 16px;font-size:13px}
  .sk-phases li{padding:14px 16px}
  .sk-phases p{font-size:13.5px}
  .aca-price{padding:22px 18px;gap:12px}
  .aca-price-amount{font-size:30px}
  .aca-card-body{padding:16px 18px;gap:8px}
  .aca-card-title{font-size:18px}
  .aca-card-sub{font-size:13.5px}
  .aca-stat{padding:14px}
  .aca-stat-n{font-size:26px}
  .acam-hero-body{padding:24px 22px;gap:10px}
  .acam-sub{font-size:15px}
  .acam-chapter{padding:22px 20px}
  .acam-chapter h2{font-size:20px}
  .acam-chapter p{font-size:14.5px}
  .acam-quiz{padding:22px 20px}
  .acam-q{padding:14px 16px}
  .acam-q legend{font-size:14px}
  .acam-cert{padding:14px 6px}
  .acam-cert-paper{padding:28px 22px}
  .acam-cert-title{font-size:24px}
  .acam-cert-mod{font-size:18px}
  .acam-cert-name{min-width:0;width:100%;font-size:20px;padding:6px 8px}
  .meta div{flex:1 1 100%;padding:10px 14px}
  .meta dd{font-size:13.5px}
  .composer-box{padding:6px 6px 6px 14px}
  .composer-box textarea{font-size:16px}
  .composer-box button{width:36px;height:36px;flex:0 0 36px}
  .composer-note{font-size:11px;padding:0 2px}
  .chat-empty-mark{height:46px;min-width:46px;padding:0 14px;font-size:15px;
    letter-spacing:.12em}
  .amark{height:26px;min-width:26px;padding:0 8px;font-size:10px}
  .atext{font-size:14.5px}
  .ubub{font-size:14.5px;padding:10px 14px}
  .chat-header{padding:14px 0 10px}
  .chat-htext h1{font-size:17px}
  .info-block{padding:18px 0}
  .info-block p{font-size:14px}
}

@media(max-width:380px){
  .topbar{padding-left:18px;padding-right:18px}
  .plate{padding:0 16px}
  .hero{padding:36px 16px 30px}
  .prev-intro{padding:18px 8px 0}
  .prev-wordmark,.prev-tagline{max-width:240px}
  .escalate-item{flex-direction:column;align-items:flex-start;gap:8px}
  .escalate-cta{align-self:stretch;text-align:center}
  .sk-searchbar{flex-direction:column;align-items:stretch}
  .sk-searchbar select,.sk-searchbar button{width:100%}
  .acam-cert-paper{padding:22px 14px}
}
