/* Animated stats counters — used by index.html and ru/главная/index.html */

.hls-stats {
  position: relative;
  overflow: hidden;
}

.hls-stats .hls-stat-col {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}

.hls-stats.is-revealed .hls-stat-col { opacity: 1; transform: translateY(0); }
.hls-stats.is-revealed .hls-stat-col:nth-child(1) { transition-delay: 0ms; }
.hls-stats.is-revealed .hls-stat-col:nth-child(2) { transition-delay: 110ms; }
.hls-stats.is-revealed .hls-stat-col:nth-child(3) { transition-delay: 220ms; }
.hls-stats.is-revealed .hls-stat-col:nth-child(4) { transition-delay: 330ms; }

.hls-stats .elementor-counter { transition: transform 0.25s ease; }
.hls-stats .hls-stat-col:hover .elementor-counter { transform: translateY(-3px); }

.hls-stats .elementor-counter-number-wrapper {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
}

.hls-stats .elementor-counter-number,
.hls-stats .elementor-counter-number-prefix,
.hls-stats .elementor-counter-number-suffix {
  background: linear-gradient(135deg, #FFD24A 0%, #FFBF00 55%, #F0A900 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 4px 18px rgba(255, 191, 0, 0.18);
}

.hls-stats.is-revealed .elementor-counter-number {
  animation: hlsCounterPop 700ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.hls-stats.is-revealed .hls-stat-col:nth-child(1) .elementor-counter-number { animation-delay: 80ms; }
.hls-stats.is-revealed .hls-stat-col:nth-child(2) .elementor-counter-number { animation-delay: 190ms; }
.hls-stats.is-revealed .hls-stat-col:nth-child(3) .elementor-counter-number { animation-delay: 300ms; }
.hls-stats.is-revealed .hls-stat-col:nth-child(4) .elementor-counter-number { animation-delay: 410ms; }

@keyframes hlsCounterPop {
  0%   { transform: scale(0.85); filter: blur(3px); }
  60%  { transform: scale(1.04); filter: blur(0); }
  100% { transform: scale(1);    filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hls-stats .hls-stat-col { opacity: 1; transform: none; transition: none; }
  .hls-stats .elementor-counter,
  .hls-stats.is-revealed .elementor-counter-number { transition: none; animation: none; }
}
