/* Нейтральный стиль ФОРМ Ф2 (EXP-254; после EXP-262 P3-12 — только формы, не layout).
   Классы совпадают с макетами BezKordonivNew (login.html/signup.html/reset-password.html/
   client-profile.html/expert-profile.html). Глобальные правила (body/шрифт/фон, шапка, .main,
   .hidden, кнопки) теперь даёт дизайн-система (ExpertHub.Web/wwwroot/css/design-system.css,
   подключается ПЕРЕД этим файлом) — здесь оставлены только стили самих форм, чтобы /login,
   /signup, /profile оставались читаемыми до их per-page порта (P3-13+). */

.login-container,
.signup-container,
.reset-container,
.signup-container-success {
    max-width: 480px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    padding: 1.5rem;
}

.login-title,
.signup-title,
.reset-title,
.page-title {
    font-size: 1.5rem;
    margin: 0 0 1rem;
}

.form-row {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.form-row > .form-group {
    flex: 1 1 200px;
}

.form-group {
    margin-bottom: 0.9rem;
}

.form-input,
.form-select,
.biography-textarea,
textarea.form-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.95rem;
}

.form-undertext {
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
    color: #777;
}

.checkbox-container {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    margin-bottom: 0.75rem;
}

.form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.button-primary,
.button-secondary,
.button-clear {
    display: inline-block;
    padding: 0.55rem 1.1rem;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    font-size: 0.95rem;
    text-decoration: none;
}

.button-primary {
    background: #2f6fed;
    color: #fff;
}

.button-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.button-secondary {
    background: #fff;
    color: #2f6fed;
    border-color: #2f6fed;
}

.button-clear {
    background: none;
    border: none;
    color: #555;
}

.alert {
    padding: 0.6rem 0.9rem;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.alert-error {
    background: #fdecea;
    color: #b3261e;
}

.alert-warning {
    background: #fff4e5;
    color: #8a5a00;
}

.signup-tabs,
.tabs-inner {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.tab-button,
.tabs-item {
    padding: 0.5rem 1rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

.tab-button.active,
.tabs-item.active {
    background: #2f6fed;
    color: #fff;
    border-color: #2f6fed;
}

.expert-step-1,
.expert-step-2 {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    color: #777;
    font-size: 0.85rem;
}

.client-profile-content,
.expert-profile-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.client-profile-photo,
.expert-profile-photo {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.client-profile-avatar,
.expert-profile-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    background: #e2e2e2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #999;
}

.client-profile-photo-actions,
.expert-profile-photo-actions {
    display: flex;
    gap: 0.5rem;
}

.client-profile-buttons-save,
.expert-profile-buttons-save {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.expert-profile-prof-item {
    border-top: 1px solid #eee;
    padding-top: 0.75rem;
    margin-top: 0.75rem;
}

.expert-profile-prof-title {
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.expert-profile-prof-languages {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
