/* Theme-independent button icon treatment (ported from Finovate's button.less). */
.elementor-widget-button .elementor-button-content-wrapper { display: flex; align-items: center; }
.elementor-widget-button.vamtam-content-align-start .elementor-button-text { text-align: start; }
.elementor-widget-button.vamtam-content-align-end .elementor-button-text { text-align: end; }
.elementor-widget-button.vamtam-content-align-center .elementor-button-text { text-align: center; }

/* Hover slide: the icon and its clone swap vertically. */
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-hover-anim .elementor-button :is(.vamtam-btn-icon, .vamtam-btn-icon-abs) { display: block; transition: transform .4s cubic-bezier(.23, 1, .32, 1); }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-hover-anim .elementor-button .vamtam-btn-icon-wrap { overflow: hidden; position: relative; }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-hover-anim .elementor-button .vamtam-btn-icon { position: relative; }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-hover-anim .elementor-button .vamtam-btn-icon-abs { position: absolute; top: 0; transform: translateY(calc(100% + 3px)); }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-hover-anim .elementor-button:hover .vamtam-btn-icon { transform: translate(0, calc(-100% - 3px)); }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-hover-anim .elementor-button:hover .vamtam-btn-icon-abs { transform: translate(0, 0); }

/* Icon chip. */
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles .elementor-button-content-wrapper { align-items: center; }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles .elementor-button-icon { display: inline-flex; align-items: center; justify-content: center; }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles .elementor-button-icon :is(i, svg) { display: block; }

/* Icon sitting outside the pill. */
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon { --vamtam-whitespace: calc(var(--vamtam-gap, 0px) + var(--vamtam-icon-size, 0px) + var(--vamtam-icon-padding-ttl, 0px) + var(--vamtam-icon-border-ttl, 0px)); padding-inline-end: var(--vamtam-whitespace); }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon .elementor-button { position: relative; }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon .vamtam-btn-icon-wrap,
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon .elementor-button-content-wrapper > .elementor-button-icon { position: absolute; inset-inline-start: calc(100% + var(--vamtam-gap, 0px)); }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon.vamtam-icon-pos-row { padding-inline-start: var(--vamtam-whitespace); padding-inline-end: 0; }
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon.vamtam-icon-pos-row .vamtam-btn-icon-wrap,
.elementor-widget-button.vamtam-has-theme-widget-styles.vamtam-has-icon-styles.vamtam-has-outside-icon.vamtam-icon-pos-row .elementor-button-content-wrapper > .elementor-button-icon { inset-inline-start: auto; inset-inline-end: calc(100% + var(--vamtam-gap, 0px)); }
