.jf-film-ratings {
  margin-top: 44px;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: #101010;
  color: #fff;
  scroll-margin-top: 130px;
}
.jf-film-ratings h2 { margin: 0 0 16px; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; color: #fff; }
.jf-film-ratings p { margin: 12px 0; line-height: 1.5; color: #c6c6c6; }
.jf-film-rating-summary { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.jf-film-rating-summary strong { color: #fff; font-size: 1.25rem; }
.jf-film-rating-symbol { color: #da0d15; font-size: 1.8rem; }
.jf-film-rating-form { margin-top: 24px; }
.jf-film-rating-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.jf-film-rating-form legend { margin-bottom: 8px; padding: 0; color: #fff; font-weight: 800; }
.jf-film-rating-stars { display: flex; width: fit-content; gap: 4px; }
.jf-film-rating-choice { position: relative; display: grid; place-items: center; width: 44px; height: 48px; margin: 0; cursor: pointer; }
.jf-film-rating-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.jf-film-rating-choice span { color: #747474; font-size: 38px; line-height: 1; }
.jf-film-rating-choice.is-on span,
.jf-film-rating-stars:not(.is-enhanced) .jf-film-rating-choice:has(input:checked) span { color: #da0d15; }
.jf-film-rating-choice:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; border-radius: 4px; }
.jf-film-ratings .jf-film-rating-hint { margin: 10px 0 18px; font-size: .94rem; }
.jf-film-ratings .jf-film-rating-submit,
.jf-film-ratings .jf-film-rating-login { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; width: auto; padding: 10px 20px; border: 0; border-radius: 4px; background: #da0d15; color: #fff; font-size: 1rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.jf-film-ratings .jf-film-rating-submit:disabled { opacity: .6; cursor: wait; }
.jf-film-ratings .jf-film-rating-notice { padding: 12px 16px; border-left: 3px solid #da0d15; background: rgba(255,255,255,.06); color: #fff; }
@media (max-width: 380px) {
  .jf-film-ratings { padding: 18px 12px; }
  .jf-film-rating-stars { gap: 0; }
}
