/* Counter Performance Fix - Prevents Flickering and Layout Shifts */

/* Counter area optimizations */
.counter_area.style_two.style_three {
    contain: layout style;
    will-change: auto;
}

/* Counter items optimization */
.counter-single-item {
    contain: layout;
    will-change: auto;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Counter number optimization */
.counter-_number {
    contain: layout;
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: contents;
}

.counter-_number h1 {
    font-variant-numeric: tabular-nums;
    min-width: 1.2em;
    display: inline-block;
    text-align: center;
    will-change: contents;
    contain: layout;
}

.counter-_number span {
    font-variant-numeric: tabular-nums;
    display: inline-block;
    will-change: contents;
    contain: layout;
}

/* Prevent layout shifts during animation */
.counter {
    font-variant-numeric: tabular-nums;
    min-width: 1em;
    display: inline-block;
    text-align: center;
    will-change: contents;
    contain: layout;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Counter container stability */
.counter-content {
    contain: layout;
    will-change: auto;
}

/* Smooth animation performance */
@media (prefers-reduced-motion: no-preference) {
    .counter {
        transition: none;
    }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .counter {
        animation: none;
        transition: none;
    }
}

/* GPU acceleration for counter elements */
.counter-single-item.style_five {
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: auto;
}

/* Prevent text selection during animation */
.counter-_number,
.counter {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Optimize counter background */
.row.style_bg_two {
    contain: layout style;
    will-change: auto;
    transform: translateZ(0);
}

/* Prevent flickering on mobile devices */
@media (max-width: 768px) {
    .counter-single-item {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    
    .counter {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Ensure consistent spacing */
.counter-single-item.style_five .counter-_number {
    min-height: 60px;
    display: flex;
    align-items: baseline;
    justify-content: center;
}

/* Prevent content jumping */
.counter_title h5 {
    min-height: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Optimize for high DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .counter {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}