/* Petitie Nieuwstraat: verkeersbord-taal (F19-blauw, C1-rood). Alles valt onder .pnw zodat het thema niet stoort.
   Geen externe lettertypes (geen Google Fonts) om GDPR-problemen te vermijden. */
.pnw{
  --pnw-sign:#1450a8; --pnw-stop:#c8102e; --pnw-ink:#14213a; --pnw-muted:#55627a;
  --pnw-paper:#f5f7fb; --pnw-card:#ffffff; --pnw-line:#d6dceb; --pnw-ok:#1d7a4a;
  --pnw-display:"Barlow Condensed","Roboto Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --pnw-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  max-width:46rem; margin:0 auto; color:var(--pnw-ink); font:400 17px/1.6 var(--pnw-body); text-align:left;
}
.pnw *, .pnw *::before, .pnw *::after{box-sizing:border-box}
.pnw p{margin:0 0 1em}
.pnw :focus-visible{outline:3px solid var(--pnw-sign); outline-offset:2px}

.pnw .pnw-top{display:flex; justify-content:space-between; gap:12px; font:700 15px/1 var(--pnw-display); letter-spacing:.06em; text-transform:uppercase; color:var(--pnw-muted)}
.pnw .pnw-hero{display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; padding:32px 0 24px}
.pnw .pnw-sign{width:112px; height:112px; border-radius:12px; background:var(--pnw-sign); display:grid; place-items:center; box-shadow:0 0 0 4px #fff,0 0 0 7px var(--pnw-sign)}
.pnw .pnw-sign svg{width:72px; height:72px; transform:rotate(-90deg); animation:pnw-flip 4.5s ease-in-out infinite}
@keyframes pnw-flip{0%,35%{transform:rotate(-90deg)}50%,85%{transform:rotate(90deg)}100%{transform:rotate(270deg)}}
@media (prefers-reduced-motion: reduce){.pnw .pnw-sign svg{animation:none; transform:rotate(90deg)}}

.pnw .pnw-h1{font:800 clamp(2.3rem,7vw,3.5rem)/1 var(--pnw-display); margin:0; padding:0; color:var(--pnw-ink); text-transform:none; letter-spacing:0; text-wrap:balance; border:0}
.pnw .pnw-h1 em{font-style:normal; color:var(--pnw-sign)}
.pnw .pnw-lead{font-size:1.18em; line-height:1.5; margin:0 0 28px}
.pnw .pnw-lead p:last-child, .pnw .pnw-ask p:last-child, .pnw .pnw-foot p:last-child, .pnw .pnw-reasons p:last-child{margin-bottom:0}
.pnw .pnw-foot p{margin:0 0 8px}

.pnw .pnw-tally{display:grid; gap:10px; padding:20px 0 24px; border-top:2px solid var(--pnw-ink); border-bottom:1px solid var(--pnw-line)}
.pnw .pnw-tally-row{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap}
.pnw .pnw-count{font:800 2.6rem/1 var(--pnw-display); font-variant-numeric:tabular-nums}
.pnw .pnw-count small{font:600 1rem/1 var(--pnw-body); color:var(--pnw-muted); margin-left:6px}
.pnw .pnw-goal{color:var(--pnw-muted); font-size:.95em}
.pnw .pnw-bar{height:12px; border-radius:6px; background:var(--pnw-line); overflow:hidden}
.pnw .pnw-bar span{display:block; height:100%; background:var(--pnw-sign); border-radius:6px; transition:width .6s ease}
.pnw .pnw-note{font-size:.88em; color:var(--pnw-muted); margin:0}

.pnw .pnw-section{padding:32px 0 4px}
.pnw .pnw-h2{font:700 1.9rem/1.1 var(--pnw-display); margin:0 0 16px; padding:0; color:var(--pnw-ink); text-transform:none; letter-spacing:0; border:0}
.pnw .pnw-reasons{list-style:none; margin:0; padding:0; display:grid; gap:18px}
.pnw .pnw-reasons li{display:grid; grid-template-columns:2.2rem 1fr; gap:14px; margin:0; padding:0}
.pnw .pnw-reasons li::before{content:none}
.pnw .pnw-n{font:800 1.5rem/1.2 var(--pnw-display); color:var(--pnw-sign)}
.pnw .pnw-reasons b{display:block}
.pnw .pnw-reasons p{margin:2px 0 0; color:var(--pnw-muted)}
.pnw .pnw-ask{margin:0; padding:18px 20px; border-left:6px solid var(--pnw-stop); background:var(--pnw-paper); border-radius:0 8px 8px 0; font-size:1.06em}

.pnw .pnw-card{background:var(--pnw-card); border:1px solid var(--pnw-line); border-radius:14px; padding:26px; box-shadow:0 10px 30px -18px rgba(20,33,58,.35)}
.pnw .pnw-form{display:grid; gap:16px; margin:0}
.pnw .pnw-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.pnw label{display:block; font-weight:600; font-size:.95em; margin:0 0 6px; color:var(--pnw-ink)}
.pnw .pnw-opt{font-weight:400; color:var(--pnw-muted)}
.pnw input[type=text], .pnw input[type=email], .pnw textarea{
  width:100%; max-width:none; margin:0; font:inherit; color:var(--pnw-ink); background:var(--pnw-paper);
  border:1.5px solid var(--pnw-line); border-radius:8px; padding:11px 12px; box-shadow:none; height:auto; line-height:1.4
}
.pnw input[type=text]:focus, .pnw input[type=email]:focus, .pnw textarea:focus{border-color:var(--pnw-sign); outline:none; box-shadow:0 0 0 3px rgba(20,80,168,.22)}
.pnw textarea{min-height:84px; resize:vertical}
.pnw fieldset{border:0; margin:0; padding:0; min-width:0}
.pnw legend{font-weight:600; font-size:.95em; margin:0 0 8px; padding:0; color:var(--pnw-ink)}
.pnw .pnw-choices{display:flex; flex-wrap:wrap; gap:8px}
.pnw .pnw-choices input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none}
.pnw .pnw-choices label{margin:0; padding:9px 14px; border:1.5px solid var(--pnw-line); border-radius:999px; cursor:pointer; background:var(--pnw-paper)}
.pnw .pnw-choices input:checked + label{background:var(--pnw-sign); border-color:var(--pnw-sign); color:#fff}
.pnw .pnw-choices input:focus-visible + label{outline:3px solid var(--pnw-sign); outline-offset:2px}
.pnw .pnw-check{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; font-size:.95em}
.pnw .pnw-check input{width:18px; height:18px; margin:3px 0 0; accent-color:var(--pnw-sign)}
.pnw .pnw-check label{font-weight:400; margin:0}
.pnw .pnw-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}

