/* Keep every row of home service cards equal, including the tablet grid. */
.elementor-element-85deffa.e-grid {
    grid-template-rows: none !important;
    grid-auto-rows: 1fr !important;
}

/* Elementor stretches the widget; extend its nested card to that height. */
.intro-service-hover.elementor-widget {
    display: flex !important;
    min-width: 0;
}
.intro-service-hover > .elementor-widget-container,
.intro-service-hover .uc_classic_content {
    display: flex !important;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}
.intro-service-hover .uc_classic_content_container_holder {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}
.intro-service-hover .uc_classic_content_placeholder {
    flex: 0 0 auto;
}
.intro-service-hover .uc_classic_content_content {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}
.intro-service-hover .ue-title {
    /* Reserve two lines without truncating longer translations. */
    min-height: 3em;
    line-height: 1.5;
    flex: 0 0 auto;
}
.intro-service-hover .ue-text {
    flex: 0 0 auto;
}
.intro-service-hover .btn_wrap {
    margin-top: auto !important;
    padding-top: 14px;
    flex: 0 0 auto;
}

/* Russian service names need wrapping inside the existing dropdown width. */
html[lang^="ru"] .elementor-nav-menu .intro-services-menu-label {
    white-space: normal !important;
    min-width: 0;
    flex: 1 1 0;
    overflow-wrap: anywhere;
    line-height: 1.45;
}
html[lang^="ru"] .elementor-nav-menu .intro-services-menu-icon {
    flex-shrink: 0;
}
