.khvoya-detailed {
    line-height: 1;
}

.kvoya-build-pass {
    line-height: 1;
}

.elementor-widget-wrap .elementor-element-populated {
    margin-right: 0 !important;
}

/* Mobile Counter Styles */
.elementor-counter {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 15px;
    margin: 10px 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #ffffff 0%, #f5f5f5 100%);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    text-align: center;
    overflow: hidden;
    position: relative;
    animation: counterFadeIn 0.8s ease-out forwards;
}

/* Increased font size for contacts on main page for mobile devices */
.front_page_section_contacts .contacts_info,
.front_page_section_contacts .contacts_address,
.front_page_section_contacts .contacts_email,
.front_page_section_contacts .contacts_phone,
.widget_contacts .contacts_info,
.widget_contacts .contacts_info .contacts_address,
.widget_contacts .contacts_info .contacts_email,
.widget_contacts .contacts_info .contacts_phone {
    font-size: 22px;
    line-height: 1.5;
}

.footer_wrap .widget.widget_contacts .contacts_info .contacts_phone{
    font-size: 18px!important;
    line-height: 1.5;
}

@keyframes counterFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.elementor-counter:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.elementor-counter:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #3498db, #2ecc71);
}

.elementor-counter-number-wrapper {
    font-size: 2.2em;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
    display: block;
    position: relative;
}

.elementor-counter-number {
    margin-bottom: 0px;
    background: linear-gradient(90deg, #3498db, #2ecc71);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    position: relative;
}

.elementor-counter:hover .elementor-counter-number {
    animation: numberPulse 1s ease-in-out;
}

.elementor-counter-number-prefix,
.elementor-counter-number-suffix {
    font-weight: 500;
    color: #777;
    font-size: 0.7em;
    vertical-align: super;
    margin: 0 3px;
}

.elementor-counter .elementor-counter-title {
    margin-left: 0px!important;
    font-size: 1em;
    font-weight: 500;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    padding-top: 6px;
}

/* Add a subtle background pattern */
.elementor-counter:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: radial-gradient(circle at 10% 10%, rgba(0,0,0,0.02) 0%, transparent 80%);
    pointer-events: none;
}

/* Ensure counters stack nicely on mobile */
.elementor-column {
    margin-bottom: 15px;
}
