/* Forge Statistics Counter - scoped front-end styles. */
.forge-stats-counter-wrapper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    font-family: inherit;
    box-sizing: border-box;
}

.forge-stats-counter-wrapper,
.forge-stats-counter-wrapper * {
    box-sizing: border-box;
}

.forge-stats-counter-wrapper .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.forge-stats-counter-wrapper .forge-counter-grid {
    display: grid;
    grid-template-columns: repeat(var(--forge-columns-desktop, var(--forge-columns, 3)), minmax(0, 1fr));
    gap: var(--forge-gap, 20px);
    width: 100%;
    max-width: var(--forge-container-max-width, 100%);
    min-width: 0;
    margin: var(--forge-container-margin, 20px 0);
    padding: var(--forge-container-padding, var(--forge-padding, 20px));
    border: var(--forge-container-border-width, 0) solid var(--forge-container-border-color, transparent);
    border-radius: var(--forge-container-radius, 0);
    background: var(--forge-container-background, #fff);
    box-shadow: var(--forge-container-shadow, none);
    text-align: var(--forge-text-align, center);
    overflow: visible;
}

.forge-stats-counter-wrapper .forge-counter-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: var(--forge-item-align-items, center);
    justify-content: center;
    min-width: 0;
    min-height: var(--forge-item-min-height, 120px);
    padding: var(--forge-item-padding, 15px);
    border: var(--forge-item-border-width, 0) solid var(--forge-item-border-color, transparent);
    border-radius: var(--forge-item-radius, 0);
    background: var(--forge-item-background-local, var(--forge-item-background, transparent));
    box-shadow: var(--forge-item-shadow, none);
    color: inherit;
    text-align: inherit;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
    isolation: isolate;
}

.forge-stats-counter-wrapper a.forge-counter-item:hover,
.forge-stats-counter-wrapper a.forge-counter-item:focus,
.forge-stats-counter-wrapper .forge-counter-item:hover,
.forge-stats-counter-wrapper .forge-counter-item:focus-within {
    color: inherit;
    text-decoration: none;
    transform: var(--forge-item-hover-transform, none);
    box-shadow: var(--forge-item-hover-shadow, var(--forge-item-shadow, none));
}

.forge-stats-counter-wrapper .forge-counter-item:focus-visible {
    outline: 3px solid #2271b1;
    outline-offset: 3px;
}

.forge-stats-counter-wrapper .forge-number-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: var(--forge-content-justify, center);
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.forge-stats-counter-wrapper .forge-number-wrapper[data-icon-position="left"] { flex-direction: row; }
.forge-stats-counter-wrapper .forge-number-wrapper[data-icon-position="right"] { flex-direction: row-reverse; }
.forge-stats-counter-wrapper .forge-number-wrapper[data-icon-position="top"] { flex-direction: column; }
.forge-stats-counter-wrapper .forge-number-wrapper[data-icon-position="bottom"] { flex-direction: column-reverse; }

.forge-stats-counter-wrapper .forge-number {
    display: inline-block;
    max-width: 100%;
    color: var(--forge-number-color-local, var(--forge-number-color, inherit));
    font-size: var(--forge-number-size-desktop, var(--forge-number-size, 48px));
    font-weight: var(--forge-number-weight, 700);
    font-variant-numeric: tabular-nums lining-nums;
    line-height: 1.08;
    overflow-wrap: normal;
    white-space: nowrap;
    word-break: normal;
    transition: opacity .25s ease, transform .25s ease, filter .25s ease;
}

