/* Gescoped voor WordPress: alles onder #nwb / body.nwb-page */
/* ===== Noorderwind Studio — Bruiloften landingspagina
   Tokens 1:1 overgenomen uit de echte theme.css v12.2.2 ===== */
:root{
  --bg:#050505; --bg2:#0d0d0f; --panel:#17171a; --panel-t:#17171acc;
  --line:#343438; --text:#f7f2e8; --muted:#bfb8aa;
  --orange:#ff8a00; --orange2:#ffb04a;
  --radius:26px; --r-sm:14px; --max:1180px;
  --ff:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
#nwb *, #nwb *::before, #nwb *::after{box-sizing:border-box}
#nwb [hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
#nwb section[id], #nwb div[id^="stap"]{scroll-margin-top:96px}
body.nwb-page{
  margin:0;background:var(--bg);color:var(--text);font-family:var(--ff);
  font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
#nwb img, #nwb video{max-width:100%;display:block}
#nwb a{color:inherit}
#nwb h1, #nwb h2, #nwb h3{margin:0;font-weight:800;letter-spacing:-.028em;line-height:1.04}
#nwb h1{font-size:clamp(2.5rem,6.4vw,4.6rem);font-weight:900}
#nwb h2{font-size:clamp(1.9rem,4.2vw,3.1rem)}
#nwb h3{font-size:1.18rem;letter-spacing:-.015em;line-height:1.25}
#nwb p{margin:0}
#nwb .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
#nwb .hl{color:var(--orange)}
#nwb .skip{position:absolute;left:-9999px}
#nwb .skip:focus{left:16px;top:16px;z-index:999;background:var(--orange);color:#111;padding:10px 16px;border-radius:999px}
#nwb :focus-visible{outline:2px solid var(--orange2);outline-offset:3px}

/* ---- reveal ---- */
#nwb .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
#nwb .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){#nwb .reveal{opacity:1;transform:none;transition:none}}

/* ---- buttons ---- */
#nwb .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:var(--orange);color:#141008;font-weight:700;font-size:.97rem;
  letter-spacing:-.01em;padding:14px 24px;border-radius:999px;text-decoration:none;
  border:1px solid var(--orange);cursor:pointer;
  transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
  box-shadow:0 8px 30px -12px rgba(255,138,0,.6);
}
#nwb .btn:hover{background:var(--orange2);border-color:var(--orange2);transform:translateY(-2px);box-shadow:0 14px 38px -12px rgba(255,138,0,.75)}
#nwb .btn-lg{padding:17px 32px;font-size:1.03rem}
#nwb .btn-sm{padding:11px 19px;font-size:.9rem}
#nwb .btn-block{width:100%}
#nwb .btn-ghost{background:transparent;color:var(--text);border-color:#ffffff38;box-shadow:none;backdrop-filter:blur(8px)}
#nwb .btn-ghost:hover{background:#ffffff14;border-color:#ffffff70;color:var(--text)}

#nwb .kicker{
  font-size:.74rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;
  color:var(--orange);margin-bottom:18px;
}
#nwb .eyebrow{
  font-size:.76rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:22px;
}
#nwb .sub{color:var(--muted);max-width:56ch;margin-top:20px;font-size:1.06rem}

/* ================= HEADER ================= */
#nwb .hdr{
  position:fixed;inset:0 0 auto;z-index:80;
  transition:background .35s var(--ease),backdrop-filter .35s var(--ease),border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