.pnw .pnw-btn{font:700 1.2rem/1 var(--pnw-display); letter-spacing:.04em; text-transform:uppercase; color:#fff; background:var(--pnw-sign); border:0; border-radius:10px; padding:16px 22px; cursor:pointer; justify-self:start; width:auto; box-shadow:none; text-shadow:none}
.pnw .pnw-btn:hover{filter:brightness(1.08); background:var(--pnw-sign); color:#fff}
.pnw .pnw-btn[disabled]{opacity:.55; cursor:default}
.pnw .pnw-msg, .pnw .pnw-share-msg{margin:0; font-size:.95em; min-height:1.2em}
.pnw .pnw-msg.is-err{color:var(--pnw-stop)}
.pnw .pnw-thanks{display:none; gap:10px}
.pnw .pnw-thanks h4{font:800 2rem/1 var(--pnw-display); margin:0; color:var(--pnw-ok)}
.pnw .pnw-thanks p{margin:0}
.pnw .is-signed .pnw-thanks{display:grid}
.pnw .is-signed .pnw-form{display:none}

.pnw .pnw-list{list-style:none; margin:0; padding:0}
.pnw .pnw-list li{display:flex; justify-content:space-between; gap:12px; padding:12px 0; margin:0; border-bottom:1px solid var(--pnw-line); flex-wrap:wrap}
.pnw .pnw-list li::before{content:none}
.pnw .pnw-who{font-weight:600}
.pnw .pnw-meta{color:var(--pnw-muted); font-size:.9em}
.pnw .pnw-why{flex-basis:100%; margin:2px 0 0; color:var(--pnw-muted); font-style:italic; font-size:.95em}
.pnw .pnw-empty{color:var(--pnw-muted)}
.pnw .pnw-foot{padding:32px 0 8px; color:var(--pnw-muted); font-size:.88em}

@media (max-width:520px){
  .pnw .pnw-hero{grid-template-columns:1fr; gap:20px}
  .pnw .pnw-sign{width:84px; height:84px}
  .pnw .pnw-sign svg{width:54px; height:54px}
  .pnw .pnw-row{grid-template-columns:1fr}
  .pnw .pnw-card{padding:20px}
  .pnw .pnw-btn{justify-self:stretch}
}

.pnw .pnw-hint{margin:6px 0 0; font-size:.85em; color:var(--pnw-muted)}
.pnw .pnw-check a{color:var(--pnw-sign)}
.pnw .pnw-closed{font-size:1.05em}
.pnw .pnw-closed p:last-child{margin:0}
.pnw .pnw-foot a{color:inherit}
.pnw-privacy{max-width:46rem}
.pnw-privacy mark{background:#fff3b0; padding:0 4px}

.pnw .pnw-paper{padding:20px 22px; border:1.5px dashed var(--pnw-line); border-radius:12px}
.pnw .pnw-paper p{margin:0 0 12px}
.pnw .pnw-paper p:last-child{margin:0}
.pnw a.pnw-btn{display:inline-block; text-decoration:none}
.pnw a.pnw-btn-alt{background:transparent; color:var(--pnw-sign); border:2px solid var(--pnw-sign); padding:14px 20px}
.pnw a.pnw-btn-alt:hover{background:var(--pnw-sign); color:#fff; filter:none}
