/* Revalis — nieuwsbrief-aanmelding. Twee varianten: .rv-nb--card en .rv-nbstrip. */
.nb-wrap{padding:80px 0;background:#1C1B4F;position:relative;overflow:hidden}
.nb-wrap>.container{position:relative;z-index:1}
.nb-dot{position:absolute;border-radius:50%;pointer-events:none;animation:nb-drift 12s ease-in-out infinite}
.nb-dot-1{top:52px;left:7%;width:18px;height:18px;background:#F5D16A}
.nb-dot-2{top:34%;left:3%;width:11px;height:11px;background:#8BC442;animation-duration:15s;animation-delay:-4s}
.nb-dot-3{bottom:58px;left:16%;width:14px;height:14px;background:#E5197F;animation-duration:17s;animation-delay:-8s}
.nb-dot-4{top:64px;right:12%;width:13px;height:13px;background:#29B8E5;animation-duration:14s;animation-delay:-2s}
.nb-dot-5{bottom:46px;right:6%;width:20px;height:20px;background:#F39B3A;animation-duration:19s;animation-delay:-11s}
.nb-dot-6{top:44%;right:3%;width:10px;height:10px;background:#F29AB8;animation-duration:16s;animation-delay:-6s}
@keyframes nb-drift{0%,100%{transform:translate(0,0)}25%{transform:translate(14px,-8px)}50%{transform:translate(4px,10px)}75%{transform:translate(-12px,-4px)}}
@media (prefers-reduced-motion:reduce){.nb-dot{animation:none}}
@media (max-width:900px){.nb-dot-2,.nb-dot-6{display:none}}
.nb-wrap--tight{padding:0 0 80px}
.rv-nb,.rv-nbstrip{--nb-magenta:#E5197F;--nb-magenta-dark:#C00E68;--nb-navy:#1C1B4F;--nb-cream:#F1EEE5;--nb-line:rgba(28,27,79,.14);font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#4A4763;font-size:16px;line-height:1.65;box-sizing:border-box}
.rv-nb *,.rv-nb *::before,.rv-nb *::after,.rv-nbstrip *,.rv-nbstrip *::before,.rv-nbstrip *::after{box-sizing:border-box}
.rv-nb .nb-kicker,.rv-nbstrip .nb-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--nb-magenta);font-weight:600;display:flex;align-items:center;gap:10px}
.rv-nb .nb-kicker::before,.rv-nbstrip .nb-kicker::before{content:'';width:22px;height:1.5px;background:var(--nb-magenta);flex:0 0 auto}
.rv-nb .nb-titel,.rv-nbstrip .nb-titel{margin:0 0 10px;color:var(--nb-navy);font-size:25px;line-height:1.22;font-weight:600;letter-spacing:-.02em}
.rv-nb .nb-titel em,.rv-nbstrip .nb-titel em{font-family:'Fraunces','Playfair Display',Georgia,serif;font-style:italic;font-weight:400;color:var(--nb-magenta)}
.rv-nb p,.rv-nbstrip p{margin:0 0 16px}
.rv-nb input::placeholder,.rv-nbstrip input::placeholder{color:#9A97AB}
.rv-nb button,.rv-nbstrip button{background:var(--nb-magenta);color:#fff;border:0;border-radius:100px;padding:14px 30px;font-family:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:background .18s ease,transform .12s ease}
.rv-nb button:hover,.rv-nbstrip button:hover{background:var(--nb-magenta-dark)}
.rv-nb button:active,.rv-nbstrip button:active{transform:translateY(1px)}
.rv-nb button[disabled],.rv-nbstrip button[disabled]{opacity:.6;cursor:default}
.rv-nb .nb-privacy,.rv-nbstrip .nb-privacy{margin:16px 0 0;font-size:12.5px;line-height:1.6;color:#7D7A8C}
.rv-nb .nb-privacy a,.rv-nbstrip .nb-privacy a{color:var(--nb-magenta)}
.rv-nb .nb-privacy a:hover,.rv-nbstrip .nb-privacy a:hover{color:var(--nb-magenta-dark)}
.rv-nb .nb-nonce,.rv-nbstrip .nb-nonce{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rv-nb .nb-ok,.rv-nbstrip .nb-ok{display:none;border-radius:12px;padding:20px 22px}
.rv-nb .nb-ok{background:var(--nb-cream)}
.rv-nbstrip .nb-ok{background:#fff}
.rv-nb .nb-ok strong,.rv-nbstrip .nb-ok strong{display:block;color:var(--nb-navy);font-size:17px;margin-bottom:4px}
.rv-nb.is-done form,.rv-nbstrip.is-done form{display:none}
.rv-nb.is-done .nb-ok,.rv-nbstrip.is-done .nb-ok{display:block}
/* Kaart */
.rv-nb--card{background:var(--nb-cream);border:1px solid rgba(28,27,79,.08);border-top:4px solid var(--nb-magenta);border-radius:18px;padding:30px 32px;max-width:520px;margin:0 auto;box-shadow:0 24px 60px rgba(0,0,0,.28);position:relative;overflow:hidden}
.rv-nb--card>*,.rv-nbstrip>*{position:relative;z-index:1}
.rv-nb .nb-fields{display:flex;flex-direction:column;gap:10px}
.rv-nb input[type="email"],.rv-nb input[type="text"]{width:100%;border:1px solid var(--nb-line);border-radius:10px;padding:12px 15px;font-family:inherit;font-size:15px;color:var(--nb-navy);background:#fff}
.rv-nb input:focus{border-color:var(--nb-magenta);outline:3px solid rgba(229,25,127,.25);outline-offset:0}
.rv-nb button{margin-top:14px}
/* Strook onder nieuwsberichten */
.rv-nbstrip{background:var(--nb-cream);border-top:4px solid var(--nb-magenta);border-radius:18px;padding:34px 38px;box-shadow:0 24px 60px rgba(0,0,0,.28);position:relative;overflow:hidden}
.rv-nbstrip p{max-width:56ch}
.rv-nbstrip .nb-titel{margin-bottom:8px;font-size:24px}
.rv-nbstrip .nb-keuze{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.rv-nbstrip .nb-keuze label{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--nb-line);border-radius:100px;padding:9px 18px;font-size:14.5px;color:var(--nb-navy);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}
.rv-nbstrip .nb-keuze input{accent-color:var(--nb-magenta);margin:0}
.rv-nbstrip .nb-keuze label:has(input:checked){border-color:var(--nb-magenta);box-shadow:inset 0 0 0 1px var(--nb-magenta)}
.rv-nbstrip .nb-rij{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rv-nbstrip input[type="email"]{flex:1 1 260px;min-width:0;border:1px solid var(--nb-line);border-radius:100px;padding:13px 20px;font-family:inherit;font-size:15px;color:var(--nb-navy);background:#fff}
.rv-nbstrip input:focus{border-color:var(--nb-magenta);outline:3px solid rgba(229,25,127,.25)}
/* Variant met echte foto als achtergrond: zet de klasse rv-nb--foto op het blok
   en geef de afbeelding mee, bv. style="--nb-foto:url('assets/foto.jpg')" */
.rv-nb--foto::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,var(--nb-cream) 0%,var(--nb-cream) 46%,rgba(241,238,229,.72) 62%,rgba(241,238,229,0) 84%),var(--nb-foto,none) right center/cover no-repeat}
@media (max-width:720px){.rv-nb--foto::before{background:linear-gradient(180deg,var(--nb-cream) 0%,rgba(241,238,229,.9) 70%,rgba(241,238,229,.78) 100%),var(--nb-foto,none) center/cover no-repeat}}
@media (max-width:620px){.rv-nbstrip{padding:28px 24px}.rv-nb--card{padding:26px 24px}.rv-nbstrip .nb-rij button{width:100%}}