#nwb .hdr.stuck{background:#050505e0;backdrop-filter:blur(16px);border-bottom-color:var(--line)}
#nwb .hdr-in{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px}
#nwb .brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
#nwb .brand img{height:34px;width:auto}
#nwb .brand-txt{display:flex;flex-direction:column;line-height:1.15}
#nwb .brand-txt strong{font-size:.94rem;font-weight:700;letter-spacing:-.015em}
#nwb .brand-txt em{font-style:normal;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:600}
#nwb .hdr-nav{display:flex;gap:26px;margin-left:auto;font-size:.9rem;color:var(--muted)}
#nwb .hdr-nav a{text-decoration:none;transition:color .2s}
#nwb .hdr-nav a:hover{color:var(--text)}
#nwb .hdr-cta{display:flex;align-items:center;gap:16px}
#nwb .hdr-cta .tel{font-size:.9rem;color:var(--muted);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
#nwb .hdr-cta .tel:hover{color:var(--text)}
@media(max-width:1000px){#nwb .hdr-nav{display:none}#nwb .hdr-cta{margin-left:auto}}
@media(max-width:560px){#nwb .hdr-cta .tel{display:none}#nwb .hdr-cta .btn{display:none}#nwb .brand img{height:30px}}

/* ================= HERO ================= */
#nwb .hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:120px 0 88px}
#nwb .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04)}
#nwb .hero-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,#050505d9 0%,#05050561 32%,#05050585 66%,#050505f7 100%),
    radial-gradient(120% 85% at 12% 88%,#050505c4 0%,transparent 62%);
}
#nwb .hero-in{position:relative;z-index:2;max-width:var(--max);width:100%;margin:0 auto;padding:0 24px}
#nwb .hero h1{max-width:19ch}
#nwb .hero .lede{margin-top:26px;max-width:52ch;font-size:clamp(1.02rem,1.5vw,1.19rem);color:#efe8dc;line-height:1.6}
#nwb .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
#nwb .hero-trust{
  list-style:none;margin:34px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;
  font-size:.87rem;color:var(--muted);
}
#nwb .hero-trust li{display:flex;align-items:center;gap:9px}
#nwb .hero-trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
#nwb .scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3}
#nwb .scroll-cue span{display:block;width:1px;height:42px;background:linear-gradient(180deg,transparent,var(--orange));animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:scaleY(.3)}45%{opacity:1}100%{opacity:0;transform:scaleY(1) translateY(14px)}}
@media(max-width:560px){#nwb .hero{padding:110px 0 96px}#nwb .hero-actions .btn{width:100%}}

/* ================= MARQUEE ================= */
#nwb .marquee{
  overflow:hidden;background:var(--orange);color:#140f06;
  padding:13px 0;border-top:1px solid #00000022;
}
#nwb .marquee-track{display:flex;gap:0;width:max-content;animation:mq 42s linear infinite}
#nwb .marquee-track span{
  font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:0 22px;white-space:nowrap;
}
#nwb .marquee-track i{font-style:normal;opacity:.5;font-size:.7rem}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){#nwb .marquee-track{animation:none}}

/* ================= SECTIONS ================= */
#nwb .sec{padding:clamp(76px,10vw,128px) 0}
#nwb .sec-alt{background:var(--bg2)}

#nwb .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
#nwb .pillar{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 28px 30px;transition:border-color .3s var(--ease),transform .3s var(--ease);
}
#nwb .pillar:hover{border-color:#55554e;transform:translateY(-4px)}
#nwb .pillar .num{
  display:block;font-size:.8rem;font-weight:800;letter-spacing:.16em;color:var(--orange);margin-bottom:18px;
}
#nwb .pillar h3{margin-bottom:11px}
#nwb .pillar p{color:var(--muted);font-size:.98rem}
@media(max-width:860px){#nwb .pillars{grid-template-columns:1fr}}

/* ---- timeline ---- */
#nwb .timeline{max-width:var(--max);margin:60px auto 0;padding:0 24px;display:flex;flex-direction:column;gap:22px}
#nwb .tl-item{
  display:grid;grid-template-columns:1.15fr 1fr;gap:0;align-items:stretch;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
}
#nwb .tl-item:nth-child(even) .tl-img{order:2}
#nwb .tl-img{overflow:hidden;min-height:280px}
#nwb .tl-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
#nwb .tl-item:hover .tl-img img{transform:scale(1.045)}
#nwb .tl-txt{padding:clamp(26px,3.4vw,46px);display:flex;flex-direction:column;justify-content:center}
#nwb .tl-time{
  font-size:.7rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;
  color:var(--orange);margin-bottom:14px;
}
#nwb .tl-txt h3{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:800;margin-bottom:12px}
#nwb .tl-txt p{color:var(--muted)}
@media(max-width:800px){
  #nwb .tl-item{grid-template-columns:1fr}
  #nwb .tl-item:nth-child(even) .tl-img{order:0}
  #nwb .tl-img{min-height:220px;max-height:300px}
}

