:root{
    --pj0-feedback-accent:#bd002f;
    --pj0-feedback-bg:#151517;
    --pj0-feedback-panel:#1c1c1f;
    --pj0-feedback-border:rgba(255,255,255,.11);
    --pj0-feedback-muted:#a9a9b2;
}

.pj0-public-feedback{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.pj0-public-feedback.is-compact{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.11);
}

.pj0-song-card .pj0-public-reaction,
.pj0-song-card .pj0-public-comments-link,
.pj0-related-card .pj0-public-reaction,
.pj0-related-card .pj0-public-comments-link{
    border-color:rgba(255,255,255,.13);
    background:#1c1c1f;
    color:#ededf1;
}

.pj0-song-card .pj0-public-reaction:hover,
.pj0-song-card .pj0-public-comments-link:hover,
.pj0-related-card .pj0-public-reaction:hover,
.pj0-related-card .pj0-public-comments-link:hover{
    border-color:var(--pj0-feedback-accent);
    color:#fff;
}

.pj0-public-reactions{
    display:flex;
    align-items:center;
    gap:6px;
}

.pj0-public-reaction,
.pj0-public-comments-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:36px;
    padding:7px 11px;
    border:1px solid rgba(20,20,22,.15);
    border-radius:0;
    background:#f2f2f3;
    color:#252529;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    line-height:1;
    text-decoration:none !important;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,color .18s ease;
}

.pj0-public-reaction:hover,
.pj0-public-comments-link:hover{
    border-color:var(--pj0-feedback-accent);
    color:var(--pj0-feedback-accent);
}

.pj0-public-reaction.is-active{
    background:var(--pj0-feedback-accent);
    border-color:var(--pj0-feedback-accent);
    color:#fff;
}

.pj0-public-reaction:disabled{
    opacity:.55;
    cursor:wait;
}

.pj0-public-feedback .dashicons{
    width:17px;
    height:17px;
    font-size:17px;
    line-height:17px;
}

.pj0-public-feedback-message{
    min-width:0;
    color:#666;
    font-size:12px;
}

