/* Профиль: общий контейнер */
.profile {
    margin: 0 auto;
    max-width: 480px;
    text-align: center;
    padding: 1.5rem;
    background-color: var(--paper-panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}

/* Заголовок профиля */
.profile-header {
    font-size: 1.6rem;
    color: var(--ink);
    text-align: center;
    border-bottom: 2px solid var(--accent);
    padding-bottom: .6rem;
    margin-bottom: 1.25rem;
}

/* Имя пользователя */
.username {
    display: block;
    font-size: 1.3rem;
    font-weight: bold;
    color: var(--ink);
    text-align: center;
    margin: .5rem 0;
}

/* Роль пользователя */
.user-role {
    display: inline-block;
    font-size: .9rem;
    font-weight: bold;
    color: #fff;
    background-color: var(--gold-dark);
    padding: .3rem .9rem;
    border-radius: 10px;
    text-align: center;
    margin: .5rem auto;
}

/* Email */
.email { font-size: 1.05rem; color: var(--ink-soft); }

/* Кнопка */
.btn {
    display: inline-block;
    font-size: 1rem;
    text-decoration: none;
    padding: .5rem 1rem;
    color: var(--ink);
    background-color: var(--paper);
    border: 1px solid var(--line);
    border-radius: 5px;
    transition: background-color .2s ease, color .2s ease;
}

.btn:hover { background-color: var(--accent-soft); color: var(--ink); }

/* Фото редактора или администратора: круг одного размера у всех, какие бы пропорции ни были у файла.
   object-fit: cover обрезает лишнее; фокус чуть выше центра, потому что лицо обычно в верхней части кадра. */
.profile-photo {
    display: block;
    width: 180px;
    height: 180px;
    object-fit: cover;
    object-position: 50% 25%;
    margin: 0 auto 1rem;
    border: 3px solid var(--line);
    border-radius: 50%;
    box-shadow: var(--shadow);
}

/* Предпросмотр в форме редактирования — тоже круг (виджет PhotoInput общий со служителями, там он прямоугольный) */
.profile-form .photo-input__preview img {
    width: 120px;
    height: 120px;
    object-position: 50% 25%;
    border-radius: 50%;
}

/* Имя и фамилия одной строкой */
.full-name { display: block; font-size: 1.15rem; color: var(--ink); text-align: center; margin-top: .25rem; }

/* «На сайте с …» */
.joined { font-size: .9rem; color: var(--ink-soft); margin: .25rem 0 0; }

/* «О себе»: текст читается слева направо, даже когда карточка выровнена по центру */
.about { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); text-align: left; }
.about-title { font-size: 1.1rem; margin: 0 0 .5rem; }
.about-text { margin: 0; overflow-wrap: anywhere; }
.about-empty { margin: 0; color: var(--ink-soft); font-style: italic; }

/* Статус email */
.email-status { margin: .5rem 0; }
.email-status--ok { color: var(--success); }
.email-status--warn { color: var(--gold-dark); }
.inline-form { display: inline; }

.profile-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1rem; }
.profile-section .profile-actions { justify-content: flex-start; }
.profile-section { margin-top: 2rem; }

/* Права редактирования */
.edit-rights { font-size: .95rem; color: var(--accent); margin-top: 1rem; }