/* ---- films ---- */
#nwb .films{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:52px}
#nwb .film-btn{
  display:block;position:relative;width:100%;padding:0;border:1px solid var(--line);
  background:var(--panel);border-radius:var(--radius);overflow:hidden;cursor:pointer;
  transition:border-color .3s var(--ease),transform .35s var(--ease);
}
#nwb .film-btn:hover{border-color:var(--orange);transform:translateY(-4px)}
#nwb .film-btn img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 1s var(--ease),filter .4s}
#nwb .film-btn:hover img{transform:scale(1.04);filter:brightness(.82)}
#nwb .film-btn::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,#05050530 0%,transparent 40%);
}
#nwb .play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;
  width:70px;height:70px;border-radius:50%;background:#050505b3;border:1px solid #ffffff40;
  backdrop-filter:blur(6px);transition:background .3s,border-color .3s,transform .3s var(--ease);
}
#nwb .play::before{
  content:"";position:absolute;top:50%;left:53%;transform:translate(-50%,-50%);
  border-left:17px solid var(--text);border-top:11px solid transparent;border-bottom:11px solid transparent;
}
#nwb .film-btn:hover .play{background:var(--orange);border-color:var(--orange);transform:translate(-50%,-50%) scale(1.08)}
#nwb .film-btn:hover .play::before{border-left-color:#140f06}
#nwb .film-meta{display:flex;flex-direction:column;margin-top:18px}
#nwb .film-meta em{font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
#nwb .film-meta strong{font-size:1.24rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}
#nwb .film-note{margin-top:9px;color:var(--muted);font-size:.95rem;font-style:italic}
#nwb .films-more{margin-top:36px;color:var(--muted);font-size:.95rem}
#nwb .films-more a{color:var(--orange);text-decoration:none;border-bottom:1px solid #ff8a0055}
#nwb .films-more a:hover{border-bottom-color:var(--orange)}
@media(max-width:860px){#nwb .films{grid-template-columns:1fr}}

/* ---- dance ---- */
#nwb .sec+.dance{padding-top:0}
#nwb .dance{
  display:grid;grid-template-columns:.85fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;
  max-width:var(--max);margin:0 auto;padding:clamp(76px,10vw,128px) 24px;
}
#nwb .dance-vid-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#000}
#nwb .dance-vid{width:100%;aspect-ratio:9/16;object-fit:cover;max-height:640px}
#nwb .dance-txt .kicker{margin-bottom:16px}
#nwb .dance-txt h2{margin-bottom:20px}
#nwb .dance-txt p:not(.kicker){color:var(--muted);max-width:46ch;font-size:1.05rem}
#nwb .dance-txt .btn{margin-top:32px}
@media(max-width:860px){
  #nwb .dance{grid-template-columns:1fr;padding-top:64px}
  #nwb .dance-vid{aspect-ratio:4/5;max-height:460px}
}

