/* === Altezze uguali per card in griglia (regola generale Ivan) ===
 * Pattern: sezione con N colonne, ciascuna con UN solo widget stm_icon_box
 * → tutte le card prendono l'altezza della più grande.
 * Funziona sul tipo "boxed-double-icon" (Munich) e su "standard" se in colonne sorelle.
 */

/* Stretch colonne sorelle */
.elementor-section .elementor-container > .elementor-column > .elementor-widget-wrap {
    align-content: stretch !important;
}

/* Card stm_icon_box BOXED → altezza riempita */
.elementor-widget-stm_icon_box {
    display: flex;
    width: 100%;
}
.elementor-widget-stm_icon_box > .elementor-widget-container {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.elementor-widget-stm_icon_box .consulting-icon-box.boxed-double-icon,
.elementor-widget-stm_icon_box .consulting-icon-box.boxed-top-icon,
.elementor-widget-stm_icon_box .consulting-icon-box.boxed-side-icon {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.elementor-widget-stm_icon_box .consulting-icon-box.boxed-double-icon .consulting-icon-box-wrapper,
.elementor-widget-stm_icon_box .consulting-icon-box.boxed-top-icon .consulting-icon-box-wrapper,
.elementor-widget-stm_icon_box .consulting-icon-box.boxed-side-icon .consulting-icon-box-wrapper {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* Fix line-height heading vc_custom_heading (no overlap su 2 righe) */
.vc_custom_heading .consulting-custom-title {
    line-height: 1.25 !important;
    overflow-wrap: break-word;
    word-wrap: break-word;
}
