/* =========================================================
 *  COMMENT CARD — M.E.R.Y.O.S.A.B / TV Repair
 *  Версия 2.0 — лёгкие стили карточки отзыва вне основного
 *  блока (фолбэк-уровень). Основной блок стилизует файл
 *  comments-page-v2.0.0.css (у него выше специфичность).
 *  Дизайн-токены сайта (--tvr-*), без ::before / ::after.
 * ======================================================= */

.msb-comment-card {
    --msb-cc-surface:      var(--tvr-surface, #101b2e);
    --msb-cc-surface-2:    var(--tvr-surface-2, #16243a);
    --msb-cc-line:         var(--tvr-line, rgba(255, 255, 255, .09));
    --msb-cc-line-strong:  var(--tvr-line-strong, rgba(255, 255, 255, .16));
    --msb-cc-text:         var(--tvr-text, #f3f6fa);
    --msb-cc-muted:        var(--tvr-muted, #a8b5c7);
    --msb-cc-dim:          var(--tvr-dim, #74849a);
    --msb-cc-accent:       var(--tvr-accent, #28cfcc);
    --msb-cc-font:         var(--tvr-font, Inter, "Segoe UI", Roboto, Arial, Helvetica, sans-serif);
    --msb-cc-ease:         var(--tvr-ease, 180ms cubic-bezier(.4, 0, .2, 1));
    --msb-cc-star:         #fbbf24;
    --msb-cc-shadow:       0 22px 62px rgba(0, 0, 0, .24);

    position: relative;
    box-sizing: border-box;
    padding: 18px 20px;
    background: var(--msb-cc-surface-2);
    border: 1px solid var(--msb-cc-line);
    border-radius: 18px;
    box-shadow: var(--msb-cc-shadow);
    color: var(--msb-cc-text);
    font-family: var(--msb-cc-font);
    font-size: 14px;
    line-height: 1.6;
    transition: transform var(--msb-cc-ease),
                box-shadow var(--msb-cc-ease),
                border-color var(--msb-cc-ease);
}

:root[data-tvr-theme="light"] .msb-comment-card,
html[data-tvr-theme="light"] .msb-comment-card,
body[data-tvr-theme="light"] .msb-comment-card {
    --msb-cc-star:   #d98a06;
    --msb-cc-shadow: 0 18px 54px rgba(20, 39, 58, .08);
}

.msb-comment-card * {
    box-sizing: border-box;
    min-width: 0;
}

.msb-comment-card a {
    color: var(--msb-cc-accent);
    text-decoration: none;
    transition: color var(--msb-cc-ease);
}

.msb-comment-card a:hover {
    filter: brightness(1.08);
}

.msb-comment-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--msb-cc-accent) 45%, var(--msb-cc-line));
    box-shadow: var(--msb-cc-shadow);
}

/* ---------- шапка карточки ---------- */

.msb-comment-card .msb-comment-header,
.msb-comment-card .msb-comment-card-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.msb-comment-card .msb-comment-avatar {
    flex: 0 0 auto;
}

.msb-comment-card .msb-comment-avatar img,
.msb-comment-card .msb-comment-avatar .avatar {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--msb-cc-line-strong);
    transition: border-color var(--msb-cc-ease), transform var(--msb-cc-ease);
}

.msb-comment-card:hover .msb-comment-avatar img,
.msb-comment-card:hover .msb-comment-avatar .avatar {
    border-color: color-mix(in srgb, var(--msb-cc-accent) 45%, var(--msb-cc-line-strong));
    transform: scale(1.04);
}

.msb-comment-card .msb-comment-author-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.msb-comment-card .msb-comment-author-name {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--msb-cc-text);
    overflow-wrap: anywhere;
}

.msb-comment-card .msb-comment-subline,
.msb-comment-card .msb-comment-meta-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--msb-cc-muted);
}

.msb-comment-card .msb-dot {
    color: var(--msb-cc-dim);
}

.msb-comment-card .msb-comment-sub-rating .msb-stars,
.msb-comment-card .msb-stars {
    color: var(--msb-cc-star);
    font-size: 1rem;
    letter-spacing: 2px;
    line-height: 1;
    white-space: nowrap;
}

.msb-comment-card .msb-comment-time {
    color: var(--msb-cc-muted);
}

/* ---------- текст ---------- */

.msb-comment-card .msb-comment-content {
    font-size: 14px;
    line-height: 1.65;
    color: var(--msb-cc-text);
    overflow-wrap: anywhere;
}

.msb-comment-card .msb-comment-content p {
    margin: 0 0 10px;
}

.msb-comment-card .msb-comment-content p:last-child {
    margin-bottom: 0;
}

/* ---------- reduced-motion ---------- */

@media (prefers-reduced-motion: reduce) {
    .msb-comment-card,
    .msb-comment-card * {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
