.jpr-wrapper{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.jpr-stars{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.jpr-star{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;opacity:.7;transition:transform .05s ease, opacity .2s}
.jpr-star:hover{transform:scale(1.15);opacity:1}
.jpr-star.active{color:#ffb400;opacity:1}
.jpr-rating-meta{margin-left:.5rem;font-size:.95rem;color:#555}
.jpr-reactions{display:flex;gap:.5rem;margin-top:.25rem}
.jpr-reactions button{background:#f5f5f5;border:1px solid #e3e3e3;border-radius:6px;padding:.35rem .6rem;cursor:pointer}
.jpr-reactions button.active{border-color:#bbb;box-shadow:inset 0 0 0 1px #bbb}

/* Horizontal alignment helpers applied by block attribute */
.jpr-justify-start .jpr-stars, .jpr-justify-start .jpr-reactions { justify-content: flex-start; }
.jpr-justify-center .jpr-stars, .jpr-justify-center .jpr-reactions { justify-content: center; }
.jpr-justify-end .jpr-stars, .jpr-justify-end .jpr-reactions { justify-content: flex-end; }
.jpr-justify-between .jpr-stars, .jpr-justify-between .jpr-reactions { justify-content: space-between; }
