/* =========================================
   STATS COUNTER SECTION
   Counter animations with dividers
   ========================================= */

/* Stats Section */
.fd-stats {
    background-image: url('../uploads/templates/homepage-22/team-member-idx-search-bg.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 4rem 0;
}

@media (min-width: 992px) {
    .fd-stats {
        padding: 6rem 0;
    }
}

@media (min-width: 1200px) {
    .fd-stats {
        padding: 8rem 0;
    }
}

/* Overlay */
.fd-stats::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent !important;
    z-index: 0;
}

.fd-stats .container {
    position: relative;
    z-index: 1;
}

/* Counter Dividers */
.fd-column__divider {
    position: relative;
    padding: 3rem;
}

/* Divider lines between counters */
@media (min-width: 1200px) {
    .fd-column__divider:not(.last)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 80%;
        background: rgba(255, 255, 255, 0.15);
    }
    
    /* Hide divider on specific breakpoints */
    .fd-column__divider.lg-no::after {
        display: none;
    }
}

/* Counter Elements */
.cb-counter {
    display: inline-block;
}

.cb-counter__number {
    display: inline-block;
    font-size: 52px;
    line-height: 52px;
    color: #FFFFFF;
}

@media (min-width: 320px) and (max-width: 1599px) {
    .cb-counter__number {
        font-size: calc(52px + 10 * ((100vw - 320px) / 1280));
        line-height: calc(52px + 10 * ((100vw - 320px) / 1280));
    }
}

@media (min-width: 1600px) {
    .cb-counter__number {
        font-size: 62px;
        line-height: 62px;
    }
}

/* Animation states */
.cbl__widget--animating .cb-counter__number {
    color: #FFFFFF;
    transition: color 0.3s ease;
}

.cbl__widget--animated .cb-counter__number {
    color: #FFFFFF;
}

/* Fix vertical alignment of $, +, % symbols next to counter numbers —
   Match reference: vertical-align: middle, top: 0 for both symbols and counters */
.fd-column__divider .cbl__widget--text.d-inline-block,
.fd-column__divider .cbl__widget--text.d-inline-block.align-middle {
    vertical-align: middle !important;
    position: relative !important;
    top: 0 !important;
}
.fd-column__divider .cbl__widget--counter.d-inline-block,
.fd-column__divider .cbl__widget--counter.d-inline-block.align-middle {
    vertical-align: middle !important;
    position: relative !important;
    top: 0 !important;
}
.fd-column__divider .cbl__widget--counter .cb-counter__number {
    margin-bottom: 0 !important;
}

/* Big letter spacing utility */
.big-letter-spacing {
    letter-spacing: 0.2em;
}

/* Responsive column spacing for stats */
@media (max-width: 767px) {
    .fd-stats .row > [class*="col-"] {
        margin-bottom: 2rem;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .fd-stats .row > [class*="col-"] {
        margin-bottom: 1rem;
    }
}
