.elementor-widget-td_list_icon .td-icon-item a {
    display: flex;
    align-items: center;
}

.elementor-widget-td_list_icon .td-icon-item__icon {
    display: inline-grid;
    place-items: center;
    flex-shrink: 0;
    box-sizing: border-box;
    line-height: 1;
    aspect-ratio: 1;
    /* Equal width/height so border-radius: 50% renders as a circle, not an ellipse */
}

/* Override theme rules that force fixed 40×40 on icons inside list items */
.elementor-widget-td_list_icon .td-icon-item a .td-icon-item__icon i,
.elementor-widget-td_list_icon .td-icon-item a .td-icon-item__icon .elementor-icon,
.elementor-widget-td_list_icon .td-icon-item a .td-icon-item__icon svg {
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-widget-td_list_icon .td-icon-item__icon i::before {
    display: block;
    line-height: 1;
}

.elementor-widget-td_list_icon .td-icon-item__icon .elementor-icon {
    width: auto !important;
    height: auto !important;
}

.elementor-widget-td_list_icon .td-icon-item__icon .elementor-icon svg {
    display: block;
}
