.psn-form,.psn-form *{box-sizing:border-box}

.psn-form-section{font-size:18px;margin:0 0 12px 0}

.psn-form-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width: 820px){.psn-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.psn-field{display:flex;flex-direction:column;gap:6px}
.psn-field-label{font-weight:700;color:var(--psms-text);font-size:13px}
.psn-required{color:var(--psms-muted);margin-left:6px;font-weight:800}

.psn-input{appearance:none;width:100%;border:1px solid var(--psms-border);border-radius:10px;padding:10px 12px;background:var(--psms-card);color:var(--psms-text);font-size:14px;line-height:1.3}
.psn-input:focus{outline:2px solid var(--psms-border);outline-offset:2px}

.psn-field-error{border-color:#b91c1c}
.psn-inline-error{color:#b91c1c;font-size:12px;line-height:1.2;min-height:0}

.psn-form-errors{margin:10px 0 0 18px;color:var(--psms-text)}

.psn-family{border-top:1px solid var(--psms-border);margin-top:14px;padding-top:14px}
.psn-family-title{margin:0 0 10px 0;font-size:15px}
.psn-family-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.psn-family-row{border:1px solid var(--psms-border);border-radius:12px;padding:12px;background:var(--psms-bg)}
.psn-remove-family{appearance:none;border:1px solid var(--psms-border);background:transparent;border-radius:10px;padding:8px 12px;margin-top:10px;cursor:pointer;font-weight:700;color:var(--psms-text)}

/* Address copy toggles (UI-only; do not submit/store checkbox state) */
#psn-membership-form .psn-address-copy{grid-column:1/-1}
#psn-membership-form .psn-address-copy-label{display:flex;align-items:center;gap:8px;font-weight:700}