/* ---- extra's: drie kaarten onder een kopje ---- */
#nwb .xtras{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.2vw,26px);margin-top:clamp(38px,5vw,58px);align-items:stretch;
}
#nwb .xtra{
  display:flex;flex-direction:column;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
}
#nwb .xtra-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
#nwb .xtra-body{display:flex;flex-direction:column;flex:1;padding:clamp(22px,2.3vw,30px)}
#nwb .xtra-body h3{
  font-size:clamp(1.3rem,1.7vw,1.62rem);font-weight:800;
  letter-spacing:-.02em;line-height:1.15;margin:0 0 14px;
}
#nwb .xtra-body>p{color:var(--muted);font-size:.95rem;line-height:1.62;margin:0 0 20px}
#nwb .xtra-price{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;
  margin:0 0 20px;padding:15px 17px;border-radius:var(--r-sm);
  background:#1d1710;border:1px solid rgba(255,138,0,.38);
}
#nwb .xtra-price strong{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--orange)}
#nwb .xtra-price span{font-size:.83rem;color:var(--muted)}
#nwb .xtra-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
#nwb .xtra-list li{position:relative;padding-left:25px;font-size:.9rem;line-height:1.5}
#nwb .xtra-list li:before{
  content:"";position:absolute;left:1px;top:.34em;width:11px;height:6px;
  border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);
  transform:rotate(-45deg);
}
#nwb .xtra .fine{margin-top:auto;margin-bottom:0}
/* De GuestCam-pakketten staan in een smalle kaart, dus als rijen. */
#nwb .xtra .gc-prices{grid-template-columns:1fr;gap:9px;margin:0 0 20px}
#nwb .xtra .gc-p{
  display:grid;grid-template-columns:1fr auto;align-items:baseline;
  gap:3px 12px;padding:13px 15px;
}
#nwb .xtra .gc-p em{grid-column:1;grid-row:1}
#nwb .xtra .gc-p strong{grid-column:2;grid-row:1;margin:0;font-size:1.18rem;text-align:right}
#nwb .xtra .gc-p span:not(.gc-tag){grid-column:1/-1;grid-row:2;font-size:.81rem}
#nwb .xtra .gc-best{padding-top:23px}
#nwb .xtra .gc-tag{top:-10px;left:14px}
#nwb .gc-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}
#nwb .gc-p{
  position:relative;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:20px 18px;text-align:left;
}
#nwb .gc-p em{display:block;font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#nwb .gc-p strong{display:block;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin:8px 0 6px}
#nwb .gc-p span{font-size:.83rem;color:var(--muted);line-height:1.4;display:block}
#nwb .gc-best{border-color:var(--orange);background:#1d1710;padding-top:28px}
#nwb .gc-best strong{color:var(--orange)}
#nwb .gc-tag{
  position:absolute;top:-10px;left:16px;background:var(--orange);color:#140f06;
  font-size:.62rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;
}
#nwb .fine{margin-top:20px;font-size:.85rem;color:#8f887c}
#nwb .fine a{color:var(--orange);text-decoration:none;border-bottom:1px solid #ff8a0055}
@media(max-width:1080px){
  #nwb .xtras{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  #nwb .xtras{grid-template-columns:1fr}
  #nwb .xtra-img img{aspect-ratio:16/9}
}
@media(max-width:560px){#nwb .gc-prices{grid-template-columns:1fr;gap:22px}}

/* ---- steps ---- */
#nwb .steps{position:relative;padding:clamp(84px,11vw,136px) 0;overflow:hidden}
#nwb .steps-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#nwb .steps-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#050505ef,#050505d6 45%,#050505f5)}
#nwb .steps .wrap{position:relative;z-index:2}
#nwb .steps h2{max-width:20ch}
#nwb .step-list{
  list-style:none;margin:52px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s;
}
#nwb .step-list li{
  background:var(--panel-t);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;
}
#nwb .step-list li>span{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:50%;background:var(--orange);color:#140f06;font-weight:800;font-size:.95rem;margin-bottom:18px;
}
#nwb .step-list h3{margin-bottom:10px}
#nwb .step-list p{color:var(--muted);font-size:.97rem}
@media(max-width:860px){#nwb .step-list{grid-template-columns:1fr}}

/* ---- investering ---- */
#nwb .inv-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(32px,5vw,72px);align-items:start}
#nwb .inv-intro h2{margin-bottom:20px}
#nwb .inv-intro>p:not(.kicker){color:var(--muted);font-size:1rem;max-width:44ch;margin:0 0 16px}
#nwb .inv-intro .btn{margin-top:12px}
#nwb .inv-side{display:grid;gap:18px}
#nwb .inv-card, #nwb .inv-extra{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:clamp(24px,2.6vw,34px);
}
#nwb .inv-card{border-color:rgba(255,138,0,.3)}
#nwb .inv-label{
  margin:0 0 12px;font-size:.7rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--orange);
}
#nwb .inv-card h3{
  margin:0 0 18px;font-size:clamp(1.12rem,1.5vw,1.3rem);
  font-weight:700;letter-spacing:-.02em;line-height:1.3;
}
#nwb .inv-amount{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;
  margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--line);
}
#nwb .inv-amount em{font-style:normal;font-size:.9rem;color:var(--muted)}
#nwb .inv-amount strong{
  font-size:clamp(2.1rem,3.4vw,2.9rem);font-weight:800;
  letter-spacing:-.04em;line-height:1;color:var(--orange);
}
#nwb .inv-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
#nwb .inv-list li{position:relative;padding-left:25px;font-size:.93rem;line-height:1.5}
#nwb .inv-list li:before{
  content:"";position:absolute;left:1px;top:.34em;width:11px;height:6px;
  border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);
  transform:rotate(-45deg);
}
#nwb .inv-rows{list-style:none;margin:0;padding:0;display:grid;gap:2px}
#nwb .inv-rows li{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem;
}
#nwb .inv-rows li:last-child{border-bottom:0}
#nwb .inv-rows b{font-weight:700;color:var(--text);white-space:nowrap}
@media(max-width:920px){
  #nwb .inv-grid{grid-template-columns:1fr}
  #nwb .inv-intro>p:not(.kicker){max-width:none}
}

