/* =============================================================
   Nordraum Sanierung - Projekt-Assistent (Modal)
   Eigene Datei, nur dort eingebunden, wo der Assistent vorkommt.
   Nutzt dieselben Tokens wie site.css (Kohle/Kupfer/Kalkpapier).
   ============================================================= */
.pa-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(13,10,8,.72);
  display:flex;align-items:center;justify-content:center;
  padding:var(--s-4);
}
.pa-overlay[hidden]{display:none}
body.pa-lock{overflow:hidden}

.pa-dialog{
  position:relative;width:100%;max-width:34rem;max-height:min(88vh,44rem);
  overflow-y:auto;background:var(--coal-raised);color:var(--chalk-body);
  border:1px solid var(--coal-line);border-radius:var(--s-3);
  padding:clamp(1.75rem,1.3rem + 2vw,3rem);
}
.pa-close{
  position:absolute;top:var(--s-4);right:var(--s-4);
  width:2.75rem;height:2.75rem;display:grid;place-items:center;
  border:1px solid var(--coal-line);border-radius:999px;
  background:transparent;color:var(--chalk-quiet);font-size:1.125rem;line-height:1;
}
.pa-close:hover,.pa-close:focus-visible{border-color:var(--copper-warm);color:var(--copper-warm)}

.pa-progress{
  height:.25rem;background:var(--coal);border-radius:999px;overflow:hidden;
  margin-bottom:var(--s-6);
}
.pa-progress i{
  display:block;height:100%;background:var(--copper-warm);
  transition:width .3s var(--ease-out);
}

.pa-kicker{font-size:var(--t-xs);font-weight:800;letter-spacing:.08em;color:var(--copper-warm)}
.pa-titel{
  font-family:var(--ff-display);font-weight:400;font-size:var(--t-d3);
  line-height:1.1;letter-spacing:var(--ls-display);color:var(--chalk);
  margin:var(--s-2) 0 var(--s-4);
}
.pa-hinweis{color:var(--chalk-quiet);max-width:48ch;margin:0 0 var(--s-5)}

.pa-choices{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.pa-choice{
  padding:var(--s-3) var(--s-4);min-height:2.75rem;
  border:1px solid var(--coal-line);border-radius:999px;
  background:var(--coal);color:var(--chalk-body);font-weight:700;font-size:var(--t-sm);
  transition:border-color .2s var(--ease-out),color .2s var(--ease-out);
}
.pa-choice:hover,.pa-choice:focus-visible{border-color:var(--copper-warm);color:var(--copper-warm)}
.pa-choice.is-aktiv{background:var(--copper-cta);border-color:var(--copper-cta);color:#fff8ef}
.pa-choice.is-aktiv:hover{color:#fff8ef}
.pa-weiter-mehrfach{margin-top:var(--s-5)}
.pa-weiter-mehrfach[disabled]{opacity:.5;cursor:not-allowed}

.pa-form{display:grid;gap:var(--s-4);margin-top:var(--s-2)}
.pa-form label{font-size:var(--t-sm);font-weight:800;color:var(--copper-warm)}
.pa-form input[type=text],.pa-form input[type=tel],.pa-form input[type=email],.pa-form textarea{
  width:100%;border:1px solid var(--coal-line);background:var(--coal);
  color:var(--chalk);border-radius:var(--s-2);
  padding:var(--s-3) var(--s-4);font:600 1.0625rem var(--ff-text);
}
.pa-form textarea{resize:vertical;min-height:6rem}
.pa-form input::placeholder,.pa-form textarea::placeholder{color:var(--chalk-quiet);font-weight:500}
.pa-form input:focus-visible,.pa-form textarea:focus-visible{outline:3px solid var(--copper-warm);outline-offset:2px}

.pa-form input[type=file]{
  width:100%;color:var(--chalk-quiet);font-size:var(--t-sm);
  padding:var(--s-2) 0;
}
.pa-form input[type=file]::file-selector-button{
  border:1px solid var(--coal-line);border-radius:999px;background:var(--coal);
  color:var(--chalk);font-weight:700;font-size:var(--t-sm);
  padding:var(--s-2) var(--s-4);margin-right:var(--s-3);min-height:2.75rem;
}
.pa-form input[type=file]:focus-visible{outline:3px solid var(--copper-warm);outline-offset:2px}
.pa-bilder-liste{display:flex;flex-wrap:wrap;gap:var(--s-3)}
.pa-bilder-liste:empty{display:none}
.pa-bild{position:relative;display:block;width:3.5rem;height:3.5rem;flex:none}
.pa-bild img{width:100%;height:100%;object-fit:cover;border-radius:var(--s-2);border:1px solid var(--coal-line)}
.pa-bild__entfernen{
  position:absolute;top:-.5rem;right:-.5rem;width:1.5rem;height:1.5rem;
  border-radius:999px;background:var(--coal);border:1px solid var(--coal-line);
  color:var(--chalk);font-size:.625rem;line-height:1;display:grid;place-items:center;
}
.pa-bild__entfernen:hover,.pa-bild__entfernen:focus-visible{border-color:var(--copper-warm);color:var(--copper-warm)}
.pa-bilder-status{min-height:1.125rem;font-size:var(--t-xs);color:var(--chalk-quiet)}
.pa-form .btn{justify-self:start}

.pa-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}

.pa-consent{display:grid;grid-template-columns:auto 1fr;gap:var(--s-3);align-items:start;font-weight:600}
.pa-consent input{width:1.375rem;height:1.375rem;flex:none;margin-top:.1875rem;accent-color:var(--copper-cta)}
.pa-consent span{color:var(--chalk-body);font-size:var(--t-sm);line-height:1.5;font-weight:600}
.pa-consent a{color:var(--copper-warm);font-weight:800}

.pa-status{min-height:1.375rem;font-weight:800;color:var(--chalk-quiet);font-size:var(--t-sm)}
.pa-status--fehler{color:#ff9d7a}

.pa-antwort{
  background:var(--coal);border:1px solid var(--coal-line);border-radius:var(--s-2);
  padding:var(--s-4) var(--s-5);margin-bottom:var(--s-5);
}
.pa-antwort__label{font-size:var(--t-xs);font-weight:800;letter-spacing:.02em;color:var(--copper-warm)}
.pa-antwort p{color:var(--chalk);margin:var(--s-2) 0 0}

.pa-zusammenfassung{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-5);color:var(--chalk-quiet);font-size:var(--t-sm)}

@media (prefers-reduced-motion:reduce){
  .pa-progress i{transition:none}
}