.forge-stats-counter-wrapper .forge-label {
    max-width: 100%;
    margin-top: 10px;
    color: var(--forge-label-color-local, var(--forge-label-color, #666));
    font-size: var(--forge-label-size-desktop, var(--forge-label-size, 18px));
    font-weight: var(--forge-label-weight, 500);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.forge-stats-counter-wrapper .forge-icon-wrapper {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: var(--forge-icon-padding, 0);
    border-radius: var(--forge-icon-radius, 0);
    background: var(--forge-icon-background, transparent);
    color: var(--forge-icon-color, #333);
    line-height: 1;
}

.forge-stats-counter-wrapper .forge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    color: inherit;
    font-size: var(--forge-icon-size-desktop, var(--forge-icon-size, 24px));
    line-height: 1;
}

.forge-stats-counter-wrapper .forge-icon-external::before {
    line-height: inherit;
}

.forge-stats-counter-wrapper .forge-icon.dashicons,
.forge-stats-counter-wrapper .forge-icon.dashicons::before {
    font-family: dashicons !important;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-rendering: auto;
}

.forge-stats-counter-wrapper .forge-icon.dashicons::before {
    display: block;
    width: 1em;
    height: 1em;
    font-size: inherit;
    line-height: 1;
    speak: never;
}


.forge-stats-counter-wrapper .forge-preset-glass .forge-counter-item {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.forge-stats-counter-wrapper .forge-preset-outline .forge-counter-item,
.forge-stats-counter-wrapper .forge-preset-minimal .forge-counter-item {
    background-clip: padding-box;
}

/* Animation treatments augment the numeric interpolation without changing layout. */
.forge-stats-counter-wrapper .forge-animation-fade .forge-is-animating { animation: forge-counter-fade .45s ease both; }
.forge-stats-counter-wrapper .forge-animation-bounce .forge-is-animating { animation: forge-counter-bounce .55s cubic-bezier(.2,.8,.2,1) both; }
.forge-stats-counter-wrapper .forge-animation-slide-up .forge-is-animating { animation: forge-counter-slide-up .5s ease both; }
.forge-stats-counter-wrapper .forge-animation-rolling .forge-is-animating { animation: forge-counter-roll .65s ease both; transform-origin: center; }
.forge-stats-counter-wrapper .forge-animation-flip .forge-is-animating { animation: forge-counter-flip .6s ease both; backface-visibility: hidden; }
.forge-stats-counter-wrapper .forge-animation-typewriter .forge-is-animating { border-right: .08em solid currentColor; animation: forge-counter-caret .75s step-end infinite; }

@keyframes forge-counter-fade {
    from { opacity: .2; }
    to { opacity: 1; }
}

@keyframes forge-counter-bounce {
    0% { transform: scale(.86); opacity: .35; }
    55% { transform: scale(1.08); opacity: 1; }
    100% { transform: scale(1); }
}

@keyframes forge-counter-slide-up {
    from { transform: translateY(14px); opacity: .25; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes forge-counter-roll {
    from { transform: rotateX(-80deg); opacity: .2; }
    to { transform: rotateX(0); opacity: 1; }
}

@keyframes forge-counter-flip {
    from { transform: perspective(500px) rotateY(90deg); opacity: .2; }
    to { transform: perspective(500px) rotateY(0); opacity: 1; }
}

@keyframes forge-counter-caret {
    50% { border-color: transparent; }
}

/*
 * API state remains available through forge-api-error, forge-value-stale, and
 * data-forge-value-state. Forge does not display a public diagnostic badge.
 */
.forge-stats-counter-wrapper .forge-api-error::after,
.forge-stats-counter-wrapper .forge-value-stale::after {
    display: none !important;
    content: none !important;
}

.forge-counter-block-placeholder {
    padding: 18px;
    border: 1px dashed #8c8f94;
    color: #50575e;
    text-align: center;
}

@media (max-width: 1024px) {
    .forge-stats-counter-wrapper .forge-counter-grid {
        --forge-columns: var(--forge-columns-tablet, 2);
        --forge-number-size: var(--forge-number-size-tablet, clamp(32px, 5vw, 43px));
        --forge-label-size: var(--forge-label-size-tablet, clamp(15px, 2.2vw, 17px));
        grid-template-columns: repeat(var(--forge-columns-tablet, var(--forge-columns, 2)), minmax(0, 1fr));
    }
    .forge-stats-counter-wrapper .forge-number { font-size: var(--forge-number-size-tablet, var(--forge-number-size, clamp(32px, 5vw, 43px))); }
    .forge-stats-counter-wrapper .forge-label { font-size: var(--forge-label-size-tablet, var(--forge-label-size, clamp(15px, 2.2vw, 17px))); }
    .forge-stats-counter-wrapper .forge-icon { font-size: var(--forge-icon-size-tablet, var(--forge-icon-size, 20px)); }
    .forge-stats-counter-wrapper .forge-counter-item {
        --forge-icon-size: var(--forge-icon-size-tablet, 20px);
        min-height: min(var(--forge-item-min-height, 120px), 110px);
    }
}

@media (max-width: 767px) {
    .forge-stats-counter-wrapper .forge-counter-grid {
        --forge-columns: var(--forge-columns-mobile, 1);
        --forge-number-size: var(--forge-number-size-mobile, clamp(26px, 9vw, 38px));
        --forge-label-size: var(--forge-label-size-mobile, clamp(14px, 4vw, 16px));
        grid-template-columns: repeat(var(--forge-columns-mobile, var(--forge-columns, 1)), minmax(0, 1fr));
        gap: var(--forge-gap, 20px);
        padding: var(--forge-container-padding, var(--forge-padding, 20px));
    }
    .forge-stats-counter-wrapper .forge-counter-item {
        --forge-icon-size: var(--forge-icon-size-mobile, 18px);
        min-height: 0;
        padding: var(--forge-item-padding, 15px);
    }
    .forge-stats-counter-wrapper .forge-number { font-size: var(--forge-number-size-mobile, var(--forge-number-size, clamp(26px, 9vw, 38px))); }
    .forge-stats-counter-wrapper .forge-label { margin-top: 6px; font-size: var(--forge-label-size-mobile, var(--forge-label-size, clamp(14px, 4vw, 16px))); }
    .forge-stats-counter-wrapper .forge-icon { font-size: var(--forge-icon-size-mobile, var(--forge-icon-size, 18px)); }
}

@media (max-width: 420px) {
    .forge-stats-counter-wrapper .forge-counter-grid {
        gap: var(--forge-gap, 20px);
        padding: var(--forge-container-padding, var(--forge-padding, 20px));
    }
    .forge-stats-counter-wrapper .forge-number-wrapper { gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
    .forge-stats-counter-wrapper *,
    .forge-stats-counter-wrapper *::before,
    .forge-stats-counter-wrapper *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
    .forge-stats-counter-wrapper .forge-counter-item:hover,
    .forge-stats-counter-wrapper .forge-counter-item:focus-within {
        transform: none;
    }
}