/* ---- faq ---- */
#nwb .faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start}
#nwb .faq-head h2{margin-bottom:18px}
#nwb .faq-head>p:not(.kicker){color:var(--muted);font-size:.98rem}
#nwb .faq-head a{color:var(--orange);text-decoration:none;border-bottom:1px solid #ff8a0055}
#nwb .faq-list details{
  border-bottom:1px solid var(--line);padding:0;
}
#nwb .faq-list details summary{
  cursor:pointer;list-style:none;padding:20px 34px 20px 0;position:relative;
  font-weight:600;font-size:1.02rem;letter-spacing:-.012em;transition:color .2s;
}
#nwb .faq-list details summary::-webkit-details-marker{display:none}
#nwb .faq-list details summary:hover{color:var(--orange)}
#nwb .faq-list details summary::after{
  content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease);
}
#nwb .faq-list details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
#nwb .faq-list details p{padding:0 40px 22px 0;color:var(--muted);font-size:.97rem}
@media(max-width:860px){#nwb .faq-wrap{grid-template-columns:1fr}#nwb .faq-list{margin-top:8px}}

/* ================= CONTACT ================= */
#nwb .contact{position:relative;padding:clamp(80px,10vw,128px) 0;overflow:hidden}
#nwb .contact-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%}
#nwb .contact-scrim{position:absolute;inset:0;background:linear-gradient(100deg,#050505f0 0%,#050505df 46%,#050505f8 100%)}
#nwb .contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:start}
#nwb .contact-intro h2{margin-bottom:20px}
#nwb .contact-intro>p:not(.kicker){color:var(--muted);max-width:44ch}
/* Teams-afspraak: de hoofdactie */
#nwb .teams{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:30px;text-decoration:none;
  background:linear-gradient(135deg,#1b160e 0%,var(--panel) 62%);
  border:1px solid #ff8a0055;border-radius:var(--radius);
  padding:22px 24px;
  transition:border-color .3s,transform .3s var(--ease),box-shadow .3s;
}
#nwb .teams:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 16px 40px -22px #ff8a0088}
#nwb .teams-top{display:flex;align-items:center;gap:16px;min-width:0}
#nwb .teams-ic{
  flex:none;width:46px;height:46px;border-radius:13px;
  display:grid;place-items:center;color:#050505;
  background:linear-gradient(135deg,var(--orange2),var(--orange));
}
#nwb .teams-ic svg{width:23px;height:23px}
#nwb .teams-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
#nwb .teams-txt strong{font-size:1.06rem;font-weight:800;letter-spacing:-.02em}
#nwb .teams-txt em{font-style:normal;font-size:.85rem;color:var(--muted)}
#nwb .teams-btn{
  flex:none;font-size:.92rem;font-weight:700;color:#050505;
  background:linear-gradient(135deg,var(--orange2),var(--orange));
  border-radius:100px;padding:12px 22px;white-space:nowrap;
}
#nwb .teams-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
#nwb .teams-list li{position:relative;padding-left:20px;font-size:.9rem;color:var(--muted)}
#nwb .teams-list li::before{
  content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;
  border-radius:50%;background:var(--orange);
}
#nwb .contact-alt{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
#nwb .alt-row{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.95rem}
#nwb .alt-row a{color:var(--orange);text-decoration:none;border-bottom:1px solid #ff8a0055}
#nwb .addr{font-size:.87rem;color:#8f887c}

