.lwr-rating {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(300px,.72fr);
  align-items: center;
  gap: clamp(28px,5vw,72px);
  margin-top: 32px;
  padding: clamp(26px,4vw,46px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 28px;
  background: radial-gradient(circle at 92% -20%,rgba(255,255,255,.18),transparent 35%),linear-gradient(135deg,#d71920 0%,#a70f16 70%,#720a10 100%);
  color: #fff;
  box-shadow: 0 22px 60px rgba(113,8,15,.18);
}
.lwr-rating__intro p { margin: 0 0 8px; color: rgba(255,255,255,.68); font-size: .61rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.lwr-rating__intro h2 { max-width: 620px; margin: 0; color: #fff; font-size: clamp(1.65rem,3vw,2.75rem); line-height: .98; letter-spacing: -.055em; }
.lwr-rating__score { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 6px; min-width: 120px; }
.lwr-rating__score strong { color: #fff; font-size: clamp(3.2rem,6vw,5.6rem); font-weight: 730; line-height: .8; letter-spacing: -.075em; }
.lwr-rating__score > span { color: rgba(255,255,255,.65); font-size: .82rem; font-weight: 750; }
.lwr-rating__score small { grid-column: 1/-1; margin-top: 10px; color: rgba(255,255,255,.68); font-size: .64rem; font-weight: 720; }
.lwr-rating__choice { min-width: 0; }
.lwr-rating__hearts { display: flex; gap: 5px; }
.lwr-rating__hearts button { display: grid; width: clamp(44px,4vw,54px); height: clamp(44px,4vw,54px); min-height: 0; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.3); box-shadow: none; cursor: pointer; transition: transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease; }
.lwr-rating__hearts button span { font-size: clamp(1.45rem,2.5vw,2rem); line-height: 1; }
.lwr-rating__hearts button:hover,
.lwr-rating__hearts button:focus-visible { transform: translateY(-3px); border-color: rgba(255,255,255,.8); outline: 0; }
.lwr-rating__hearts button.is-filled { border-color: rgba(255,255,255,.45); background: #fff; color: #d71920; }
.lwr-rating__choice p { min-height: 1.4em; margin: 12px 0 0; color: rgba(255,255,255,.7); font-size: .68rem; line-height: 1.4; }
.lwr-rating.is-saving .lwr-rating__hearts { opacity: .58; pointer-events: none; }

@media (max-width: 920px) {
  .lwr-rating { grid-template-columns: minmax(0,1fr) auto; }
  .lwr-rating__choice { grid-column: 1/-1; }
}
@media (max-width: 560px) {
  .lwr-rating { grid-template-columns: 1fr; gap: 24px; margin-top: 18px; padding: 25px 20px; border-radius: 22px; }
  .lwr-rating__score { grid-template-columns: auto 1fr; }
  .lwr-rating__choice { grid-column: auto; }
  .lwr-rating__hearts { justify-content: space-between; }
  .lwr-rating__hearts button { width: clamp(44px,15vw,54px); border-radius: 14px; }
}
@media print {
  .lwr-rating { display: none !important; }
}

