/* forms.css — see docs/PLAN.md for the owner. Tokens only: var(--…) from styles.css, no new colours or fonts. */

/* ---------- kontakt: offices row in .dl-contact ---------- */
.offices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.offices span{display:block;font-size:var(--fs-body);color:var(--text-muted)}

/* ---------- kontakt: form states ---------- */
/* No-JS errors: skicka.php redirects to /kontakt/?fel=<code>#fel-<code>; :target shows the matching one. */
.formerr{display:none;margin:0;padding:12px 14px;border-radius:var(--radius-button);background:var(--no-bg);color:var(--no-fg);font-size:var(--fs-body);line-height:var(--leading-body);scroll-margin-top:120px}
.formerr:target:not([hidden]){display:block}
.formerr:focus{outline:none}
.formnote[data-state="ok"]{color:var(--ok-fg)}
.formnote[data-state="err"]{color:var(--no-fg)}
/* Honeypot: off-screen for people and screen readers, still in the DOM for bots. */
.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.formlegal{margin:16px 0 0;font-size:var(--fs-small);line-height:var(--leading-body);color:var(--text-faint)}

/* ---------- integritetspolicy: readable prose column ---------- */
.policy{max-width:68ch;overflow-wrap:break-word}
.policy__meta{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}
.policy h2{font-size:var(--fs-h2);margin:var(--space-5) 0 var(--space-2)}
.policy h3{font-size:var(--fs-h3);margin:var(--space-4) 0 var(--space-1)}
.policy p,.policy li{font-size:17px;line-height:var(--leading-body);color:var(--text-muted)}
.policy p{margin:0 0 var(--space-2)}
.policy ul{margin:0 0 var(--space-2);padding-left:1.25em}
.policy li{margin-bottom:10px}
.policy li::marker{color:var(--forest)}
.policy strong{font-weight:var(--weight-semibold);color:var(--text-body)}