#nwb .form-or{
  font-size:.83rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#8f887c;margin-bottom:14px;
}
#nwb .form{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(24px,3vw,38px);
}
#nwb .f-row{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
#nwb .f-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#nwb .f-row label{font-size:.83rem;font-weight:600;letter-spacing:.01em;color:#e4ddd0}
#nwb .f-row label span{color:var(--orange)}
#nwb .form input, #nwb .form textarea{
  font-family:var(--ff);font-size:.97rem;color:var(--text);
  background:#0c0c0e;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:13px 15px;width:100%;transition:border-color .25s,background .25s;
}
#nwb .form input::placeholder, #nwb .form textarea::placeholder{color:#6e675c}
#nwb .form input:focus, #nwb .form textarea:focus{border-color:var(--orange);background:#0f0e0c;outline:none}
#nwb .form input[type=date]{color-scheme:dark}
#nwb .form textarea{resize:vertical;min-height:104px}
#nwb .form input.bad, #nwb .form textarea.bad{border-color:#ff6b4a}
#nwb .f-check{display:flex;gap:11px;align-items:flex-start;margin:6px 0 22px;font-size:.85rem;color:var(--muted);line-height:1.5}
#nwb .f-check input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:var(--orange)}
#nwb .f-check a{color:var(--orange);text-decoration:none;border-bottom:1px solid #ff8a0055}
#nwb .f-check em{font-style:normal;color:var(--orange)}
#nwb .f-check.bad span{color:#ff9c85}
#nwb .f-fine{margin-top:14px;font-size:.79rem;color:#8f887c;text-align:center}
#nwb .f-error{margin-top:14px;font-size:.87rem;color:#ff9c85;text-align:center}
#nwb .f-ok{margin-top:20px;background:#141a13;border:1px solid #3c5a34;border-radius:var(--r-sm);padding:18px 20px}
#nwb .f-ok strong{display:block;color:var(--orange2);font-size:1rem;margin-bottom:6px}
#nwb .f-ok p{font-size:.9rem;color:var(--muted)}
#nwb .f-ok a{color:var(--orange)}
@media(max-width:900px){
  #nwb .contact-grid{grid-template-columns:1fr}
  #nwb .form-side{margin-top:6px}
}
@media(max-width:560px){
  #nwb .teams{padding:20px}
  #nwb .teams-btn{width:100%;text-align:center}
}
@media(max-width:520px){#nwb .f-two{grid-template-columns:1fr;gap:0}}

/* ================= CLOSER ================= */
#nwb .closer{padding:clamp(64px,8vw,104px) 0;text-align:center;background:var(--bg2);border-top:1px solid var(--line)}
#nwb .closer-logo{height:clamp(52px,7vw,84px);width:auto;margin:0 auto 26px;opacity:.95}
#nwb .closer-line{
  font-size:clamp(1.15rem,2.4vw,1.7rem);font-weight:600;letter-spacing:-.02em;
  max-width:30ch;margin:0 auto;line-height:1.3;
}

/* ================= FOOTER ================= */
#nwb .ftr{background:var(--bg);border-top:1px solid var(--line);padding:52px 0 28px}
#nwb .ftr-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;font-size:.88rem;color:var(--muted)}
#nwb .ftr-brand{font-size:1.02rem;font-weight:800;color:var(--text);letter-spacing:-.02em}
#nwb .ftr-tag{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-top:6px}
#nwb .ftr-col p{margin-bottom:7px}
#nwb .ftr-col a{text-decoration:none;transition:color .2s}
#nwb .ftr-col a:hover{color:var(--orange)}
#nwb .ftr-legal{max-width:var(--max);margin:36px auto 0;padding:20px 24px 0;border-top:1px solid var(--line);font-size:.76rem;color:#7d766b}
@media(max-width:820px){#nwb .ftr-in{grid-template-columns:1fr 1fr}}
@media(max-width:480px){#nwb .ftr-in{grid-template-columns:1fr}}

/* ================= MOBILE CTA ================= */
#nwb .mcta{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;
  padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  background:#050505ee;backdrop-filter:blur(14px);border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .4s var(--ease);
}
#nwb .mcta.show{transform:none}
#nwb .mcta-tel{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:56px;border:1px solid var(--line);border-radius:999px;text-decoration:none;
  font-size:.85rem;font-weight:700;color:var(--text);
}
@media(max-width:760px){#nwb .mcta{display:flex}body.nwb-page{padding-bottom:0}}

/* ================= LIGHTBOX ================= */
#nwb .lb{
  position:fixed;inset:0;z-index:200;background:#020202f2;backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
#nwb .lb-frame{width:100%;max-width:1100px;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;background:#000}
#nwb .lb-frame iframe{width:100%;height:100%;border:0;display:block}
#nwb .lb-close{
  position:absolute;top:18px;right:22px;width:46px;height:46px;border-radius:50%;
  background:#ffffff14;border:1px solid #ffffff33;color:var(--text);font-size:1.7rem;line-height:1;
  cursor:pointer;transition:background .25s,border-color .25s;
}
#nwb .lb-close:hover{background:var(--orange);border-color:var(--orange);color:#140f06}