.pj0-public-feedback-message.is-success{color:#39754d}
.pj0-public-feedback-message.is-error{color:#b5233f}

.pj0-public-single-opinion{
    margin-top:26px;
    padding:22px;
    border:1px solid var(--pj0-feedback-border);
    border-left:4px solid var(--pj0-feedback-accent);
    border-radius:0;
    background:#171719;
    color:#fff;
}

.pj0-public-single-opinion h2{
    margin:5px 0 16px;
    color:#d7d7dc;
    font-size:clamp(22px,2.2vw,31px);
}

.pj0-public-single-opinion .pj0-public-reaction,
.pj0-public-single-opinion .pj0-public-comments-link{
    border-color:rgba(255,255,255,.14);
    background:rgba(255,255,255,.07);
    color:#fff;
}

.pj0-public-single-opinion .pj0-public-reaction:hover,
.pj0-public-single-opinion .pj0-public-comments-link:hover{
    border-color:var(--pj0-feedback-accent);
    color:#fff;
}

.pj0-public-single-opinion .pj0-public-reaction.is-active{
    background:var(--pj0-feedback-accent);
}

.pj0-public-single-opinion .pj0-public-feedback-message{color:#b7b7bf}
.pj0-public-single-opinion .pj0-public-feedback-message.is-success{color:#9ee2b1}
.pj0-public-single-opinion .pj0-public-feedback-message.is-error{color:#ff9bb0}

.pj0-public-eyebrow{
    display:block;
    color:var(--pj0-feedback-accent);
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
}

.pj0-public-discussion{
    margin:48px 0;
    padding:clamp(22px,4vw,42px);
    border:1px solid var(--pj0-feedback-border);
    border-top:3px solid var(--pj0-feedback-accent);
    border-radius:0;
    background:#151517;
    color:#fff;
    scroll-margin-top:100px;
}

.pj0-public-discussion-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.pj0-public-discussion-heading h2{
    margin:5px 0 0;
    color:#d7d7dc;
    font-size:clamp(28px,4vw,48px);
}

.pj0-public-discussion-count{
    flex:0 0 auto;
    color:#c9c9cf;
    font-size:14px;
    font-weight:800;
}

.pj0-public-comments{
    display:grid;
    gap:12px;
}

.pj0-public-comment{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:13px;
    padding:16px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:0;
    background:rgba(255,255,255,.035);
}

.pj0-public-comment-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    background:var(--pj0-feedback-accent);
    color:#fff;
    font-size:18px;
    font-weight:900;
}

.pj0-public-comment header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:7px;
}

.pj0-public-comment header > div{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.pj0-public-comment strong{color:#dedee2}
.pj0-public-comment time{color:#94949d;font-size:12px}
.pj0-public-comment p{
    margin:0;
    color:#d5d5db;
    line-height:1.6;
    white-space:pre-wrap;
}

.pj0-public-backstage-badge{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:3px 8px;
    border-radius:0;
    background:var(--pj0-feedback-accent);
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.pj0-public-comments-empty{
    padding:20px;
    border:1px dashed rgba(255,255,255,.16);
    border-radius:0;
    color:#a9a9b2;
    text-align:center;
}

.pj0-public-comment-form{
    display:grid;
    gap:10px;
    margin-top:22px;
}

.pj0-public-comment-form label{
    color:#d7d7dc;
    font-weight:800;
}

.pj0-public-comment-form textarea{
    width:100%;
    min-height:120px;
    padding:15px 16px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:0;
    outline:none;
    background:#0f0f11;
    color:#fff;
    resize:vertical;
}

.pj0-public-comment-form textarea:focus{
    border-color:var(--pj0-feedback-accent);
}

.pj0-public-comment-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.pj0-public-comment-actions button,
.pj0-public-login-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:11px 18px;
    border:0;
    border-radius:0;
    background:var(--pj0-feedback-accent);
    color:#fff !important;
    font-weight:900;
    text-decoration:none !important;
    cursor:pointer;
}

.pj0-public-comment-actions button:disabled{opacity:.6;cursor:wait}
.pj0-public-comment-message{color:#aaaab2;font-size:13px}
.pj0-public-comment-message.is-success{color:#9ee2b1}
.pj0-public-comment-message.is-error{color:#ff9bb0}
.pj0-public-login-cta{margin-top:22px}

@media (max-width:760px){
    .pj0-public-feedback{flex-wrap:wrap}
    .pj0-public-feedback-message{flex-basis:100%}
    .pj0-public-discussion-heading{align-items:flex-start;flex-direction:column}
    .pj0-public-comment{grid-template-columns:36px minmax(0,1fr)}
    .pj0-public-comment-avatar{width:36px;height:36px;font-size:15px}
    .pj0-public-comment header{align-items:flex-start;flex-direction:column;gap:4px}
}


/* PROJECT-Z.E.R.O.-Frontend: bewusst kantig statt App-/Pill-Design. */
.pj0-public-single-opinion,
.pj0-public-discussion,
.pj0-public-comment,
.pj0-public-comments-empty,
.pj0-public-comment-form textarea,
.pj0-public-comment-actions button,
.pj0-public-login-cta,
.pj0-public-reaction,
.pj0-public-comments-link,
.pj0-public-backstage-badge{
    border-radius:0 !important;
    box-shadow:none;
}

/* v0.6.3 – kompakte Bewertung und Kommentare auf der öffentlichen Songseite. */
.pj0-public-single-rating{
    display:flex;
    align-items:center;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #2a2a2d;
}

.pj0-public-single-rating .pj0-public-feedback.is-compact{
    width:100%;
    margin:0;
    padding:0;
    border:0;
}

.pj0-public-single-rating .pj0-public-reaction,
.pj0-public-single-rating .pj0-public-comments-link{
    min-height:38px;
    padding:8px 12px;
    border:1px solid #333338;
    background:#151517;
    color:#d2d2d7;
}

.pj0-public-single-rating .pj0-public-reaction:hover,
.pj0-public-single-rating .pj0-public-comments-link:hover{
    border-color:var(--pj0-feedback-accent);
    color:#fff;
}

.pj0-public-single-rating .pj0-public-reaction.is-active{
    border-color:var(--pj0-feedback-accent);
    background:var(--pj0-feedback-accent);
    color:#fff;
}

.pj0-public-discussion.is-compact{
    margin:28px 0 0;
    padding:0;
    border:1px solid #29292d;
    border-top:3px solid var(--pj0-feedback-accent);
    background:#111113;
}

.pj0-public-discussion.is-compact .pj0-public-discussion-heading{
    align-items:center;
    margin:0;
    padding:16px 22px;
    border-bottom:1px solid #29292d;
    background:#0c0c0e;
}

.pj0-public-discussion.is-compact .pj0-public-discussion-heading h2{
    margin:0;
    color:#d0d0d5;
    font-size:20px;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.01em;
}

.pj0-public-discussion.is-compact .pj0-public-discussion-count{
    color:#9e9ea6;
    font-size:12px;
}

.pj0-public-discussion.is-compact .pj0-public-comments{
    gap:10px;
    padding:18px 22px 0;
}

.pj0-public-discussion.is-compact .pj0-public-comment{
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    padding:13px;
    background:#171719;
}

.pj0-public-discussion.is-compact .pj0-public-comment-avatar{
    width:38px;
    height:38px;
    font-size:15px;
}

.pj0-public-discussion.is-compact .pj0-public-comments-empty{
    padding:0;
    border:0;
    color:#9f9fa7;
    text-align:left;
}

.pj0-public-discussion.is-compact .pj0-public-comment-form{
    gap:9px;
    margin:18px 22px 0;
    padding:18px 0 22px;
    border-top:1px solid #29292d;
}

.pj0-public-discussion.is-compact .pj0-public-comment-form label{
    font-size:13px;
}

.pj0-public-discussion.is-compact .pj0-public-comment-form textarea{
    min-height:92px;
    padding:13px 14px;
}

.pj0-public-discussion.is-compact .pj0-public-comment-actions button,
.pj0-public-discussion.is-compact .pj0-public-login-cta{
    min-height:42px;
    padding:9px 15px;
    font-size:13px;
}

.pj0-public-discussion.is-compact > .pj0-public-login-cta{
    margin:18px 22px 22px;
}

@media (max-width:760px){
    .pj0-public-single-rating .pj0-public-feedback{
        align-items:stretch;
    }

    .pj0-public-single-rating .pj0-public-reactions{
        flex:1 1 auto;
    }

    .pj0-public-single-rating .pj0-public-reaction{
        flex:1;
    }

    .pj0-public-discussion.is-compact .pj0-public-discussion-heading,
    .pj0-public-discussion.is-compact .pj0-public-comments{
        padding-left:16px;
        padding-right:16px;
    }

    .pj0-public-discussion.is-compact .pj0-public-comment-form,
    .pj0-public-discussion.is-compact > .pj0-public-login-cta{
        margin-left:16px;
        margin-right:16px;
    }
}
/* Songdetailseite: Bewertung kompakt direkt unter dem Cover. */
.pj0-public-cover-rating{
    margin-top:10px;
    padding:10px 0 0;
    border-top:1px solid rgba(255,255,255,.12);
}

.pj0-public-cover-rating .pj0-public-feedback.is-compact{
    margin-top:0;
    padding-top:0;
    border-top:0;
}

.pj0-public-cover-rating .pj0-public-reaction,
.pj0-public-cover-rating .pj0-public-comments-link{
    border-color:rgba(255,255,255,.14);
    background:#161618;
    color:#dedee2;
}

.pj0-public-cover-rating .pj0-public-reaction:hover,
.pj0-public-cover-rating .pj0-public-comments-link:hover{
    border-color:var(--pj0-feedback-accent);
    color:#fff;
}

.pj0-public-cover-rating .pj0-public-reaction.is-active{
    background:var(--pj0-feedback-accent);
    border-color:var(--pj0-feedback-accent);
    color:#fff;
}


/* v0.7.0 – direkte Antworten und Antwort-Benachrichtigungen */
.pj0-public-comment.is-reply{margin-left:calc(var(--pj0-comment-depth,1) * 38px);border-left:2px solid var(--pj0-feedback-accent);background:#121214}.pj0-public-comment-reply{margin-top:7px;padding:0;border:0;background:transparent;color:#9d9da3;font:inherit;font-size:10px;font-weight:800;text-transform:uppercase;cursor:pointer}.pj0-public-comment-reply:hover{color:#fff}.pj0-public-reply-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:8px 10px;border-left:3px solid #e6003f;background:rgba(230,0,63,.08);color:#c9c9cd;font-size:11px}.pj0-public-reply-context[hidden]{display:none}.pj0-public-reply-context button{padding:0;border:0;background:transparent;color:#9f9fa5;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.pj0-public-reply-context button:hover{color:#fff}@media(max-width:620px){.pj0-public-comment.is-reply{margin-left:calc(var(--pj0-comment-depth,1) * 14px)}}

/* PJ0 Backstage v0.7.2 – lokale Profilbilder in Song-Kommentaren */
.pj0-public-comment-avatar{overflow:hidden}.pj0-public-comment-avatar img{display:block;width:100%;height:100%;object-fit:cover}

/* v0.12.3 – rote Login-/Sendenflächen behalten beim Hover schwarze Schrift. */
.pj0-public-comment-actions button:hover,
.pj0-public-comment-actions button:focus-visible,
.pj0-public-login-cta:hover,
.pj0-public-login-cta:focus-visible {
    background: #f2f2f3 !important;
    border-color: #f2f2f3 !important;
    color: #09090b !important;
}

.pj0-public-comment-actions button:hover *,
.pj0-public-comment-actions button:focus-visible *,
.pj0-public-login-cta:hover *,
.pj0-public-login-cta:focus-visible * {
    color: #09090b !important;
}

.pj0-public-reaction.is-active:hover,
.pj0-public-reaction.is-active:focus-visible {
    background: #f2f2f3 !important;
    border-color: #f2f2f3 !important;
    color: #09090b !important;
}

.pj0-public-reaction.is-active:hover *,
.pj0-public-reaction.is-active:focus-visible * {
    color: #09090b !important;
}

/* v0.13.9 – Kommentar-Likes im öffentlichen Song-Frontend */
.pj0-public-comment-inline-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}.pj0-public-comment-like{display:inline-flex;align-items:center;gap:5px;margin:0;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:#9d9da3!important;font:inherit;font-size:10px;font-weight:800;text-transform:uppercase;cursor:pointer}.pj0-public-comment-like .dashicons{width:14px;height:14px;font-size:14px;line-height:14px}.pj0-public-comment-like:hover,.pj0-public-comment-like:focus-visible,.pj0-public-comment-like.is-active{color:#e6003f!important}.pj0-public-comment-like:disabled{opacity:.45;cursor:default}.pj0-public-comment-inline-actions .pj0-public-comment-reply{margin-top:0}

/* v0.14.1 – Kommentar-Like im öffentlichen Song-Frontend ebenfalls minimal */
button.pj0-public-comment-like,
.pj0-public-comment-inline-actions button.pj0-public-comment-like {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #8f8f96 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    text-transform: none !important;
    transition: color .15s ease, opacity .15s ease !important;
}
button.pj0-public-comment-like .dashicons {
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
    line-height: 16px !important;
    color: currentColor !important;
    transition: color .15s ease, transform .15s ease !important;
}
button.pj0-public-comment-like:hover,
button.pj0-public-comment-like:focus-visible {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #d6d6da !important;
}
button.pj0-public-comment-like:hover .dashicons,
button.pj0-public-comment-like:focus-visible .dashicons {
    transform: translateY(-1px) scale(1.06);
}
button.pj0-public-comment-like.is-active,
button.pj0-public-comment-like.is-active:hover,
button.pj0-public-comment-like.is-active:focus-visible {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #e6003f !important;
}
button.pj0-public-comment-like:disabled {
    opacity: .35 !important;
    cursor: default !important;
}
.pj0-public-comment-inline-actions .pj0-public-comment-reply.is-danger{color:#d56b78}
.pj0-public-comment-inline-actions .pj0-public-comment-reply.is-danger:hover{color:#ff8a98}

/* v0.17.7 – öffentliche Song-Antworten direkt am Kommentar */
.pj0-public-comment-form.is-inline-reply{
    margin:0 0 4px 24px;
    padding:14px 16px 16px;
    border:1px solid rgba(255,255,255,.1);
    border-left:2px solid var(--pj0-feedback-accent);
    background:#0d0d0f;
}
@media(max-width:580px){.pj0-public-comment-form.is-inline-reply{margin-left:12px}}
