.content-comments { margin-block: 3rem; padding-block-start: 2rem; border-block-start: 1px solid #dce5df; }
.content-comments__heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.content-comments__heading h2 { margin: 0 0 .3rem; font-size: 1.5rem; }
.content-comments__heading p, .content-comments__policy { color: #5e716b; font-size: .85rem; line-height: 1.9; }
.content-comments__policy { margin-block: 1rem; padding: .65rem .9rem; border-radius: 10px; background: #edf5f1; }
.comments-button { border: 1px solid #ceded7; border-radius: 9px; min-height: 40px; padding: .45rem .8rem; font: inherit; font-size: .8rem; color: #226358; background: #fff; cursor: pointer; }
.comments-button:hover:not(:disabled) { background: #e5f3ed; border-color: #019893; }
.comments-button--primary { color: #fff; background: #007f79; border-color: #007f79; }
.comments-button--primary:hover:not(:disabled) { background: #00645f; color: #fff; }
.content-comments button:focus-visible, .content-comments :is(input,textarea):focus-visible { outline: 3px solid #019893; outline-offset: 3px; }
.content-comments button:disabled { opacity: .5; cursor: default; }
.comment-form { margin-block: 1rem 1.5rem; padding: 1.1rem; border: 1px solid #dbe6df; border-radius: 16px; background: #fff; }
.comment-form fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.comment-form__field { margin-block-end: .85rem; }
.comment-form label { display: block; margin-block-end: .4rem; font-size: .84rem; font-weight: 700; }
.comment-form :is(input,textarea) { width: 100%; max-width: 100%; padding: .7rem; border: 1px solid #cbd9d2; border-radius: 9px; background: #fbfcfb; color: #193e36; font: inherit; font-size: .9rem; line-height: 1.9; }
.comment-form textarea { resize: vertical; min-height: 110px; }
.comment-form :is(input,textarea)[aria-invalid="true"] { border-color: #bd2356; outline-color: #bd2356; }
.comment-form__reply { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; margin-block-end: .85rem; padding: .65rem; border-inline-start: 3px solid #019893; color: #226358; background: #eff8f4; font-size: .85rem; overflow-wrap: anywhere; }
.content-comments__feedback { min-height: 1.6em; font-size: .85rem; color: #35675a; line-height: 1.9; }
.content-comments__feedback[data-error="true"] { color: #a2224d; }
.comment-card { margin-block: .75rem; padding: 1rem; border: 1px solid #dce6df; border-radius: 14px; background: #fff; overflow-wrap: anywhere; }
.comment-card__header { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .8rem; }
.comment-card__author { font-size: .95rem; color: #163f35; }
.comment-card time { margin-inline-start: auto; color: #72857b; font-size: .72rem; }
.comment-card__parent { display: block; margin-block: .5rem; color: #4b8274; font-size: .75rem; text-decoration: none; }
.comment-card__body { white-space: pre-wrap; font-size: .95rem; line-height: 2; margin-block: .8rem; }
.comment-card__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.comment-card__vote { display: inline-flex; align-items: center; gap: .35rem; }
.comment-card__vote svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.comment-card__vote--dislike svg { transform: rotate(180deg); }
.comment-card__vote[aria-pressed="true"] { background: #e0f2ec; border-color: #019893; color: #00685e; }
.comment-card__vote--dislike[aria-pressed="true"] { color: #a2224d; border-color: #bd2356; background: #fff0f5; }
.comment-card__vote bdi { font-variant-numeric: tabular-nums; }
.comment-card--depth-1, .comment-form--depth-1, .comments-more--depth-1 { margin-inline-start: 1.2rem; }
.comment-card--depth-2, .comment-form--depth-2, .comments-more--depth-2 { margin-inline-start: 2.4rem; }
.comment-card--depth-3, .comment-form--depth-3, .comments-more--depth-3 { margin-inline-start: 3.6rem; }
.comment-card:not(.comment-card--depth-0) { border-inline-start: 3px solid #d0e6dc; }
.comments-more { margin-block: .5rem 1rem; }
.content-comments [hidden] { display: none !important; }
@media (max-width: 540px) {
    .comment-card, .comment-form { padding: .8rem; }
    .comment-card--depth-1, .comment-form--depth-1, .comments-more--depth-1 { margin-inline-start: .6rem; }
    .comment-card--depth-2, .comment-form--depth-2, .comments-more--depth-2 { margin-inline-start: 1.2rem; }
    .comment-card--depth-3, .comment-form--depth-3, .comments-more--depth-3 { margin-inline-start: 1.8rem; }
    .comment-card time { width: 100%; margin-inline-start: 0; }
}
