.rep-review-form { margin-top: 20px; }
.rep-review-form > summary { background: #075ff7; border-radius: 6px; box-sizing: border-box; color: #fff; cursor: pointer; display: inline-block; font-size: 13px; font-weight: 600; line-height: 20px; list-style: none; padding: 8px 16px; }
.rep-review-form > summary::-webkit-details-marker { display: none; }
.rep-review-form > summary:hover { background: #064dcc; }
.rep-review-form #review_form { background: #fff; border: 1px solid #d8e1ec; border-radius: 8px; margin-top: 16px; padding: 20px; }
.rep-review-form .comment-reply-title { font-size: 18px; margin: 0 0 16px; }
.rep-review-form form p { margin: 0 0 16px; }
.rep-review-form form label { display: block; font-size: 13px; margin-bottom: 6px; }
.rep-review-form form :is(input[type='text'],input[type='email'],textarea) { background: #fff; border: 1px solid #ccd9eb; border-radius: 6px; box-sizing: border-box; font: inherit; min-width: 0; padding: 10px 12px; width: 100%; }
.rep-review-form textarea { min-height: 120px; resize: vertical; }
.rep-review-form .comment-form-cookies-consent label { display: inline; margin-left: 6px; }
.rep-review-form .rep-review-rating { border: 0; margin: 0 0 16px; padding: 0; }
.rep-review-rating legend { font-size: 13px; font-weight: 600; }
.rep-review-rating__choices { display: flex; flex-direction: row-reverse; justify-content: flex-end; position: relative; }
/* Keep native radios focusable without WordPress screen-reader-text:focus revealing them. */
.rep-review-rating__choices .rep-review-rating__input { position: absolute; width: 1px; height: 1px; min-width: 0; min-height: 0; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); opacity: 0; }
.rep-review-form .rep-review-rating__choices label { color: #cbd5e1; cursor: pointer; font-size: 32px; line-height: 44px; margin: 0; text-align: center; width: 44px; }
.rep-review-rating__choices input:checked ~ label { color: #f5bd00; }
.rep-review-rating__choices label:hover,
.rep-review-rating__choices label:hover ~ label { color: #e6a800; }
.rep-review-rating__choices input:focus-visible + label,
.rep-review-form :is(summary,input,textarea,a):focus-visible { border-radius: 4px; outline: 2px solid #075ff7; outline-offset: 3px; }
.rep-review-form #respond input#submit { background: #075ff7; border: 0; border-radius: 6px; box-sizing: border-box; color: #fff; font-size: 13px; font-weight: 600; line-height: 20px; min-height: 36px; height: 36px; width: auto; padding: 8px 16px; }
.rep-review-form #respond input#submit:hover { background: #064dcc; color: #fff; }
.rep-review-form-message { color: #64748b; font-size: 13px; margin-top: 16px; }
.rep-pdp-review-summary__score .star-rating { color: #80b400; float: none; font-size: 24px; margin: 8px 0; }
.rep-pdp-review-summary__score .star-rating::before { color: #d1d5db; }
.rep-pdp-review-bar:nth-child(1) { --rep-rating-color: #35a900; }
.rep-pdp-review-bar:nth-child(2) { --rep-rating-color: #80b400; }
.rep-pdp-review-bar:nth-child(3) { --rep-rating-color: #f5b52c; }
.rep-pdp-review-bar:nth-child(4) { --rep-rating-color: #f78029; }
.rep-pdp-review-bar:nth-child(5) { --rep-rating-color: #ef643f; }
.rep-pdp-review-bar > span::after { content: '★'; color: var(--rep-rating-color); margin-left: 2px; }
@media (max-width: 36rem) { .rep-review-form #review_form { padding: 16px; } }
