
.comments-wrapper{
    max-width:46rem;
    margin-top:var(--space-8);
    scroll-margin-top:110px;
}
.comment-user-bar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.5rem;
    font-size:.85rem;
    color:var(--muted);
    margin-bottom:1rem;
}
.comment-user-bar strong{
    color:var(--text);
    font-weight:700;
}
.comment-user-bar a{
    color:var(--accent);
    text-decoration:none;
    font-weight:700;
}
.comment-user-bar a:hover{
    text-decoration:underline;
}
.comment-user-bar .dot{
    opacity:.5;
}
.comments-header{
    margin-bottom:1rem;
}
.comments-list{
    display:flex;
    flex-direction:column;
    gap:1rem;
}
ul.comment-list{
    list-style:none;
    margin:0;
    padding:0;
}
.comment-list .children{
    margin:.85rem 0 0;
    padding-left:1.25rem;
    border-left:2px solid color-mix(in srgb,var(--accent) 18%,var(--border));
}
.comment-item{
    display:block;
}
.comment-item+.comment-item{
    margin-top:1rem;
}
.comment-inner{
    display:grid;
    grid-template-columns:3rem minmax(0,1fr);
    gap:.9rem;
    padding:1rem;
    border:1px solid var(--border);
    border-radius:1rem;
    background:var(--bg);
}
.comment-avatar{
    width:3rem;
    height:3rem;
    min-width:3rem;
    border-radius:50%;
    overflow:hidden;
    background:color-mix(in srgb,var(--text) 7%,#fff);
}
.comment-avatar img{
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    display:block;
}
.comment-body{
    min-width:0;
}
.comment-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.45rem;
    font-size:.82rem;
    margin-bottom:.35rem;
}
.comment-author{
    font-weight:800;
    color:var(--text);
}
.comment-time{
    color:var(--muted);
    font-size:.78rem;
}
.comment-text{
    font-size:.95rem;
    line-height:1.6;
    color:var(--text);
}
.comment-text p:last-child{
    margin-bottom:0;
}
.comment-actions{
    display:flex;
    align-items:center;
    gap:.7rem;
    width:100%;
    margin-top:.75rem;
}
.reply-btn{
    flex-shrink:0;
}
.comment-reactions{
    margin-left:auto;
    display:flex;
    gap:.4rem;
}
.comment-reaction{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .7rem;
    border-radius:999px;
    background:var(--surface-soft);
    border:1px solid transparent;
    font-size:.75rem;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
}
.comment-reaction svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}
.comment-reaction.like:hover,.comment-reaction.active.like{
    background:color-mix(in srgb,#22c55e 12%,transparent);
    border-color:color-mix(in srgb,#22c55e 28%,transparent);
    color:#22c55e;
}
.comment-reaction.dislike:hover,.comment-reaction.active.dislike{
    background:color-mix(in srgb,#ef4444 12%,transparent);
    border-color:color-mix(in srgb,#ef4444 28%,transparent);
    color:#ef4444;
}
.reply-btn a{
    display:inline-flex;
    font-size:.75rem;
    font-weight:800;
    color:var(--accent);
    padding:.35rem .7rem;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 10%,transparent);
    text-decoration:none;
    transition:.2s;
}
.reply-btn a:hover{
    background:var(--accent);
    color:#fff;
}
@media (max-width:640px){
    .comment-inner{
        grid-template-columns:2.6rem minmax(0,1fr);
        gap:.75rem;
        padding:.85rem;
    }
    .comment-avatar{
        width:2.6rem;
        height:2.6rem;
        min-width:2.6rem;
    }
    .comment-actions{
        flex-wrap:wrap;
    }
    .comment-reactions{
        width:100%;
        margin-left:0;
    }
}
.comment-form,.comment-form p{
    margin:0;
    padding:0
}
.comment-form input,.comment-form textarea{
    float:none!important
}
.comment-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.75rem
}
.comment-form-comment{
    grid-column:1/-1
}
.comment-form-author{
    grid-column:1
}
.comment-form-email{
    grid-column:2
}
.comment-form-url{
    display:none
}
.comment-form textarea,.comment-form input[type="text"],.comment-form input[type="email"]{
    width:100%
}
.comment-form textarea{
    min-height:6rem;
    border-radius:.7rem;
    border:1px solid var(--border);
    padding:.75rem .85rem;
    font-size:.9rem;
    resize:vertical;
    background:var(--bg)
}
.comment-form input[type="text"],.comment-form input[type="email"]{
    height:2.6rem;
    border-radius:.65rem;
    border:1px solid var(--border);
    padding:0 .75rem;
    font-size:.85rem;
    background:var(--bg)
}
.comment-form-cookies-consent{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:.6rem;
    font-size:.8rem;
    color:var(--muted)
}
.comment-form-cookies-consent input{
    width:.95rem!important;
    height:.95rem
}
.comment-form-cookies-consent label{
    display:inline!important
}
.form-submit{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end
}
.form-submit input[type="submit"]{
    width:auto!important;
    display:inline-flex!important
}
.comment-submit{
    padding:.6rem 1.4rem;
    border-radius:999px;
    border:none;
    background:var(--accent);
    color:#fff;
    font-size:.9rem;
    font-weight:600;
    cursor:pointer
}
.comment-form-wrap>p{
    margin:0;
    font-size:.85rem;
    color:var(--muted)
}
.comment-form-wrap>p+p{
    margin:.25rem 0 .75rem
}
.comment-form label{
    display:none
}
.comment-form input::placeholder,.comment-form textarea::placeholder{
    color:var(--muted);
    opacity:.7
}
.comment-form input:focus,.comment-form textarea:focus{
    border-color:var(--accent);
    outline:none;
    box-shadow:0 0 0 .1rem color-mix(in srgb,var(--accent) 20%,transparent)
}
.comment-form-wrap{
    margin-bottom:2rem
}
@media (max-width:640px){
    .comment-form{
        grid-template-columns:1fr
}
    .comment-form-author,.comment-form-email{
        grid-column:1/-1
}
}
.comment-avatar-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px!important;
    height:36px!important;
    border-radius:50%;
    color:#fff;
    font-weight:700;
    font-size:16px;
    line-height:1;
    text-align:center;
    text-transform:uppercase;
}
.comment-avatar-img{
    border-radius:50%;
    object-fit:cover;
    display:block;
}
