/* NewDegree, opmaak uit thema 2.1.1. Blijft staan zolang er pagina's zijn
   die de oude klassen gebruiken. Wordt per pagina uitgefaseerd. */
:root{
  --cream:#E7E4DE; --sand:#C5C3BE; --red:#E15241; --red-deep:#C53D2F; --gold:#E8703D;
  --ink:#0d0d0d; --white:#ffffff; --muted:#6a655d; --line:rgba(13,13,13,.12);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Manrope',system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2{font-family:'Poiret One','Manrope',sans-serif;font-weight:400;text-transform:uppercase;line-height:1.08;letter-spacing:.02em;margin:0}
h1{font-size:clamp(2.6rem,6vw,5rem)}
h2{font-size:clamp(2rem,3.8vw,3.2rem)}
h3{font-family:'Manrope',sans-serif;font-size:clamp(1.2rem,1.7vw,1.5rem);font-weight:700;line-height:1.18;letter-spacing:-.01em;margin:0}
p{font-size:1.07rem;margin:0}
.eyebrow{font-size:.9rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:18px}
.lead{font-size:clamp(1.1rem,1.5vw,1.32rem);color:#322f2a;font-weight:500}
.mt-s{margin-top:18px}.mt-m{margin-top:26px}

/* header */
.nd-header{position:sticky;top:0;z-index:60;background:rgba(231,228,222,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:26px;height:72px}
.logo{font-weight:800;font-size:1.5rem;letter-spacing:-.04em;text-decoration:none;white-space:nowrap;color:var(--ink)}
.logo .dot{color:var(--red)}
nav.main{flex:1}
nav.main ul{display:flex;gap:24px;margin:0;padding:0;list-style:none}
nav.main a{font-size:.95rem;font-weight:600;color:#2a2722;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
nav.main a:hover,nav.main .current-menu-item>a{color:var(--ink);border-bottom-color:var(--red)}
.header-right{display:flex;align-items:center;gap:14px}
.lang{display:flex;gap:6px;text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:.8rem;font-weight:700;padding:2px}
.lang a,.lang span{padding:4px 9px;border-radius:999px;text-decoration:none;color:var(--muted)}
.lang .current-lang,.lang .current-lang a{background:var(--ink);color:#fff}
.btn{display:inline-flex;align-items:center;gap:.5em;border:0;border-radius:999px;font-family:inherit;font-weight:700;font-size:.95rem;padding:.8em 1.4em;cursor:pointer;text-decoration:none;transition:transform .12s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn--black{background:var(--ink);color:#fff}
.btn--coral{background:var(--red);color:#fff}
.btn--outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn--ghost{background:rgba(13,13,13,.05);color:var(--ink)}
.btn--sm{font-size:.85rem;padding:.6em 1.05em}
.navtoggle{display:none;background:transparent;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.navtoggle span{width:24px;height:2px;background:var(--ink);display:block}

/* sections */
section{padding:clamp(54px,7vw,104px) 0}
.section--white{background:var(--white)}
.section--sand{background:var(--sand)}

/* hero */
.hero{padding-top:clamp(46px,5vw,78px);padding-bottom:clamp(46px,5vw,78px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1 .accent{color:var(--red)}
.hero .lead{margin:26px 0 32px;max-width:30ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-figure{position:relative}
.hero-figure img{width:100%;height:100%;object-fit:cover;border-radius:18px;aspect-ratio:16/11}
.hero-figure::before{content:"";position:absolute;inset:auto -18px -18px auto;width:62%;height:64%;background:var(--red);border-radius:18px;z-index:-1}
.hero-tag{position:absolute;left:-14px;bottom:26px;background:var(--white);border-radius:14px;padding:12px 16px;box-shadow:0 12px 30px rgba(0,0,0,.12);font-weight:700;font-size:.9rem;max-width:200px}
.hero-tag small{display:block;color:var(--red);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px}

.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.kicker-h{max-width:46ch}
.figure-rounded{border-radius:18px;overflow:hidden;aspect-ratio:3/2;background:var(--sand)}
.figure-rounded img{width:100%;height:100%;object-fit:cover}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.wcard{background:var(--white);border-radius:16px;padding:30px 26px;border-top:5px solid var(--red)}
.wcard:nth-child(2){border-top-color:var(--red-deep)}
.wcard:nth-child(3){border-top-color:var(--gold)}
.wcard h3{margin-bottom:8px}
.wcard p{font-size:1rem;color:#3a352f}

.offerwrap{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:46px}
.ocard{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:22px 18px;text-decoration:none;color:inherit;display:block;transition:transform .12s ease,border-color .12s}
.section--white .ocard{background:#faf8f4}
.ocard:hover{transform:translateY(-3px);border-color:var(--red)}
.ocard .num{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--red)}
.ocard h3{font-size:1.12rem;margin:10px 0 6px}
.ocard p{font-size:.92rem;color:#4a453e}

.team{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:42px}
.member{background:var(--white);border-radius:18px;overflow:hidden}
.portrait{aspect-ratio:4/3;background:linear-gradient(135deg,#d9d4cb,#c7c0b4);display:flex;align-items:center;justify-content:center;position:relative}
.portrait .mono{font-size:3.4rem;font-weight:800;color:var(--white);letter-spacing:-.04em}
.portrait .ph{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:.72rem;color:#fff;opacity:.85}
.member .body{padding:24px 26px}
.member .role{color:var(--red);font-weight:700;font-size:.9rem;margin:3px 0 12px}
.member p{font-size:.98rem;color:#3a352f}

.evlist{margin-top:30px;border-top:1px solid var(--line)}
.ev{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.ev .date{font-weight:800;letter-spacing:-.02em}
.ev .date small{display:block;color:var(--red);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ev h3{font-size:1.2rem}
.ev p{font-size:.92rem;color:#4a453e;margin-top:3px}

.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.post{background:var(--white);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;display:block}
.post .ph{aspect-ratio:16/10;background:linear-gradient(135deg,#ded8cd,#cdc4b6)}
.post .pbody{padding:22px 22px 26px}
.post .cat{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.post h3{font-size:1.15rem;margin:8px 0 6px}
.post p{font-size:.9rem;color:#4a453e}

.cta{background:var(--red);color:#fff;border-radius:24px;padding:clamp(40px,5vw,72px);text-align:center}
.cta h2{color:#fff;max-width:18ch;margin:0 auto 26px}
.cta .hero-cta{justify-content:center}
.cta .btn--black{background:#0d0d0d}
.cta .btn--outline{border-color:rgba(255,255,255,.6);color:#fff}

/* inner page content (built later via REST) */
.nd-page{display:block}
.nd-singular{padding:clamp(40px,6vw,90px) 0}
.nd-singular .wrap{max-width:760px}
.nd-singular h1{margin-bottom:18px}
.nd-singular p{margin:0 0 18px}

/* footer */
.nd-footer{background:var(--ink);color:#d6d1c7;padding:64px 0 30px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}
.fgrid h4{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-weight:700}
.fcol a,.fcol p{display:block;color:#bfb9ad;text-decoration:none;font-size:.94rem;margin-bottom:9px}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol a:hover{color:#fff}
.flogo{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.04em}
.flogo .dot{color:var(--red)}
.ftag{font-size:.95rem;color:#bfb9ad;margin:10px 0 14px;max-width:28ch}
.fnews{display:flex;gap:8px;margin-top:10px}
.fnews input{flex:1;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.88rem}
.fbar{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:#9b958a}
.fbar a{color:#9b958a;text-decoration:none;margin-left:18px}

@media(max-width:900px){
  nav.main{position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:8px 28px 18px;border-bottom:1px solid var(--line);display:none}
  .nd-header.open nav.main{display:block}
  nav.main ul{flex-direction:column;gap:0}
  nav.main li{border-bottom:1px solid var(--line)}
  nav.main a{display:block;padding:12px 0}
  .navtoggle{display:flex;order:3}
  .header-right .btn--black{display:none}
  .hero-grid,.band-grid{grid-template-columns:1fr}
  .cards3,.offerwrap,.team,.bloggrid{grid-template-columns:1fr}
  .ev{grid-template-columns:1fr;gap:6px}
  .hero-figure::before{display:none}
  .fgrid{grid-template-columns:1fr 1fr}
}

/* ---- WooCommerce (winkel-klaar, huisstijl) ---- */
.nd-shop{padding:clamp(40px,6vw,80px) 0}
body.woocommerce-cart .nd-page,body.woocommerce-checkout .nd-page,body.woocommerce-account .nd-page,body.woocommerce-page .nd-page{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,6vw,80px) 28px}
/* 3.4.2: knopvlak was --red (#E15241), en wit op #E15241 haalt de contrastnorm
   niet (3,8:1). Nu --red-deep (#C53D2F, 5,1:1), zoals bij elke andere coral
   knop op de site. Hover ging een fractie donkerder met #A82F23. */
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--red-deep);color:#fff;border:0;border-radius:999px;padding:.8em 1.4em;font-family:inherit;font-weight:700;font-size:.95rem;line-height:1;transition:transform .12s ease,background .12s ease}
/* WooCommerce's eigen kern-CSS zet op hover zelf een lichte kleur met grijze
   tekst (via :where(), dat geen specificiteit meetelt), maar de knop heeft
   geen extra klasse op hover, dus deze regel haalt het gewoon op ladings-
   volgorde, zolang color hier ook expliciet staat. Zonder color:#fff hier
   bleef de grijze WooCommerce-tekst op hover onleesbaar op de donkere
   achtergrond. */
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#A82F23;color:#fff;transform:translateY(-1px)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--ink);color:#fff}
/* De "Toevoegen aan winkelwagen"-knop krijgt van WooCommerce zelf een paarse
   kernkleur zolang een variabel product (Credits) nog geen optie heeft: de
   klasse .disabled telt als extra klasse en wint daardoor de specificiteits-
   strijd van de :where()-regel hierboven, alle drie voor button, alt EN
   disabled tellen dan mee. Dezelfde drie klassen hier, met !important, want
   dit is een gerichte correctie op een plugin-standaard, geen algemene regel. */
.woocommerce a.button.alt.disabled,.woocommerce a.button.alt:disabled,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled,.woocommerce input.button.alt.disabled,.woocommerce input.button.alt:disabled,.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce input.button.disabled,.woocommerce input.button:disabled{background:var(--ink) !important;color:#fff !important;opacity:1 !important;cursor:not-allowed}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none;display:none}
.woocommerce ul.products li.product{list-style:none;float:none;width:auto;margin:0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;text-align:left}
.woocommerce ul.products li.product img{border-radius:10px;margin-bottom:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Manrope',sans-serif;font-weight:700;text-transform:none;letter-spacing:-.01em;font-size:1.08rem;padding:4px 0}
.woocommerce ul.products li.product .price{color:var(--ink);font-weight:800;font-size:1.12rem}
.woocommerce div.product .product_title{font-family:'Manrope',sans-serif;font-weight:800;text-transform:none;letter-spacing:-.02em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-weight:800}
.woocommerce-message,.woocommerce-info{border-top-color:var(--red)}
.woocommerce table.shop_table{border-radius:12px;overflow:hidden}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:18px}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.woocommerce ul.products{grid-template-columns:1fr}}

/* 3.4.2: de productpagina zelf (Credits, boek, werkboek) had geen enkele
   opmaak buiten de titel en de prijs, dus WooCommerce's eigen kale
   standaardstijl bleef staan: koppen in de oude Poiret One/hoofdletterstijl,
   ongestylede tabs en een ongestylede tabel bij de staffelbedragen. */
.woocommerce div.product h1,.woocommerce div.product h2,.woocommerce div.product h3,
.woocommerce-tabs h1,.woocommerce-tabs h2,.woocommerce-tabs h3,
.woocommerce #reviews h1,.woocommerce #reviews h2,.woocommerce #reviews h3{
  font-family:'Manrope',sans-serif;font-weight:800;text-transform:none;
  letter-spacing:-.02em;line-height:1.2;color:var(--ink);margin:0 0 .5em
}
.woocommerce div.product .summary{max-width:520px}
.woocommerce div.images{border-radius:var(--radius,16px)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted)}
.woocommerce div.product form.cart{margin:20px 0}
.woocommerce div.product form.cart .quantity{margin-right:10px}
.woocommerce div.product form.cart .qty,
.woocommerce div.product table.variations select{
  border:1px solid var(--line);border-radius:999px;padding:.7em 1.1em;
  font-family:inherit;font-size:.95rem;background:var(--white);color:var(--ink)
}
.woocommerce div.product table.variations{margin-bottom:16px}
.woocommerce div.product table.variations td.label{font-weight:700;padding-right:12px}
.woocommerce div.product .stock,.woocommerce div.product .sku_wrapper,.woocommerce div.product .posted_in{
  color:var(--muted);font-size:.9rem
}
.woocommerce div.product .sku_wrapper a,.woocommerce div.product .posted_in a{color:var(--red-deep);text-decoration:none}
.woocommerce div.product .sku_wrapper a:hover,.woocommerce div.product .posted_in a:hover{text-decoration:underline}
/* Tabs: onderlijnde koppen in plaats van de kale WooCommerce-standaard */
.woocommerce-tabs{margin-top:44px;border-top:1px solid var(--line);padding-top:24px}
.woocommerce-tabs ul.tabs{display:flex;gap:28px;list-style:none;margin:0 0 28px;padding:0;border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{margin:0;padding:0}
.woocommerce-tabs ul.tabs li a{display:inline-block;padding:0 0 14px;font-weight:700;font-size:.95rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--red-deep)}
.woocommerce-tabs .panel h2{font-size:1.5rem;margin-bottom:.6em}
.woocommerce-tabs .panel table{width:100%;border-collapse:collapse;margin:18px 0 26px;font-size:.95rem}
.woocommerce-tabs .panel table th,.woocommerce-tabs .panel table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-tabs .panel table th{font-weight:700;color:var(--ink)}
.woocommerce-tabs .panel table td{color:var(--muted)}
.woocommerce-tabs .panel table tr:first-child th,.woocommerce-tabs .panel table tr:first-child td{border-top:1px solid var(--line)}


/* ---- Cinematic full-bleed (cine) — toegevoegd v1.4.0 ---- */
.cine{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:0;background:#0d0d0d;overflow:hidden}
.cine-bg{position:absolute;inset:0;background:radial-gradient(120% 130% at 72% 18%,#2b2620,#0d0d0d 72%);background-size:cover;background-position:center;z-index:0}
.cine-bg.parallax{background-attachment:fixed}
.cine-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:28px;width:100%;color:#fff}
.cine-hero{min-height:clamp(420px,72vh,720px);display:flex;align-items:flex-end}
.cine-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.80),rgba(0,0,0,.28) 56%,rgba(0,0,0,.5));z-index:1}
.cine-hero .cine-inner{padding-bottom:clamp(40px,7vw,92px);max-width:980px}
.cine-hero .eyebrow{color:var(--red);margin-bottom:14px}
.cine-hero h1{color:#fff}
.cine-hero .lead{color:#e9e4db;max-width:60ch;margin-top:18px;font-weight:500}
.cine-hero .hero-cta{margin-top:30px}
.cine-hero .btn--outline{border-color:rgba(255,255,255,.65);color:#fff}
.cine-band{min-height:clamp(320px,52vh,600px);display:flex;align-items:center;justify-content:center;text-align:center}
.cine-band::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.3));z-index:1}
.cine-cap{position:relative;z-index:2;color:#fff;font-family:'Poiret One','Manrope',sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.5rem,3.4vw,2.8rem);line-height:1.12;text-align:center;max-width:22ch;margin:0 auto;padding:0 24px}
.team .member{border-radius:0;background:transparent}
.team .portrait{aspect-ratio:3/4;border-radius:0}
.team .member .body{padding:18px 0 0}


/* ============================================================
   BLOG (v1.6.0): leesbare titels + nette templates
   Titelfont in de blog = Manrope ExtraBold i.p.v. Poiret One.
   Alles gescoped op blog-classes, de homepage houdt Poiret One.
   Wil je later Fraunces? Voeg het font toe in functions.php en
   wissel 'Manrope' hieronder in de twee titel-regels.
   ============================================================ */
.nd-singular .nd-article-title,
.nd-blog .nd-archive-title{
  font-family:'Manrope',system-ui,sans-serif;font-weight:800;
  text-transform:none;letter-spacing:-.02em;line-height:1.14;
}
.nd-singular .nd-article-title{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:14px}
.nd-blog .nd-archive-title{font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 14px}

/* Artikel = natuurlijk in de pagina, geen kaart en geen kaders.
   Rustige leeskolom op de cream-achtergrond. */
.nd-article-wrap .wrap{max-width:760px}
.nd-singular .nd-article-single{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0}
.nd-article-head{margin-bottom:4px}

/* Kruimelpad boven de hero, uitgelijnd op de leeskolom */
.nd-post-top{max-width:760px;margin:0 auto;padding:20px 28px 0}
.nd-post-top .nd-crumbs{margin-bottom:0}

/* Uitgelichte afbeelding = full-bleed parallax band (zelfde mechaniek als de homepage-hero) */
.nd-post-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:clamp(300px,46vh,470px);overflow:hidden;background:#0d0d0d;margin-top:18px}
@media(max-width:900px){.nd-post-hero .cine-bg.parallax{background-attachment:scroll}}

/* Blog index + archief */
.nd-blog{padding:clamp(40px,6vw,84px) 0}
.nd-blog-hero{max-width:48rem;margin-bottom:clamp(30px,4vw,52px)}
.nd-blog-hero .lead{margin-top:12px}
.nd-archive-desc{margin-top:12px}
.nd-archive-desc p{margin:0 0 10px}

/* Kaarten: featured image + lees-verder */
.post .ph{position:relative;overflow:hidden}
.post .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post .pmore{display:inline-block;margin-top:13px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.post:hover .pmore{text-decoration:underline}

/* Kruimelpad */
.nd-crumbs{font-size:.85rem;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nd-crumbs a{color:var(--muted);text-decoration:none}
.nd-crumbs a:hover{color:var(--red)}

/* Artikel-meta */
.nd-postmeta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.9rem;font-weight:500;margin-top:8px}
.nd-article-single .eyebrow a{color:inherit;text-decoration:none}

/* Uitgelichte afbeelding */
.nd-featured{margin:26px 0 6px}
.nd-featured img{width:100%;border-radius:16px;display:block}

/* Leesbare artikeltekst */
.nd-article{font-size:1.15rem;line-height:1.78;color:#2a2722}
.nd-article > *{margin:0 0 1.25em}
.nd-article > *:last-child{margin-bottom:0}
.nd-article p{font-size:1.15rem;margin:0 0 1.25em}
.nd-article h2{font-family:'Manrope',system-ui,sans-serif;font-weight:800;text-transform:none;letter-spacing:-.01em;font-size:clamp(1.5rem,2.6vw,1.95rem);line-height:1.2;margin:1.8em 0 .5em}
.nd-article h3{font-family:'Manrope',system-ui,sans-serif;font-weight:700;text-transform:none;letter-spacing:-.005em;font-size:1.32rem;line-height:1.28;margin:1.5em 0 .4em}
.nd-article a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.nd-article a:hover{color:var(--red-deep)}
.nd-article ul,.nd-article ol{padding-left:1.3em}
.nd-article li{margin:.45em 0}
.nd-article blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:4px solid var(--red);font-size:1.25rem;line-height:1.5;color:#3a352f;font-style:italic}
.nd-article img,.nd-article figure{border-radius:14px;margin:1.6em 0}
.nd-article figcaption{font-size:.85rem;color:var(--muted);margin-top:.5em;text-align:center}
.nd-article strong{font-weight:700}
.nd-article hr{border:0;border-top:1px solid var(--line);margin:2em 0}

/* Tags = platte inline-links, geen pills */
.nd-tags{margin-top:30px;display:flex;gap:8px 16px;flex-wrap:wrap;align-items:baseline}
.nd-tags__label{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nd-tags a{color:var(--red);font-size:.95rem;font-weight:600;text-decoration:none}
.nd-tags a:hover{text-decoration:underline}

/* CTA onderaan artikel = open regel met knop, geen omkaderd blok */
.nd-cta-box{margin:42px 0 0;padding-top:30px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px;justify-content:space-between;flex-wrap:wrap}
.nd-cta-box strong{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;display:block;margin-bottom:6px}
.nd-cta-box p{font-size:.97rem;color:#4a453e;max-width:46ch}
.nd-cta-box .btn{white-space:nowrap}

/* Vorige/volgende */
.nd-postnav{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-weight:600}
.nd-postnav a{text-decoration:none;color:var(--ink)}
.nd-postnav a:hover{color:var(--red)}
.nd-postnav__next{margin-left:auto;text-align:right}

/* Paginering */
.nd-pagination{margin-top:40px}
.nd-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;margin:0 6px 8px 0;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;color:var(--ink)}
.nd-pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.nd-pagination .page-numbers:hover{border-color:var(--red);color:var(--red)}
.nd-pagination .page-numbers.current:hover{color:#fff}

@media(max-width:560px){
  .nd-cta-box{flex-direction:column;align-items:flex-start}
  .nd-postnav{flex-direction:column}
  .nd-postnav__next{margin-left:0;text-align:left}
}


/* ==========================================================================
   v2.0.0 — site-upgrade (juli 2026)
   Secties voor de bewerkbare pagina's: Agent-showcase, afleveringen-band,
   Director's Cut band, prijzen, events, team, contact, winkel, FAQ.
   Pagina-content bouwt hierop met Gutenberg-blokken (group/heading/paragraph).
   ========================================================================== */


/* Classic-theme fix (2.0.1): WP rendert core/group met een extra inner-container.
   display:contents haalt die wrapper uit de layout, zodat grid- en flex-kaarten
   direct op de group-children werken. Gescoped op onze pagina-content. */
article.nd-home .wp-block-group>.wp-block-group__inner-container,
article.nd-page .wp-block-group>.wp-block-group__inner-container,
.nd-shop-intro .wp-block-group>.wp-block-group__inner-container{display:contents}

/* core-blocks in huisstijl */
.wp-block-group.wrap{max-width:var(--maxw);margin:0 auto;padding-left:28px;padding-right:28px}
.wp-block-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.wp-block-button__link{display:inline-flex;align-items:center;gap:.5em;border:0;border-radius:999px;font-family:inherit;font-weight:700;font-size:.95rem;padding:.8em 1.4em;cursor:pointer;text-decoration:none;transition:transform .12s ease;white-space:nowrap;background:var(--ink);color:#fff}
.wp-block-button__link:hover{transform:translateY(-1px)}
.ndbtn-coral .wp-block-button__link{background:var(--red);color:#fff}
.ndbtn-black .wp-block-button__link{background:var(--ink);color:#fff}
.ndbtn-outline .wp-block-button__link{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.wp-block-image img{border-radius:16px}
.wp-block-image.noround img{border-radius:0}
h1 .accent,h2 .accent{color:var(--red)}
.center{text-align:center}
.center .wp-block-buttons{justify-content:center}

/* checklists */
ul.checks{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
ul.checks li{position:relative;padding-left:34px;font-size:1.05rem;font-weight:500}
ul.checks li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E15241' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E")}

/* device-compositie */
.devicecomp{position:relative}
.devicecomp .laptop img{border-radius:14px}
.devicecomp .phone{position:absolute;width:30%;right:-4%;bottom:-9%}
.devicecomp .phone img{border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.22)}
.phoneshot{max-width:380px;margin:0 auto}
.phoneshot img{border-radius:18px}

/* afleveringen-band (episode-strip) */
.season-legend{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px}
.season-legend .sl-item{display:flex;gap:10px;align-items:flex-start}
.season-legend .dot{width:14px;height:14px;border-radius:4px;margin-top:5px;flex:0 0 14px}
.season-legend b{display:block;font-size:.98rem}
.season-legend span{font-size:.9rem;color:var(--muted)}
.eps{display:grid;grid-auto-flow:column;grid-auto-columns:min(260px,72vw);gap:18px;overflow-x:auto;padding:34px 4px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.eps::-webkit-scrollbar{height:8px}
.eps::-webkit-scrollbar-thumb{background:rgba(13,13,13,.18);border-radius:99px}
.ep{scroll-snap-align:start;background:var(--white);border-radius:16px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.ep__media{aspect-ratio:1/1;overflow:hidden}
.ep__media img{width:100%;height:100%;object-fit:cover;border-radius:0}
.ep__num{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red);padding:16px 18px 0}
.ep__t{font-size:1.1rem;padding:6px 18px 0;font-weight:700}
.ep__s{font-size:.92rem;color:#4a453e;padding:6px 18px 20px;line-height:1.5}

/* donkere banden */
.dcband,.aiband{background:var(--ink);color:#fff}
.dcband .eyebrow,.aiband .eyebrow{color:#ff6b57}
.dcband h1,.dcband h2,.aiband h1,.aiband h2{color:#fff}
.dcband p,.aiband p{color:#d9d4ca}
.dcband .lead,.aiband .lead{color:#e9e4db}
.dcband .note{font-size:.9rem;color:#a39c8f;margin-top:18px}
.dcband .ndbtn-outline .wp-block-button__link,.aiband .ndbtn-outline .wp-block-button__link{border-color:rgba(255,255,255,.65);color:#fff}
.aigrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px}
.aicard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:26px 24px}
.aicard b,.aicard h3{display:block;font-size:1.05rem;margin-bottom:6px;color:#fff}
.aicard p{font-size:.98rem;color:#cfc9bd}

/* outcome- en stappenkaarten */
.outcards,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.outcard,.step{background:#faf8f4;border:1px solid var(--line);border-radius:16px;padding:30px 26px}
.outcard{border-top:5px solid var(--red)}
.outcard .num,.wcard .num{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--red);text-transform:uppercase;display:block;margin-bottom:10px}
.outcard h3,.step h3{margin:10px 0 8px}
.outcard p,.step p{font-size:1rem;color:#3a352f}
.step .n{font-family:'Poiret One','Manrope',sans-serif;font-size:2.4rem;color:var(--red);line-height:1}

/* premium-tegels */
.premrow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:26px}
.premcard{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;background:var(--ink);color:#fff;border-radius:16px;padding:16px 20px 16px 16px}
.premcard img{width:96px;height:96px;border-radius:10px;object-fit:cover}
.premcard b{display:block;font-size:1.02rem}
.premcard span{font-size:.88rem;color:#c9c2b6}
.premgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.premtile{background:var(--ink);color:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.premtile img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:0}
.premtile .b{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.premtile b{font-size:1.1rem}
.premtile p{font-size:.95rem;color:#c9c2b6}
.premtile a{color:#ff6b57}
.premtile .price{margin-top:auto;font-weight:800;color:#ff6b57;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase}

/* prijzen */
.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.pricegrid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.pricecard{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:34px 30px;display:flex;flex-direction:column}
.pricecard--hero{background:var(--ink);color:#fff;border-color:var(--ink)}
.pricecard .p-kick{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.pricecard--hero .p-kick{color:#ff6b57}
.pricecard .p-price{font-family:'Poiret One','Manrope',sans-serif;font-size:2.6rem;line-height:1;margin:14px 0 4px}
.pricecard .p-sub{font-size:.95rem;color:var(--muted)}
.pricecard ul.p-list{list-style:none;margin:20px 0 26px;padding:0;display:grid;gap:10px}
.pricecard ul.p-list li{font-size:.97rem;color:#3a352f;padding-left:24px;position:relative}
.pricecard ul.p-list li::before{content:"";position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:50%;background:var(--red)}
.pricecard--hero .p-sub,.pricecard--hero ul.p-list li{color:#e8e3d9}
.pricecard .wp-block-buttons{margin-top:auto}
.pricecard .wp-block-button{width:100%}
.pricecard .wp-block-button__link{width:100%;justify-content:center}
.staffelnote{margin-top:30px;text-align:center;font-size:.98rem;color:#3a352f}
.stafel{margin-top:44px;background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.stafel table{width:100%;border-collapse:collapse;font-size:.98rem;margin:0}
.stafel th{text-align:left;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:16px 22px;border-bottom:1px solid var(--line);background:none}
.stafel td{padding:14px 22px;border-bottom:1px solid rgba(13,13,13,.06);border-left:0;border-right:0}
.stafel tr:last-child td{border-bottom:0}
.stafel .best td{background:#fdf3f1;font-weight:700}
.stafel .pc{color:var(--muted);font-size:.9rem}

/* events */
.evgrid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.evcard2{background:#faf8f4;border-radius:18px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
section:not(.section--white) .evcard2{background:var(--white)}
.evcard2__img{aspect-ratio:16/9;overflow:hidden}
.evcard2__img img{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .3s ease}
.evcard2:hover .evcard2__img img{transform:scale(1.03)}
.evcard2__body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px;flex:1}
.evcard2__kick{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.evcard2__body p{font-size:1rem;color:#3a352f}
.evcard2__meta{font-size:.9rem;font-weight:700}
.evcard2 .tags{display:flex;gap:8px;flex-wrap:wrap}
.evcard2 .tag{font-size:.8rem;font-weight:700;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
.evcard2__body .wp-block-buttons{margin-top:auto;padding-top:8px}

/* cross-sell kaarten */
.crossgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.crosscard{border-radius:16px;overflow:hidden;background:#faf8f4;border:1px solid var(--line);display:flex;flex-direction:column}
.crosscard img{aspect-ratio:16/9;object-fit:cover;border-radius:0}
.crosscard .b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.crosscard b{font-size:1.08rem}
.crosscard p{font-size:.95rem;color:#3a352f}
.crosscard a.more{margin-top:auto;font-weight:700;color:var(--red);text-decoration:none}

/* seizoensblokken (Agent-pagina) */
.seasonblk{margin-top:56px}
.seasonblk__head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:12px}
.seasonblk__badge{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--ink);border-radius:6px;padding:5px 10px}
.seasonblk__badge.s1{background:#F5301F}
.seasonblk__badge.s2{background:#B39A6F}
.seasonblk__badge.s3{background:#8d8b85}
.seasonblk__name{font-family:'Poiret One','Manrope',sans-serif;font-size:clamp(1.5rem,2.6vw,2.1rem);text-transform:uppercase}
.seasonblk__meta{margin-left:auto;font-size:.95rem;font-weight:700}
.seasonblk__res{margin-top:12px;font-size:1rem;color:#3a352f}
.mtgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:22px}
.mtgrid.four{grid-template-columns:repeat(4,1fr)}
.mtgrid.three{grid-template-columns:repeat(3,1fr)}
.mt{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.mt img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:0}
.mt__c{padding:12px 14px 14px}
.mt__c span{font-size:.7rem;font-weight:800;letter-spacing:.13em;color:var(--red)}
.mt__c b{display:block;font-size:.95rem;line-height:1.25;margin-top:2px}

/* tijdlijn, fotostrip, team, contact */
.timeline{margin-top:40px}
.tl{display:grid;grid-template-columns:190px 1fr;gap:26px;padding:22px 0;border-top:1px solid var(--line)}
.tl:last-child{border-bottom:1px solid var(--line)}
.tl b{font-size:1rem}
.tl .d{font-size:.85rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding-top:3px}
.tl p{font-size:1rem;color:#3a352f}
.fotostrip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fotostrip img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%}
.teamgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.teamcard img{border-radius:16px;aspect-ratio:4/5;object-fit:cover;width:100%}
.teamcard h3{margin-top:16px}
.teamcard .role{font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-top:4px}
.teamcard p{font-size:.98rem;color:#3a352f;margin-top:8px}
.contactgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.ccard{background:#faf8f4;border:1px solid var(--line);border-radius:16px;padding:30px 26px;display:flex;flex-direction:column;gap:8px}
.ccard p{font-size:.98rem;color:#3a352f}
.ccard a.link{margin-top:auto;font-weight:700;color:var(--red);text-decoration:none;padding-top:10px}

/* winkel-landing */
.prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.prodcard{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .15s ease}
.prodcard:hover{transform:translateY(-4px)}
.prodcard img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:0}
.prodcard .b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.prodcard h3{font-size:1.15rem}
.prodcard p{font-size:.95rem;color:#3a352f}
.prodcard .price{margin-top:auto;padding-top:12px;font-weight:800;font-size:1.05rem}
.prodcard .price small{color:var(--muted);font-weight:600}

/* formulieren + google-kaart */
.formcard{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:36px;padding:10px}
.formcard iframe{display:block;width:100%;height:760px;border:0;background:transparent}
.formcard .fluentform{padding:20px 22px}
.gcard{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:26px 30px;margin-top:40px}
.gcard .glogo{font-weight:800;font-size:1.15rem}
.gcard p{font-size:.98rem;color:#3a352f;margin:0}
.gcard b{display:block}
.gcard .wp-block-buttons{margin-top:0}

/* FAQ (core details) */
details.faq,.wp-block-details.faq{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-top:14px;overflow:hidden;padding:0}
details.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;font-weight:700;font-size:1.05rem}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:1.5rem;color:var(--red);font-weight:400;line-height:1}
details.faq[open] summary::after{content:"\2013"}
details.faq p{padding:0 24px 22px;color:#3a352f;font-size:1rem;margin:0}

/* fluent forms in huisstijl */
.fluentform .ff-el-form-control{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;background:#fff}
.fluentform .ff-el-form-control:focus{border-color:var(--red);outline:0;box-shadow:0 0 0 3px rgba(225,82,65,.12)}
.fluentform .ff-el-input--label label{font-weight:700;font-size:.92rem}
.fluentform .ff-btn-submit{background:var(--red)!important;color:#fff!important;border:0!important;border-radius:999px!important;font-family:inherit!important;font-weight:700!important;padding:.85em 1.6em!important;font-size:.98rem!important}
.fluentform .ff-btn-submit:hover{background:var(--red-deep)!important}

/* responsive v2 */
@media(max-width:900px){
  .devicecomp .phone{right:0}
  .aigrid,.outcards,.steps,.premrow,.premgrid,.pricegrid,.contactgrid,.prodgrid,.crossgrid{grid-template-columns:1fr}
  .pricegrid2,.evgrid2,.teamgrid{grid-template-columns:1fr}
  .fotostrip{grid-template-columns:1fr}
  .mtgrid,.mtgrid.four,.mtgrid.three{grid-template-columns:repeat(2,1fr)}
  .tl{grid-template-columns:1fr;gap:6px}
  .seasonblk__meta{margin-left:0;width:100%}
  .gcard{grid-template-columns:1fr}
}
