/* Vriendprofiel (--gn-* tokens) */
.gnp-profiel, .gnp-link-kwijt { max-width: var(--gn-col); margin-block: 1.5rem; }
.gnp-kaart, .gnp-link-kwijt { background: var(--gn-surface); color: var(--gn-text); border: 1px solid var(--gn-border); border-radius: var(--gn-radius); box-shadow: var(--gn-shadow); padding: 1.5rem; }
.gnp-kaart { margin-block: 1.5rem; }
.gnp-profiel .gnp-kaart__kop, .gnp-link-kwijt .gnp-link-kwijt__kop { margin: 0 0 .75rem; font-size: 1.2rem; }
.gnp-kaart > :last-child, .gnp-link-kwijt > :last-child { margin-bottom: 0; }
.gnp-profiel a.gn-btn--friend, .gnp-form .gn-btn--friend { color: var(--gn-cta-text); text-decoration: none; justify-self: start; }
.gnp-gegevens { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1.5rem; margin: 0 0 1rem; }
.gnp-gegevens dt { color: var(--gn-muted); }
.gnp-gegevens dd { margin: 0; font-weight: 600; }
.gnp-form { display: grid; gap: 1rem; }
.gnp-form--inline { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); align-items: end; }
.gnp-veld { display: grid; gap: .25rem; border: 0; margin: 0; padding: 0; }
.gnp-veld label, .gnp-veld legend { font-weight: 600; }
.gnp-veld--keuze label, .gnp-veld--vink label { display: flex; gap: .5rem; font-weight: 400; align-items: flex-start; }
.gnp-veld input[type="text"], .gnp-veld input[type="email"] { width: 100%; min-height: 44px; padding: .5rem .75rem; background: var(--gn-bg); color: var(--gn-text); border: 1px solid var(--gn-border); border-radius: var(--gn-radius-sm); }
.gnp-veld input:focus-visible, .gnp-form button:focus-visible { outline: 3px solid var(--gn-focus); outline-offset: 2px; }
.gnp-veld--honing { position: absolute; left: -9999px; }
.gnp-hint { margin: 0; font-size: .875rem; color: var(--gn-muted); }
.gnp-melding { margin: 0 0 1rem; padding: .75rem 1rem; background: var(--gn-surface-2); border-left: 4px solid var(--gn-link); border-radius: var(--gn-radius-sm); }
.gnp-melding--fout { border-left-color: #b3261e; }
.gnp-melding--wacht { border-left-color: var(--gn-accent); }
