/**
 * Public Website — Join Us page (Phase 11)
 * Scoped `.pub-join-*`.
 */

.pub-join-header { background: var(--nkst-color-surface-alt, #f0f2f5); padding: 1.75rem 1rem; text-align: center; }
.pub-join-header h1 { font-size: var(--nkst-font-xl, 22px); font-weight: 800; margin: 0 0 .5rem; color: var(--nkst-color-text, #1f2937); }
.pub-join-header p { font-size: var(--nkst-font-sm, 14px); color: var(--nkst-color-text-muted, #6b7280); margin: 0; max-width: 52ch; margin-inline: auto; }

.pub-join-section { max-width: 640px; margin: 0 auto; padding: 1.5rem 1rem; }
.pub-join-section + .pub-join-section { padding-top: 0; }
.pub-join-section-title { font-size: var(--nkst-font-lg, 19px); font-weight: 800; color: var(--nkst-color-text, #1f2937); margin: 0 0 .9rem; text-align: center; }

/* Section 2 — How to Join */
.pub-join-steps { display: flex; flex-direction: column; gap: .75rem; }
.pub-join-step { display: flex; gap: .85rem; align-items: flex-start; background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-md, 12px); padding: 1rem; }
.pub-join-step-num {
    width: 32px; height: 32px; border-radius: 50%; background: var(--nkst-color-primary, #1e3a8a); color: #fff;
    display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: var(--nkst-font-sm, 14px); flex-shrink: 0;
}
.pub-join-step-title { font-size: var(--nkst-font-sm, 14px); font-weight: 800; color: var(--nkst-color-text, #1f2937); margin: 0 0 .25rem; }
.pub-join-step-text { font-size: var(--nkst-font-xs, 13px); color: var(--nkst-color-text-muted, #6b7280); line-height: 1.5; margin: 0; }

/* Section 3 — Form */
.pub-join-form-card { background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-lg, 16px); padding: 1.25rem; }
.pub-join-fieldset { border: none; padding: 0; margin: 0 0 1.1rem; }
.pub-join-fieldset legend {
    font-size: var(--nkst-font-2xs, 12px); font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
    color: var(--nkst-color-text-muted, #6b7280); padding: 0 0 .5rem; width: 100%; border-bottom: 1px solid var(--nkst-color-border, #e5e7eb); margin-bottom: .75rem;
}
.pub-join-field { margin-bottom: 1rem; }
.pub-join-field:last-child { margin-bottom: 0; }
.pub-join-field label { display: block; font-size: var(--nkst-font-xs, 13px); font-weight: 700; color: var(--nkst-color-text, #1f2937); margin-bottom: .35rem; }
.pub-join-field input, .pub-join-field select, .pub-join-field textarea {
    width: 100%; padding: .75rem .9rem; border-radius: var(--nkst-radius-sm, 8px); border: 1px solid var(--nkst-color-border, #e5e7eb);
    font-size: 16px; font-family: inherit; box-sizing: border-box; min-height: 46px; background: #fff;
}
.pub-join-field textarea { min-height: 90px; resize: vertical; }
.pub-join-field input:focus, .pub-join-field select:focus, .pub-join-field textarea:focus { outline: 2px solid var(--nkst-color-primary, #1e3a8a); outline-offset: 1px; }
.pub-join-field-hint { font-size: var(--nkst-font-2xs, 12px); color: var(--nkst-color-text-muted, #6b7280); margin-top: .3rem; }

.pub-join-password-wrap { position: relative; }
.pub-join-password-wrap input { padding-right: 2.6rem; }
.pub-join-toggle {
    position: absolute; right: .5rem; top: 50%; transform: translateY(-50%);
    background: none; border: none; color: var(--nkst-color-text-muted, #6b7280); padding: .5rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}

.pub-join-alert { border-radius: var(--nkst-radius-md, 12px); padding: .9rem 1rem; font-size: var(--nkst-font-sm, 14px); margin-bottom: 1rem; }
.pub-join-alert-error ul { margin: 0; padding-left: 1.2rem; }
.pub-join-alert-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

.pub-join-submit { width: 100%; min-height: 48px; font-size: var(--nkst-font-sm, 14px); display: flex; align-items: center; justify-content: center; margin-top: .25rem; }

.pub-join-login-note { text-align: center; font-size: var(--nkst-font-sm, 14px); color: var(--nkst-color-text-muted, #6b7280); }
.pub-join-login-note a { color: var(--nkst-color-primary, #1e3a8a); font-weight: 700; text-decoration: none; }

/* Section 5 — What happens next */
.pub-join-next-card { background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-md, 12px); padding: 1.1rem; display: flex; gap: .75rem; align-items: flex-start; }
.pub-join-next-icon { width: 40px; height: 40px; border-radius: 50%; background: rgba(5,150,105,.1); color: #059669; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.05rem; }
.pub-join-next-text { font-size: var(--nkst-font-sm, 14px); color: var(--nkst-color-text, #1f2937); line-height: 1.6; margin: 0; }

/* Section 6 — Privacy */
.pub-join-privacy { font-size: var(--nkst-font-xs, 13px); color: var(--nkst-color-text-muted, #6b7280); line-height: 1.6; text-align: center; margin: 0; }
