
    #nl-popup-overlay {
      position: fixed; inset: 0; z-index: 10001;
      background: rgba(9,9,11,0.65);
      backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
      display: flex; align-items: center; justify-content: center;
      padding: 20px;
      opacity: 0; pointer-events: none;
      visibility: hidden; /* gesloten popup mag niet focusbaar/voorleesbaar zijn */
      transition: opacity 0.35s ease, visibility 0.35s;
    }
    #nl-popup-overlay.nl-visible {
      opacity: 1; pointer-events: all;
      visibility: visible;
    }
    #nl-popup {
      background: var(--color-bg);
      border-radius: var(--radius-lg);
      box-shadow: 0 24px 64px rgba(0,0,0,0.3);
      width: 100%; max-width: 480px;
      max-height: calc(100dvh - 40px);
      overflow-y: auto;
      transform: translateY(24px) scale(0.97);
      transition: transform 0.35s cubic-bezier(0.16,1,0.3,1);
      position: relative;
    }
    #nl-popup-overlay.nl-visible #nl-popup {
      transform: translateY(0) scale(1);
    }
    .nl-popup-header {
      background: var(--color-bg-dark);
      padding: 28px 28px 24px;
      position: relative;
    }
    .nl-popup-label {
      display: block; font-size: var(--text-xs); font-weight: 600;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--color-accent); margin-bottom: 10px;
    }
    .nl-popup-header h2 {
      font-size: var(--text-2xl); font-weight: 700;
      color: var(--color-text-inverse); line-height: 1.2;
      letter-spacing: -0.02em;
    }
    .nl-popup-header h2 em {
      font-family: var(--font-serif); font-style: italic; color: var(--color-accent);
    }
    .nl-popup-header p {
      font-size: var(--text-sm); color: var(--color-text-dim);
      line-height: 1.55; margin-top: 8px;
    }
    .nl-popup-close {
      position: absolute; top: 16px; right: 16px;
      background: rgba(255,255,255,0.08); border: none; cursor: pointer;
      width: 32px; height: 32px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.5); transition: background 0.15s, color 0.15s;
    }
    .nl-popup-close:hover { background: rgba(255,255,255,0.15); color: #fff; }
    .nl-popup-body { padding: 24px 28px 28px; }
    .nl-field { margin-bottom: 14px; }
    .nl-field label {
      display: block; font-size: var(--text-xs); font-weight: 600;
      color: var(--color-text); margin-bottom: 6px;
    }
    .nl-field label abbr { color: var(--color-accent); text-decoration: none; margin-left: 2px; }
    .nl-field input {
      width: 100%; padding: 11px 14px;
      font-family: var(--font-sans); font-size: var(--text-sm);
      border: 1px solid var(--color-border); border-radius: var(--radius-sm);
      background: var(--color-bg); color: var(--color-text);
      transition: border-color 0.15s, box-shadow 0.15s;
      outline: none;
    }
    .nl-field input:focus {
      border-color: var(--color-accent-hover); /* ≥3:1 op wit */
      box-shadow: 0 0 0 3px rgba(0,176,80,0.12);
    }
    .nl-field input.nl-error { border-color: #b91c1c; }
    .nl-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .nl-submit {
      width: 100%; padding: 13px;
      background: var(--color-accent); color: #09090b; /* near-black op groen, WCAG-contrast */
      border: none; border-radius: var(--radius-sm);
      font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 600;
      cursor: pointer; margin-top: 6px;
      transition: background 0.18s;
    }
    .nl-submit:hover { background: var(--color-accent-hover); }
    .nl-submit:disabled { opacity: 0.6; cursor: not-allowed; }
    .nl-privacy {
      font-size: 0.7rem; color: var(--color-text-muted);
      margin-top: 12px; line-height: 1.5; text-align: center;
    }
    .nl-privacy a { color: var(--color-accent-text); text-decoration: underline; }
    .nl-success {
      display: none; text-align: center;
      padding: 16px 0 8px;
    }
    .nl-success-icon {
      width: 48px; height: 48px; border-radius: 50%;
      background: rgba(0,176,80,0.12);
      border: 1px solid rgba(0,176,80,0.3);
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 14px;
    }
    .nl-success h3 {
      font-size: var(--text-lg); font-weight: 700;
      color: var(--color-text); margin-bottom: 6px;
    }
    .nl-success p { font-size: var(--text-sm); color: var(--color-text-muted); }
    .nl-error-msg {
      display: none; font-size: 0.8125rem; color: #b91c1c;
      margin-top: 10px; text-align: center;
    }
    @media (max-width: 480px) {
      .nl-field-row { grid-template-columns: 1fr; }
    }
  
#nl-popup-overlay{--color-bg:#fff;--color-bg-dark:#09090b;--radius-lg:12px;--radius-sm:6px;--text-xs:13px;--text-sm:16px;--text-lg:23px;--text-2xl:32px;--color-accent:#00b050;--color-accent-hover:#008d40;--color-accent-text:#00692b;--color-text:#09090b;--color-text-inverse:#fff;--color-text-dim:#d0d6d2;--color-text-muted:#56585a;--color-border:#cdd3cf;--font-sans:Inter,Arial,sans-serif;--font-serif:Inter,Arial,sans-serif}
.nl-popup-header h2{text-transform:none;max-width:340px}.nl-popup-header h2 em{font-style:normal}.nl-popup-close{width:44px;height:44px;top:8px;right:8px}.nl-popup-header{padding-right:48px}
.footer-bottom #cookie-settings{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;min-height:32px;cursor:pointer}
