/* AcadStore — commentaires sociaux */
.acad-comments-section { --acad-c-radius: 1rem; }
.acad-comment-card {
    border-radius: var(--acad-c-radius);
    border: 1px solid #e2e8f0;
    background: #fff;
    padding: 1rem 1.1rem;
    transition: box-shadow .2s ease, border-color .2s;
    animation: acadCommentIn .35s ease;
}
.acad-comment-card:hover { border-color: #99f6e4; box-shadow: 0 4px 14px rgba(13,148,136,.08); }
.acad-comment-card.is-reply { margin-left: 2.25rem; border-left: 3px solid #14b8a6; background: #f8fffe; }
.acad-comment-avatar {
    width: 2.5rem; height: 2.5rem; border-radius: 9999px;
    object-fit: cover; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg,#0d9488,#0f766e); color: #fff;
    font-weight: 700; font-size: .95rem;
}
.acad-comment-role {
    font-size: .65rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .04em; padding: .15rem .45rem; border-radius: 9999px;
}
.acad-comment-body { white-space: pre-wrap; word-break: break-word; line-height: 1.55; }
.acad-comment-body a { color: #0d9488; text-decoration: underline; }
.acad-comment-body .mention { color: #0f766e; font-weight: 600; background: #f0fdfa; padding: 0 .15rem; border-radius: .25rem; }
.acad-comment-actions button {
    font-size: .75rem; font-weight: 600; padding: .2rem .5rem;
    border-radius: .5rem; transition: background .15s, color .15s;
}
.acad-comment-actions button:hover { background: #f1f5f9; }
.acad-comment-like.active { color: #e11d48 !important; }
.acad-comment-like.active i { font-weight: 900; }
.acad-mention-dropdown {
    position: absolute; z-index: 50; left: 0; right: 0; top: 100%;
    margin-top: .25rem; background: #fff; border: 1px solid #e2e8f0;
    border-radius: .75rem; box-shadow: 0 10px 25px rgba(15,23,42,.12);
    max-height: 12rem; overflow-y: auto;
}
.acad-mention-item {
    display: flex; align-items: center; gap: .5rem; width: 100%;
    padding: .5rem .75rem; text-align: left; font-size: .8rem;
    border: none; background: transparent; cursor: pointer;
}
.acad-mention-item:hover, .acad-mention-item.active { background: #f0fdfa; }
.acad-comment-menu {
    position: absolute; right: 0; top: 100%; z-index: 40;
    min-width: 10rem; background: #fff; border: 1px solid #e2e8f0;
    border-radius: .75rem; box-shadow: 0 8px 20px rgba(15,23,42,.1);
    padding: .35rem; display: none;
}
.acad-comment-menu.open { display: block; animation: acadCommentIn .2s ease; }
.acad-comment-menu button {
    display: block; width: 100%; text-align: left; padding: .45rem .65rem;
    font-size: .78rem; border-radius: .5rem; border: none; background: transparent;
}
.acad-comment-menu button:hover { background: #f8fafc; }
.acad-report-modal {
    position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center;
    background: rgba(15,23,42,.45); padding: 1rem;
}
.acad-report-modal.hidden { display: none; }
.acad-report-card {
    background: #fff; border-radius: 1rem; padding: 1.5rem; max-width: 24rem; width: 100%;
    box-shadow: 0 20px 40px rgba(15,23,42,.2);
}
@keyframes acadCommentIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
