/* EduStockr — Globale styling v3 (Twenty Twenty-Five) — automatisch geladen door de plugin */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root{
  --teal:#0E9488;         /* onderwijs-kant */
  --teal-d:#0A6E66;
  --teal-bg:#E6F6F4;
  --indigo:#4356D6;       /* zorg-kant */
  --indigo-d:#3242A8;
  --indigo-bg:#ECEFFC;
  --paper:#F7FAF9;
  --ink:#182226;
  --grey:#5F6E73;
  --line:#E2ECEA;
  --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
h1,h2,h3,h4{font-family:'Manrope',sans-serif;line-height:1.2}
a{text-decoration:none;color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.lbl{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:12px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:12px;font-weight:700;font-family:'Manrope',sans-serif;font-size:.95rem;transition:.18s;border:none;cursor:pointer}
.b-teal{background:var(--teal);color:#fff}.b-teal:hover{background:var(--teal-d)}
.b-indigo{background:var(--indigo);color:#fff}.b-indigo:hover{background:var(--indigo-d)}
.b-white{background:#fff;color:var(--ink);border:1px solid var(--line)}.b-white:hover{border-color:var(--teal)}

nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-family:'Manrope',sans-serif;font-weight:800;font-size:1.3rem}
.logo .a{color:var(--teal)}.logo .b{color:var(--indigo)}
.nl{display:flex;gap:26px;font-size:.9rem;font-weight:600;color:var(--grey)}
.nl a:hover{color:var(--ink)}
@media(max-width:880px){.nl{display:none}}

/* SPLIT HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.hside{padding:80px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;color:#fff}
.hside.edu{background:linear-gradient(150deg,var(--teal),var(--teal-d))}
.hside.zorg{background:linear-gradient(150deg,var(--indigo),var(--indigo-d))}
.hside .tag{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:14px}
.hside h2{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:800;margin-bottom:14px}
.hside p{opacity:.92;max-width:420px;margin-bottom:26px;font-size:1.02rem}
.hside .btn{align-self:flex-start;background:#fff}
.hside.edu .btn{color:var(--teal-d)}
.hside.zorg .btn{color:var(--indigo-d)}
.hside .glyph{position:absolute;right:-30px;bottom:-40px;font-size:13rem;opacity:.10;line-height:1}
.hero-band{background:var(--ink);color:#fff;text-align:center;padding:26px 24px;font-family:'Manrope',sans-serif}
.hero-band strong{color:#7BE0D3}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hside{padding:56px 28px}}

section{padding:86px 0}
.shead{max-width:680px;margin-bottom:50px}
.shead h2{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:800;margin-bottom:12px}
.shead p{color:var(--grey)}
.shead.center{text-align:center;margin-left:auto;margin-right:auto}

/* MODEL */
.model{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.mcol{padding:44px 38px;border-right:1px solid var(--line)}
.mcol:last-child{border-right:none}
.mcol .k{font-family:'Manrope',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:16px;display:block}
.mcol h3{font-size:1.2rem;margin-bottom:10px}
.mcol p{font-size:.93rem;color:var(--grey)}
.mcol.mid{background:linear-gradient(160deg,var(--teal-bg),var(--indigo-bg))}
@media(max-width:840px){.model{grid-template-columns:1fr}.mcol{border-right:none;border-bottom:1px solid var(--line)}}

/* INFOBOX gelieerde deelname */
.infobox{margin-top:26px;background:linear-gradient(160deg,rgba(14,148,136,.06),rgba(67,86,214,.06));border:1px solid var(--line);border-radius:var(--r);padding:32px 36px}
.infobox h4{font-size:1.05rem;margin-bottom:10px}
.infobox h4::before{content:"ⓘ ";color:var(--indigo)}
.infobox p{font-size:.93rem;color:var(--grey);max-width:900px}
.infobox small{display:block;margin-top:12px;font-size:.82rem;color:var(--grey);opacity:.85;max-width:900px}

/* AANBOD */
.offer{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.ocard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;transition:.2s;display:flex;flex-direction:column;height:100%}
.ocard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(14,148,136,.12)}
.ocard .ico{width:50px;height:50px;border-radius:14px;background:var(--teal-bg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:18px}
.ocard h4{font-size:1.08rem;margin-bottom:8px}
.ocard p{font-size:.9rem;color:var(--grey)}
.ocard small{display:block;margin-top:auto;padding-top:16px;font-weight:700;color:var(--teal)}
@media(max-width:840px){.offer{grid-template-columns:1fr}}

/* STAPPEN */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.fstep{padding:0 22px;position:relative;text-align:center}
.fstep .bol{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#fff;border:2px solid var(--teal);color:var(--teal);display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-weight:800;font-size:1.3rem;position:relative;z-index:1}
.fstep:not(:last-child)::after{content:"";position:absolute;top:31px;left:calc(50% + 34px);width:calc(100% - 68px);height:2px;background:var(--line)}
.fstep h4{font-size:1rem;margin-bottom:8px}
.fstep p{font-size:.87rem;color:var(--grey)}
@media(max-width:840px){.flow{grid-template-columns:1fr;gap:32px}.fstep::after{display:none}}

/* FEE strip */
.feestrip{background:#fff;border:1px solid var(--line);border-radius:var(--r);display:grid;grid-template-columns:1.2fr .8fr;overflow:hidden}
.feestrip .left{padding:50px 46px}
.feestrip .right{background:var(--ink);color:#fff;padding:50px 46px;display:flex;flex-direction:column;justify-content:center}
.feestrip .right li{list-style:none;padding:8px 0 8px 28px;position:relative;font-size:.93rem}
.feestrip .right li::before{content:"✓";position:absolute;left:0;color:#7BE0D3;font-weight:800}
@media(max-width:840px){.feestrip{grid-template-columns:1fr}}

/* FAQ 2 kolommen */
.faq2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.qa{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.qa h4{font-size:1rem;margin-bottom:8px}
.qa h4::before{content:"Q · ";color:var(--teal)}
.qa p{font-size:.9rem;color:var(--grey)}
@media(max-width:840px){.faq2{grid-template-columns:1fr}}

/* TRANSPARANTIE */
.trans{background:#fff;border-top:1px solid var(--line)}
.trans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:34px}
.tcard{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--r);padding:28px 26px;background:var(--paper)}
.tcard:nth-child(2){border-left-color:var(--indigo)}
.tcard:nth-child(3){border-left-color:var(--ink)}
.tcard h4{font-size:1rem;margin-bottom:8px}
.tcard p{font-size:.9rem;color:var(--grey)}
.trans .policy-link{font-weight:700;color:var(--teal);border-bottom:2px solid var(--teal-bg)}
.trans .policy-link:hover{color:var(--teal-d)}
@media(max-width:840px){.trans-grid{grid-template-columns:1fr}}

/* CONTACT */
.contact{background:linear-gradient(150deg,var(--teal-d),var(--indigo-d));color:#fff}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.cgrid h2{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:800;margin-bottom:16px}
.cgrid p{opacity:.9;margin-bottom:22px}
.cform{background:#fff;border-radius:var(--r);padding:36px;color:var(--ink)}
.cform label{display:block;font-size:.8rem;font-weight:700;margin:14px 0 6px}
.cform input,.cform select,.cform textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.92rem}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--teal)}
.cform .check{display:flex;gap:12px;align-items:flex-start;margin-top:18px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.cform .check input{width:auto;margin-top:3px;accent-color:var(--teal)}
.cform .check label{margin:0;font-size:.82rem;font-weight:500;color:var(--grey);line-height:1.5}
.cform button{margin-top:20px;width:100%}
@media(max-width:840px){.cgrid{grid-template-columns:1fr}}

footer{background:#fff;border-top:1px solid var(--line);padding:56px 0 30px;font-size:.88rem;color:var(--grey)}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px}
.fg h5{font-family:'Manrope',sans-serif;font-weight:800;color:var(--ink);margin-bottom:12px}
.fg a{display:block;padding:4px 0}
.fg a:hover{color:var(--teal)}
.fb{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media(max-width:840px){.fg{grid-template-columns:1fr 1fr}}

/* ============ Juridische pagina's ============ */
.legal-head{background:linear-gradient(150deg,var(--teal-d),var(--indigo-d));color:#fff;padding:64px 0}
.legal-head .wrap{max-width:860px}
.legal-head h1{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;margin-bottom:10px;color:#fff}
.legal-head p{opacity:.85;font-size:.95rem;color:#fff;margin:0}
main .wrap{padding-top:56px;padding-bottom:72px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:48px 52px;max-width:860px;margin:0 auto}
.card h2{font-size:1.25rem;margin:34px 0 12px;color:var(--ink)}
.card h3{font-size:1.02rem;margin:22px 0 8px}
.card p{margin-bottom:14px;color:#2b3b40;font-size:.96rem}
.card ul,.card ol{margin:0 0 16px 22px}
.card li{margin-bottom:7px;font-size:.95rem;color:#2b3b40}
.card a{color:var(--teal)}.card a:hover{color:var(--teal-d)}
.note{background:#FFF7E6;border:1px solid #F0DCA8;border-radius:12px;padding:16px 20px;font-size:.87rem;color:#7a5b12;margin-bottom:34px}
.meta{font-size:.85rem;color:var(--grey);margin-bottom:26px}
@media(max-width:640px){.card{padding:32px 24px}}

/* ============ Succes-melding formulier ============ */
.es-succes{background:#E6F6F4;border:1px solid #9ad9cd;color:#0A6E66;border-radius:12px;padding:16px 22px;margin:0 auto;max-width:1160px;font-weight:600}
.es-succes-wrap{padding:18px 24px 0}

/* ============ Twenty Twenty-Five overrides (v3.0.1) ============ */
/* 1. Verberg standaard thema-header/-footer en paginatitel op EduStockr-pagina's */
body.edustockr-page .wp-site-blocks > header,
body.edustockr-page .wp-site-blocks > footer,
body.edustockr-page header.wp-block-template-part,
body.edustockr-page footer.wp-block-template-part,
body.edustockr-page h1.wp-block-post-title{display:none!important}

/* 2. Neutraliseer ALLE automatische thema-tussenruimte (block gap / flow-marges).
   TT25 geeft o.a. via ".wp-site-blocks > * + *" een margin-block-start aan main —
   ook als de header met display:none verborgen is. Vandaar deze harde reset. */
body.edustockr-page .wp-site-blocks{padding:0!important;margin:0!important}
body.edustockr-page .wp-site-blocks > *,
body.edustockr-page .wp-site-blocks > * + *{margin-block-start:0!important;margin-block-end:0!important}
body.edustockr-page main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.edustockr-page main > *,
body.edustockr-page main > * + *{margin-block-start:0!important;margin-block-end:0!important}
body.edustockr-page .entry-content,
body.edustockr-page .wp-block-post-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.edustockr-page .entry-content > *,
body.edustockr-page .entry-content > * + *{max-width:none!important;margin:0!important}
body.edustockr-page .is-layout-constrained > *{max-width:none!important;margin-left:0!important;margin-right:0!important}
body.edustockr-page .has-global-padding{padding-left:0!important;padding-right:0!important}

/* 3. Typografie: voorkom dat thema-presets onze fonts/kleuren overschrijven */
body.edustockr-page{background:var(--paper)!important;font-family:'IBM Plex Sans',sans-serif!important;color:var(--ink)!important;font-size:16px!important;line-height:1.65!important}
body.edustockr-page h1,body.edustockr-page h2,body.edustockr-page h3,
body.edustockr-page h4,body.edustockr-page h5{font-family:'Manrope',sans-serif!important;letter-spacing:normal!important}
body.edustockr-page .entry-content a{text-decoration:none}

/* 4. Sticky nav netjes onder de WordPress-adminbalk voor ingelogde beheerders */
body.edustockr-page.admin-bar nav{top:32px}
@media(max-width:782px){body.edustockr-page.admin-bar nav{top:46px}}

/* ============ Nieuws (v3.1.0) ============ */
.nieuws-head .crumb{font-size:.82rem;opacity:.8;margin-bottom:10px}
.nieuws-head .crumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.nieuws-main .wrap{padding-top:56px;padding-bottom:72px;max-width:1160px}
.nieuws-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ncard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column;transition:.2s;color:var(--ink);text-decoration:none}
.ncard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(14,148,136,.12)}
.ncard .ndatum{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.ncard h2{font-size:1.08rem;margin-bottom:10px;line-height:1.35}
.ncard p{font-size:.9rem;color:var(--grey);margin-bottom:16px}
.ncard .nlees{margin-top:auto;font-weight:700;color:var(--teal)}
@media(max-width:900px){.nieuws-grid{grid-template-columns:1fr}}
/* Artikelopmaak */
.artikel .kort-antwoord{background:linear-gradient(160deg,rgba(14,148,136,.07),rgba(67,86,214,.07));border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-bottom:28px}
.artikel table{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:.92rem}
.artikel th,.artikel td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.artikel th{background:var(--teal-bg);font-family:'Manrope',sans-serif;font-weight:800}
.artikel h3{color:var(--teal-d)}
.artikel-cta{margin-top:34px;background:var(--ink);color:#fff;border-radius:12px;padding:22px 26px;font-size:.95rem}
.artikel-cta a{color:#7BE0D3;font-weight:700}

/* ============ Artikelpagina's: TT25-onderdelen verbergen (v3.2.1) ============ */
/* Auteur/categorie-regel boven het artikel, vorige/volgende-navigatie,
   reacties en het standaard "meer berichten"-blok van het thema */
body.edustockr-page .wp-block-post-author,
body.edustockr-page .wp-block-post-author-name,
body.edustockr-page .wp-block-post-author-biography,
body.edustockr-page .wp-block-post-date,
body.edustockr-page .wp-block-post-terms,
body.edustockr-page .wp-block-avatar,
body.edustockr-page .wp-block-post-navigation,
body.edustockr-page .post-navigation-link-previous,
body.edustockr-page .post-navigation-link-next,
body.edustockr-page .wp-block-comments,
body.edustockr-page .wp-block-comments-title,
body.edustockr-page .wp-block-post-comments-form,
body.edustockr-page #comments,
body.edustockr-page .comments-area,
body.edustockr-page .wp-block-query,
body.edustockr-page .wp-block-query-title{display:none!important}
/* Vangnet: op artikelpagina's alles ná de artikelinhoud verbergen
   (headings als "Reacties" en "Meer berichten" incluis) */
body.edustockr-page.single .entry-content ~ *,
body.edustockr-page.single .wp-block-post-content ~ *{display:none!important}
/* Eigen "Meer nieuws"-sectie onder het artikel */
.meer-nieuws{max-width:860px;margin:0 auto;padding:0 24px 72px}
.meer-nieuws h2{font-size:1.3rem;font-weight:800;margin-bottom:20px}
.meer-nieuws .nieuws-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.meer-nieuws .nieuws-grid{grid-template-columns:1fr}}

/* ============ v3.2.2 — Artikelpagina's: alléén de artikelinhoud tonen ============ */
/* Verbergt op elk nestingniveau binnen main alles wat niet de artikelinhoud is
   of die inhoud bevat: dus óók de losse tekst "Geschreven door … in …" vóór het
   artikel en de "MEER BERICHTEN"-wrapper erna. Ons eigen "Meer nieuws"-blok staat
   ín de artikelinhoud en blijft dus gewoon zichtbaar. */
body.edustockr-page.single main :has(.entry-content) > *:not(.entry-content):not(:has(.entry-content)),
body.edustockr-page.single main :has(.wp-block-post-content) > *:not(.wp-block-post-content):not(:has(.wp-block-post-content)){display:none!important}
/* Fallback voor oudere browsers zonder :has-ondersteuning */
body.edustockr-page.single main p:not(.artikel p):not(.legal-head p):not(.nieuws-head p):empty{display:none!important}

/* ============ v3.2.3 — Centrering artikel- en juridische kaarten geborgd ============ */
body.edustockr-page .wrap{margin-left:auto!important;margin-right:auto!important}
body.edustockr-page .card{margin-left:auto!important;margin-right:auto!important}
body.edustockr-page .meer-nieuws{margin-left:auto!important;margin-right:auto!important}

/* ============ v3.3.1 — "Meer berichten"-kop definitief weg ============ */
/* De kop staat in het thema-sjabloon buiten/naast <main>; verberg daarom op
   artikelpagina's alles wat op siteniveau naast of na main staat ... */
body.edustockr-page.single .wp-site-blocks main ~ *:not(.meer-nieuws),
body.edustockr-page.single .wp-site-blocks > *:not(main):not(:has(main)):not(.meer-nieuws):not(:has(.meer-nieuws)){display:none!important}
/* Ons eigen "Meer nieuws"-blok altijd tonen — het staat ná de artikel-main en
   viel daardoor onder de bovenstaande opruimregel */
body.edustockr-page.single .meer-nieuws{display:block!important}
body.edustockr-page.single .meer-nieuws .nieuws-grid{display:grid!important}
/* ... en als vangnet elk los themakop-blok (onze eigen koppen in de
   artikelinhoud hebben deze themaklasse niet en blijven dus staan) */
body.edustockr-page.single .wp-block-heading{display:none!important}