/* ================================================================
   Overrides tegen de sitebreede themastijl (style.css v12.2.2)
   Deze regels zijn nodig omdat de landingspagina in dezelfde
   pagina-context laadt als de rest van het thema.
   ================================================================ */

/* Het thema legt twee decoratieve lagen over de body (oranje gloed +
   rasterpatroon). Die horen niet op de landingspagina. */
body.nwb-page::before,
body.nwb-page::after{display:none!important}

/* Het thema zet alle alinea's op --muted; hier bepaalt de sectie de kleur. */
#nwb p{color:inherit}

/* Het thema forceert met !important een oranje gradient op elke
   submitknop. Op deze pagina is de verstuurknop juist de tweede keuze. */
#nwb button[type=submit].btn-ghost{
  background:transparent!important;
  color:var(--text)!important;
  border-color:#ffffff38!important;
  box-shadow:none!important;
}
#nwb button[type=submit].btn-ghost:hover{
  background:#ffffff14!important;
  border-color:#ffffff70!important;
}

/* De zwevende Bookings-knop van het thema wordt op deze pagina
   uitgezet in PHP; dit is een veiligheidsnet. */
body.nwb-page .nws-bookings-floating{display:none!important}

/* ----------------------------------------------------------------
   De pagina gebruikt de gewone header en footer van het thema.
   De themaheader is sticky en 78px hoog (68px onder 560px), dus de
   hero mag niet meer de volle 100svh vullen en de ankerpunten
   moeten iets minder ruimte vrijhouden.
   ---------------------------------------------------------------- */
body.nwb-page{--nwb-hdr:78px}
@media(max-width:560px){body.nwb-page{--nwb-hdr:68px}}

#nwb .hero{min-height:calc(100svh - var(--nwb-hdr));padding-top:clamp(56px,7vw,84px)}
@media(max-width:760px){#nwb .hero{padding-top:clamp(48px,9vw,72px)}}

#nwb section[id],
#nwb div[id^="stap"]{scroll-margin-top:calc(var(--nwb-hdr) + 14px)}

/* De themaheader staat op z-index 40; de lightbox en de vaste
   actieknop moeten daarboven blijven. */
#nwb .lb{z-index:9999}
#nwb .mcta{z-index:9990}

/* De cookiemelding van het thema staat op z-index 100000 en dekt de
   actieknop af. Zolang die melding open staat halen we de knop weg; de
   klasse wordt door bruiloften.js gezet. */
body.nwb-cookie-open #nwb .mcta{
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}

/* Vanaf tablet wordt de vaste balk een zwevende knop rechtsonder, in
   dezelfde vorm als de zwevende knop elders op de site. Zo blijft de
   Teams-afspraak altijd binnen bereik, ook nu de themaheader geen
   eigen actieknop heeft. */
@media(min-width:761px){
  #nwb .mcta{
    left:auto;right:22px;bottom:22px;display:flex;
    padding:0;background:none;backdrop-filter:none;border-top:0;
    transform:translateY(180%);
  }
  #nwb .mcta.show{transform:none}
  #nwb .mcta .mcta-tel{display:none}
  #nwb .mcta .btn{
    width:auto;padding:14px 22px;
    box-shadow:0 18px 55px rgba(0,0,0,.48),0 0 0 1px rgba(255,138,0,.25);
  }
}

/* Statusmelding na het versturen van het formulier. */
#nwb .f-msg{
  margin:0 0 18px;border-radius:var(--r-sm);padding:16px 18px;
  font-size:.92rem;line-height:1.5;
}
#nwb .f-msg strong{display:block;font-size:1rem;margin-bottom:5px}
#nwb .f-msg.ok{background:#141a13;border:1px solid #3c5a34;color:var(--muted)}
#nwb .f-msg.ok strong{color:var(--orange2)}
#nwb .f-msg.bad{background:#1d1210;border:1px solid #6d2f24;color:#e8c4bc}
#nwb .f-msg.bad strong{color:#ff9c85}
#nwb .f-msg.note{background:#1e1408;border:1px solid #7a5410;color:#e0cfae}
#nwb .f-msg.note strong{color:var(--orange2)}
#nwb .f-msg a{color:var(--orange)}
