.feature-card > a[href*="entry=christmas-songs-2026"] .feature-card__media img { object-position: left center; }
.playlist-float {
  position: fixed;
  z-index: 44;
  top: 52%;
  right: max(14px, calc((100vw - 1400px) / 2));
  width: 104px;
  transform: translateY(-50%);
}
.playlist-float[hidden] { display: none; }
.playlist-float__link {
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #fff;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.playlist-float__link:focus-visible { outline: 3px solid #18553c; outline-offset: 5px; border-radius: 12px; }
.playlist-float__record { position: relative; display: block; width: 88px; height: 88px; }
.playlist-float__disc { display: block; width: 100%; height: 100%; animation: playlist-record-turn 24s linear infinite; filter: drop-shadow(0 4px 5px #0003); }
.playlist-float__play { position: absolute; right: -2px; bottom: 1px; display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid #fff; border-radius: 50%; background: #b12531; color: #fff; box-shadow: 0 2px 5px #0002; }
.playlist-float__play svg { width: 11px; height: 11px; margin-left: 2px; fill: currentColor; }
.playlist-float__label { display: block; width: 104px; padding: 7px 5px; border-radius: 10px; background: #123e2c; color: #fff; text-align: center; font: 700 12px/1.35 var(--font-body, sans-serif); letter-spacing: .015em; box-shadow: 0 3px 10px #0002; }
.playlist-float__close { position: absolute; top: -17px; right: -11px; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #294638; cursor: pointer; }
.playlist-float__close span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #fff; box-shadow: 0 1px 7px #0002; }
.playlist-float__close svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2; fill: none; }
.playlist-float__close:focus-visible span { outline: 3px solid #18553c; outline-offset: 3px; }
.playlist-float:hover .playlist-float__disc, .playlist-float:focus-within .playlist-float__disc { animation-play-state: paused; }
@keyframes playlist-record-turn { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
  .playlist-float { top: auto; right: 10px; bottom: calc(var(--playlist-bottom, 100px) + env(safe-area-inset-bottom)); width: 80px; transform: none; }
  .playlist-float__record { width: 62px; height: 62px; }
  .playlist-float__label { width: 80px; padding: 6px 3px; font-size: 10px; border-radius: 8px; }
  .playlist-float__play { width: 23px; height: 23px; right: -3px; }
  .playlist-float__close { top: -19px; right: -9px; }
}
@media (max-height: 450px) and (min-width: 768px) {
  .playlist-float { top: auto; bottom: 18px; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .playlist-float__disc { animation: none; }
}
