/* Fixed counter space prevents layout movement when server totals arrive. */
[data-like-count], [data-catalog-like-count] {
  display: inline-block;
  min-width: 2ch;
  font-variant-numeric: tabular-nums;
}
.hero-like {
  position: absolute;
  z-index: 6;
  right: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8.75px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font: 400 20px/1 var(--font-interface, sans-serif);
  text-shadow: 0 1px 3px rgba(0,0,0,.85);
  cursor: pointer;
  touch-action: manipulation;
}
.hero-like svg {
  width: 27.5px;
  height: 27.5px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.75));
  transform: scale(var(--heart-scale, 1));
  transform-origin: center;
  transition: transform .18s ease, color .18s ease, fill .18s ease;
}
.hero-like.is-liked svg { color: #ff334b; fill: currentColor; }
.hero-like [data-like-count] { width: auto; min-width: 2ch; text-align: left; }
.hero-like:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .hero-like:hover:not(:disabled) svg {
    --heart-scale: 1.1;
    color: #ff334b;
    fill: currentColor;
  }
}
.hero-like.is-pulsing svg { animation: hero-heart-pulse .38s ease-out; }
@keyframes hero-heart-pulse {
  0%, 100% { transform: scale(var(--heart-scale, 1)); }
  40% { transform: scale(1.28); }
  70% { transform: scale(.96); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-like svg { transition: none; }
  .hero-like.is-pulsing svg { animation: none; }
}
.hero-stage .lead-meta { padding-right: 100px; width: 100%; }
.hero-like:disabled { cursor: default; }
.quick-view-reaction {
  display: flex;
  justify-content: flex-end;
  min-height: 44px;
  margin-top: 6px;
}
.quick-view-reaction[hidden] { display: none; }
.quick-view-like {
  position: static;
  z-index: auto;
  color: #fff;
  text-shadow: none;
}
.quick-view-like svg { filter: none; }
:root[data-theme="light"] .quick-view-like,
body[data-theme="light"] .quick-view-like { color: #111; }
:root[data-theme="light"] .quick-view-like:focus-visible,
body[data-theme="light"] .quick-view-like:focus-visible { outline-color: #111; }
[data-like-button][aria-busy=true] { opacity: .65; cursor: wait; }
.hero-like[aria-busy=true] { opacity: 1; cursor: pointer; }
.like-button[aria-busy=true] { opacity: 1; cursor: pointer; }
.likes-status {
  position: fixed;
  z-index: 10000;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  max-width: min(440px, calc(100vw - 32px));
  padding: 12px 18px;
  border: 1px solid #646b70;
  border-radius: 8px;
  background: #111;
  color: #fff;
  font: 500 14px/1.5 sans-serif;
}
.likes-status[hidden] { display: none; }
.download-statistics { display: flex; gap: 12px; align-items: center; }
.download-statistics > .like-button { flex: 1; }
.download-counter { display: inline-flex; align-items: center; gap: 6px; }
.download-counter svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
[data-download-counter][hidden] { display: none !important; }
