/* Pan PV: autorski złoty kontur, refleks i dyskretna korona światła. */
.rating-star-defs { position:absolute; pointer-events:none; overflow:hidden; }
.rating-star { display:block; flex:none; overflow:visible; --star-delay:0s; }
.rating-star-face { fill:url(#pv-star-metal); stroke:url(#pv-star-edge); stroke-width:.3; stroke-linejoin:round; }
.review-card .stars { display:flex; gap:3px; width:fit-content; color:#ffc51b; }
.review-card .stars .rating-star { width:21px; height:21px; }
.google-rating-stars { position:relative; gap:6px; padding:6px 1px; color:#ffc51b; isolation:isolate; }
.google-rating-stars::before { content:""; position:absolute; inset:-10px -15px; z-index:-1; border-radius:50%; pointer-events:none; background:radial-gradient(ellipse at center,#ffcb2529 0%,#ffc21a12 43%,transparent 72%); }
.google-rating-stars .rating-star { width:clamp(40px,4vw,48px); height:clamp(40px,4vw,48px); }
.rating-star-aura { fill:#ffcc32; opacity:.22; filter:drop-shadow(0 0 1px #ffca3580) drop-shadow(0 0 2px #ffb70060); animation:pv-gold-breath 2.2s ease-in-out var(--star-delay) infinite paused; }
.google-rating-stars .rating-star-aura { opacity:.46; filter:drop-shadow(0 0 1px #ffde7070) drop-shadow(0 0 3px #ffba3670) drop-shadow(0 0 5px #ffc12538); }
.rating-star-glint { fill:url(#pv-star-glint); animation:pv-gold-sweep 2.2s cubic-bezier(.35,0,.15,1) var(--star-delay) infinite paused; }
.rating-star-flare { opacity:0; transform-origin:17.2px 6px; animation:pv-gold-flare 2.2s ease-in-out var(--star-delay) infinite paused; }
.rating-star:nth-child(2) { --star-delay:-1.98s; }
.rating-star:nth-child(3) { --star-delay:-1.76s; }
.rating-star:nth-child(4) { --star-delay:-1.54s; }
.rating-star:nth-child(5) { --star-delay:-1.32s; }
.reviews-section.is-star-section-visible .review-card.is-star-visible :is(.rating-star-aura,.rating-star-glint,.rating-star-flare),
.google-rating-stars.is-star-visible :is(.rating-star-aura,.rating-star-glint,.rating-star-flare) { animation-play-state:running; }
@keyframes pv-gold-sweep {
  0% { transform:translateX(0); opacity:0; }
  6% { opacity:.9; }
  62% { transform:translateX(46px); opacity:.9; }
  67%,100% { transform:translateX(46px); opacity:0; }
}
@keyframes pv-gold-breath { 0%,100% { opacity:.32; } 35%,55% { opacity:.6; } }
@keyframes pv-gold-flare {
  0%,22%,62%,100% { transform:scale(.45); opacity:0; }
  38% { transform:scale(1.12); opacity:.95; }
  48% { transform:scale(.9); opacity:.55; }
}
.review-read-more { display:inline-block; margin:4px 0 18px; color:var(--accent); font-size:15px; text-underline-offset:3px; }
.review-read-more:hover { text-decoration:underline; }
.review-read-more:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
.review-text--rating-only { color:var(--muted); font-size:16px; }
@media(max-width:760px) { .google-rating-stars { gap:5px; } .google-rating-stars .rating-star { width:40px; height:40px; } }
@media(max-width:360px) { .google-rating-stars .rating-star { width:36px; height:36px; } }
@media(prefers-reduced-motion:reduce) { .rating-star-aura,.rating-star-glint,.rating-star-flare { animation:none; } .rating-star-glint,.rating-star-flare { opacity:0; } }
@media(forced-colors:active) { .rating-star-face { fill:CanvasText; stroke:CanvasText; } .rating-star-aura,.rating-star-glint,.rating-star-flare,.google-rating-stars::before { display:none; } }
.reviews-section.star-page-hidden :is(.rating-star-aura,.rating-star-glint,.rating-star-flare) { animation-play-state:paused!important; }
