/* Переписка с преподавателем под карточкой: узкая колонка по центру, а не на всю ширину. */
/* Кнопки «Записаться» ведут на #teacher-chat: без отступа блок уходит под закреплённую шапку. */
.teacher-chat-section, #teacher-chat { scroll-margin-top: 96px; }

/* Блок в рамке, как «Отзывы»: слева пояснение, справа сам чат. */
.teacher-chat-section.teacher-detail-main-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 40px;
    align-items: start;
}
.teacher-chat-intro h2 { margin: 0 0 12px; font-size: 2.2rem; line-height: 1.1; }
@media (max-width: 720px) { .teacher-chat-intro h2 { font-size: 1.7rem; } }
.teacher-chat-intro p { margin: 0 0 16px; }
.teacher-chat-points { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.teacher-chat-points li { position: relative; padding-left: 18px; font-size: 15px; line-height: 1.45; }
.teacher-chat-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 7px;
    height: 7px;
    background: var(--gold);
}
.teacher-detail-main-grid .teacher-chat-card {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--border) !important;
}
.teacher-detail-main-grid .teacher-chat-header { padding: 16px 20px !important; }
.teacher-detail-main-grid .teacher-chat-feed {
    min-height: 380px;
    max-height: 560px;
    padding: 16px 20px;
}
.teacher-detail-main-grid .teacher-chat-message { max-width: 80%; }
.teacher-detail-main-grid .teacher-chat-quick-wrap { padding: 14px 20px 0; }
.teacher-detail-main-grid .teacher-chat-quick-wrap[hidden] { display: none; }
.teacher-chat-quick-hint { margin: 0; color: var(--muted); font-size: 13px; }
.teacher-detail-main-grid .teacher-chat-quick { padding: 10px 0 4px; gap: 8px; }
.teacher-detail-main-grid .teacher-chat-preview { margin: 0 20px; }
.teacher-detail-main-grid .teacher-chat-form { padding: 12px 20px !important; }
/* кнопка стоит абсолютно от края формы — сдвигаем на величину отступа */
.teacher-detail-main-grid .teacher-chat-send { right: 26px !important; }
.teacher-detail-main-grid .teacher-chat-status { display: block; padding: 0 20px 12px; }
.teacher-detail-main-grid > .teacher-chat-card > .muted,
.teacher-detail-main-grid > .teacher-chat-card > .btn { margin-left: 20px; margin-right: 20px; }
.teacher-detail-main-grid > .teacher-chat-card > .btn { margin-bottom: 20px; }
@media (max-width: 900px) {
    .teacher-chat-section.teacher-detail-main-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
/* пустой чат: подпись по центру, а не прилипшая к верху */
.teacher-detail-main-grid .teacher-chat-feed > p.muted:only-child { margin: auto; text-align: center; }
@media (max-width: 720px) {
    .teacher-detail-main-grid .teacher-chat-feed { min-height: 300px; max-height: 460px; }
    .teacher-chat-section.teacher-detail-main-grid { padding: 20px 14px !important; }
    .teacher-detail-main-grid .teacher-chat-header { padding-left: 12px !important; padding-right: 12px !important; }
    .teacher-detail-main-grid .teacher-chat-feed { padding-left: 12px; padding-right: 12px; }
    .teacher-detail-main-grid .teacher-chat-form { padding-left: 12px !important; padding-right: 12px !important; }
    .teacher-detail-main-grid .teacher-chat-send { right: 18px !important; }
    .teacher-detail-main-grid .teacher-chat-quick-wrap { padding: 12px 12px 0; }
    .teacher-detail-main-grid .teacher-chat-preview { margin: 0 12px; }
    .teacher-detail-main-grid .teacher-chat-message { max-width: 88%; }
    .teacher-detail-main-grid .teacher-chat-quick button { flex: 1 1 100%; text-align: left; }
}

/* Аватар в шапке чата: лицо крупно, как в кружках переписки (фото — в рост или по пояс). */
.teacher-detail-main-grid .teacher-chat-avatar img { transform: scale(1.8); transform-origin: 50% 22%; }
.teacher-detail-main-grid .teacher-chat-avatar img[src*="/avatars/"] { transform: none; }
