/**
 * IES shared button utilities
 *
 * Use these classes in theme templates, Elementor widgets, and plugins
 * instead of redefining button chrome per component.
 *
 * Variants (match mega-menu / Figma 619:3497 — static + hover are one style):
 *   .ies-btn.ies-btn--primary         Solid purple pill  (header CTA)
 *   .ies-btn.ies-btn--primary-white   Solid white pill (dark / gradient sections)
 *   .ies-btn.ies-btn--outline         Outline purple pill (View all / section link)
 *   .ies-btn.ies-btn--outline-white   Outline white pill (dark / gradient sections)
 *   .ies-btn.ies-btn--text-icon       Navy text + purple circle chevron (cards)
 *   .ies-btn.ies-btn--text-icon-white White text + white circle chevron (dark / gradient)
 *
 * Markup for text-icon:
 *   <a class="ies-btn ies-btn--text-icon" href="...">
 *     <span class="ies-btn__label">Read more</span>
 *     <span class="ies-btn__icon" aria-hidden="true">…svg…</span>
 *   </a>
 */

.ies-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--ies-button-gap, 8px);
	margin: 0;
	font-family: Onest, sans-serif;
	font-size: var(--ies-button-font-size, 16px);
	font-weight: var(--ies-button-font-weight, 600);
	line-height: var(--ies-button-line-height, 1.2);
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease);
}

.ies-btn:focus-visible {
	outline: 2px solid var(--ies-button-primary, #5D43DE);
	outline-offset: 3px;
}

/* Inner text follows the button, beating .ies-preset-* * { color: #fff }. */
.elementor a.ies-btn .ies-btn__label,
.elementor a.ies-btn .ies-btn__label * {
	color: inherit !important;
}

/* ── Primary (filled) ─────────────────────────────────────────────────── */

.ies-btn--primary {
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px);
	border-radius: var(--ies-button-radius, 50px);
	border: 2px solid var(--ies-button-primary, #5D43DE);
	background: var(--ies-button-primary, #5D43DE);
	color: var(--ies-button-text, #fff);
}

.ies-btn--primary:hover,
.ies-btn--primary:focus-visible {
	background: var(--ies-button-hover, #4D4285);
	border-color: var(--ies-button-hover, #4D4285);
	color: var(--ies-button-text-hover, #fff);
}

/* ── Primary white (filled, dark / gradient surfaces) ─────────────────── */

.ies-btn--primary-white {
	padding: var(--ies-button-pad-y, 12px) var(--ies-button-pad-x, 24px);
	border-radius: var(--ies-button-radius, 50px);
	border: 2px solid var(--ies-button-primary-white-bg, #fff);
	background: var(--ies-button-primary-white-bg, #fff);
	color: var(--ies-button-primary-white-text, #5D43DE);
}

.ies-btn--primary-white:hover,
.ies-btn--primary-white:focus-visible {
	background: var(--ies-button-primary-white-hover-bg, #D2D1F1);
	border-color: var(--ies-button-primary-white-hover-bg, #D2D1F1);
	color: var(--ies-button-primary-white-text, #5D43DE);
}

/*
 * Typeform embed triggers. The embed sets inline chrome; some pages also inject
 * a yellow button[data-tf-popup] block. Match .ies-btn--primary.
 */
.elementor button[data-tf-popup],
.elementor a[data-tf-popup],
.elementor button[data-tf-slider],
.elementor a[data-tf-slider],
button[data-tf-popup],
a[data-tf-popup],
button[data-tf-slider],
a[data-tf-slider] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	height: auto !important;
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px) !important;
	border-radius: var(--ies-button-radius, 50px) !important;
	border: 2px solid var(--ies-button-primary, #5D43DE) !important;
	background: var(--ies-button-primary, #5D43DE) !important;
	background-color: var(--ies-button-primary, #5D43DE) !important;
	color: var(--ies-button-text, #fff) !important;
	text-decoration: none !important;
	white-space: normal !important;
	cursor: pointer;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease);
}

.elementor button[data-tf-popup]:hover,
.elementor a[data-tf-popup]:hover,
.elementor button[data-tf-slider]:hover,
.elementor a[data-tf-slider]:hover,
button[data-tf-popup]:hover,
a[data-tf-popup]:hover,
button[data-tf-slider]:hover,
a[data-tf-slider]:hover,
.elementor button[data-tf-popup]:focus-visible,
.elementor a[data-tf-popup]:focus-visible,
button[data-tf-popup]:focus-visible,
a[data-tf-popup]:focus-visible {
	background: var(--ies-button-hover, #4D4285) !important;
	background-color: var(--ies-button-hover, #4D4285) !important;
	border-color: var(--ies-button-hover, #4D4285) !important;
	color: var(--ies-button-text-hover, #fff) !important;
}

/* ── Outline ──────────────────────────────────────────────────────────── */

.ies-btn--outline {
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px);
	border-radius: var(--ies-button-radius, 50px);
	border: 2px solid var(--ies-button-outline-border, #5D43DE);
	background: transparent;
	color: var(--ies-button-outline-text, #5D43DE);
}

.ies-btn--outline:hover,
.ies-btn--outline:focus-visible {
	background: transparent;
	border-color: var(--ies-button-hover, #4D4285);
	color: var(--ies-button-hover, #4D4285);
	opacity: 1;
}

/* ── Outline white (dark / gradient surfaces) ─────────────────────────── */

.ies-btn--outline-white {
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px);
	border-radius: var(--ies-button-radius, 50px);
	border: 2px solid var(--ies-white, #fff);
	background: transparent;
	color: var(--ies-white, #fff);
}

.ies-btn--outline-white:hover,
.ies-btn--outline-white:focus-visible {
	background: transparent;
	border-color: var(--ies-primary-lighter, #D2D1F1);
	color: var(--ies-primary-lighter, #D2D1F1);
	opacity: 1;
}

/* ── Text + circle icon ───────────────────────────────────────────────── */

.ies-btn--text-icon {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--ies-button-link-color, #11294B);
	width: fit-content;
}

.ies-btn--text-icon:hover,
.ies-btn--text-icon:focus-visible {
	background: transparent;
	color: var(--ies-button-link-color, #11294B);
	gap: 12px;
}

.ies-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--ies-button-icon-size, 24px);
	height: var(--ies-button-icon-size, 24px);
	border-radius: 50%;
	background-color: var(--ies-button-icon-bg, #5D43DE);
	background-image: var(--ies-button-icon-chevron);
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	transition: background-color 0.2s ease;
}

.ies-btn__icon svg,
.ies-btn__icon i {
	/* Circle + chevron chrome comes from CSS so every instance matches Figma 3112:2522. */
	display: none;
}

.ies-btn--text-icon:hover .ies-btn__icon,
.ies-btn--text-icon:focus-visible .ies-btn__icon {
	background-color: var(--ies-button-icon-hover, #4D4285);
}

/* ── Text + circle icon (white, dark / gradient surfaces) ─────────────── */

.ies-btn--text-icon-white {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--ies-button-text-icon-white-color, #fff);
	width: fit-content;
}

.ies-btn--text-icon-white:hover,
.ies-btn--text-icon-white:focus-visible {
	background: transparent;
	color: var(--ies-button-text-icon-white-color, #fff);
	gap: 12px;
}

.ies-btn--text-icon-white .ies-btn__icon,
.ies-btn--text-icon-white .ies-btn-icon-wrap,
.ies-btn--text-icon-white .cme-card-btn-icon,
.ies-btn--text-icon-white .ies-blog-related-card__link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--ies-button-icon-size, 24px);
	height: var(--ies-button-icon-size, 24px);
	border-radius: 50%;
	background-color: var(--ies-button-text-icon-white-icon-bg, #fff);
	background-image: var(--ies-button-icon-chevron-on-light);
	background-repeat: no-repeat;
	background-position: center;
	color: var(--ies-button-primary, #5D43DE);
	transition: background-color 0.2s ease;
}

.ies-btn--text-icon-white:hover .ies-btn__icon,
.ies-btn--text-icon-white:focus-visible .ies-btn__icon,
.ies-btn--text-icon-white:hover .ies-btn-icon-wrap,
.ies-btn--text-icon-white:focus-visible .ies-btn-icon-wrap,
.ies-btn--text-icon-white:hover .cme-card-btn-icon,
.ies-btn--text-icon-white:focus-visible .cme-card-btn-icon,
.ies-btn--text-icon-white:hover .ies-blog-related-card__link-icon,
.ies-btn--text-icon-white:focus-visible .ies-blog-related-card__link-icon {
	background-color: var(--ies-button-text-icon-white-icon-hover-bg, #D2D1F1);
}

/* ── Legacy / widget class bridges (same chrome, old selectors) ────────── */

.ies-view-all.ies-btn--outline .ies-view-all-icon,
.ies-view-all.ies-btn--outline .ies-arrow {
	transition: transform 0.2s ease;
}

.ies-view-all.ies-btn--outline:hover .ies-arrow,
.ies-view-all.ies-btn--outline:focus-visible .ies-arrow {
	transform: translateX(4px);
}

/* Map older icon wrap class names onto shared icon chrome */
.ies-btn--text-icon .ies-btn-icon-wrap,
.ies-btn--text-icon .cme-card-btn-icon,
.ies-btn--text-icon .ies-blog-related-card__link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--ies-button-icon-size, 24px);
	height: var(--ies-button-icon-size, 24px);
	border-radius: 50%;
	background-color: var(--ies-button-icon-bg, #5D43DE);
	background-image: var(--ies-button-icon-chevron);
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	transition: background-color 0.2s ease;
}

.ies-btn--text-icon:hover .ies-btn-icon-wrap,
.ies-btn--text-icon:focus-visible .ies-btn-icon-wrap,
.ies-btn--text-icon:hover .cme-card-btn-icon,
.ies-btn--text-icon:focus-visible .cme-card-btn-icon,
.ies-btn--text-icon:hover .ies-blog-related-card__link-icon,
.ies-btn--text-icon:focus-visible .ies-blog-related-card__link-icon {
	background-color: var(--ies-button-icon-hover, #4D4285);
}

/* Beat Elementor / legacy .text-link / .arrow-btn rules that restyle these links */
.elementor a.ies-btn--primary,
.elementor a.ies-btn.ies-btn--primary,
.elementor .text-link a.ies-btn--primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--ies-button-gap, 8px) !important;
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px) !important;
	border-radius: var(--ies-button-radius, 50px) !important;
	border: 2px solid var(--ies-button-primary, #5D43DE) !important;
	background: var(--ies-button-primary, #5D43DE) !important;
	background-color: var(--ies-button-primary, #5D43DE) !important;
	color: var(--ies-button-text, #fff) !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	width: auto !important;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease) !important;
}

.elementor a.ies-btn--primary:hover,
.elementor a.ies-btn--primary:focus-visible,
.elementor .text-link a.ies-btn--primary:hover,
.elementor .text-link a.ies-btn--primary:focus-visible {
	background: var(--ies-button-hover, #4D4285) !important;
	background-color: var(--ies-button-hover, #4D4285) !important;
	border-color: var(--ies-button-hover, #4D4285) !important;
	color: var(--ies-button-text-hover, #fff) !important;
}

/* Beat leftover Elementor "Button Color" on .ies-btn--primary (often white on bands). */
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary {
	background: var(--ies-button-primary, #5D43DE) !important;
	background-color: var(--ies-button-primary, #5D43DE) !important;
	border-color: var(--ies-button-primary, #5D43DE) !important;
	color: var(--ies-button-text, #fff) !important;
}

.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary:hover,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary:focus-visible,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary:hover,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary:focus-visible {
	background: var(--ies-button-hover, #4D4285) !important;
	background-color: var(--ies-button-hover, #4D4285) !important;
	border-color: var(--ies-button-hover, #4D4285) !important;
	color: var(--ies-button-text-hover, #fff) !important;
}

.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white {
	background: var(--ies-button-primary-white-bg, #fff) !important;
	background-color: var(--ies-button-primary-white-bg, #fff) !important;
	border-color: var(--ies-button-primary-white-bg, #fff) !important;
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
}

.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white *,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white .ies-btn__label,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white *,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white .ies-btn__label,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white *,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white .ies-btn__label,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white *,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white .ies-btn__label {
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
}

.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:hover,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:focus-visible,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:hover,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:focus-visible,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:hover,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:focus-visible,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:hover,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:focus-visible {
	background: var(--ies-button-primary-white-hover-bg, #D2D1F1) !important;
	background-color: var(--ies-button-primary-white-hover-bg, #D2D1F1) !important;
	border-color: var(--ies-button-primary-white-hover-bg, #D2D1F1) !important;
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
}

.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:hover *,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:focus-visible *,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:hover *,
.elementor .elementor-widget-image-content-side-by-side-widget .image-content-wrapper .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:focus-visible *,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:hover *,
.elementor .elementor-element.elementor-widget .button-wrapper .text-link a.ies-btn.ies-btn--primary-white:focus-visible *,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:hover *,
.elementor .elementor-element.elementor-widget .button-wrapper .arrow-btn a.ies-btn.ies-btn--primary-white:focus-visible * {
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
}

.elementor a.ies-btn--primary-white,
.elementor a.ies-btn.ies-btn--primary-white,
.elementor .text-link a.ies-btn--primary-white,
.hentry .entry-content a.ies-btn--primary-white {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--ies-button-gap, 8px) !important;
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	padding: var(--ies-button-pad-y, 12px) var(--ies-button-pad-x, 24px) !important;
	border-radius: var(--ies-button-radius, 50px) !important;
	border: 2px solid var(--ies-button-primary-white-bg, #fff) !important;
	background: var(--ies-button-primary-white-bg, #fff) !important;
	background-color: var(--ies-button-primary-white-bg, #fff) !important;
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	width: auto !important;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease) !important;
}

.elementor a.ies-btn--primary-white:hover,
.elementor a.ies-btn--primary-white:focus-visible,
.elementor .text-link a.ies-btn--primary-white:hover,
.elementor .text-link a.ies-btn--primary-white:focus-visible,
.hentry .entry-content a.ies-btn--primary-white:hover,
.hentry .entry-content a.ies-btn--primary-white:focus-visible {
	background: var(--ies-button-primary-white-hover-bg, #D2D1F1) !important;
	background-color: var(--ies-button-primary-white-hover-bg, #D2D1F1) !important;
	border-color: var(--ies-button-primary-white-hover-bg, #D2D1F1) !important;
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
}

.elementor .ies-preset-gradient-yes a.ies-btn--primary-white,
.elementor .ies-preset-gradient-yes a.ies-btn--primary-white *,
.elementor .ies-preset-dark_bg a.ies-btn--primary-white,
.elementor .ies-preset-dark_bg a.ies-btn--primary-white * {
	color: var(--ies-button-primary-white-text, #5D43DE) !important;
}

.elementor a.ies-btn--outline,
.elementor a.ies-btn.ies-btn--outline {
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px) !important;
	border-radius: var(--ies-button-radius, 50px) !important;
	border: 2px solid var(--ies-button-outline-border, #5D43DE) !important;
	background: transparent !important;
	color: var(--ies-button-outline-text, #5D43DE) !important;
	text-decoration: none !important;
	opacity: 1 !important;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease) !important;
}

.elementor a.ies-btn--outline:hover,
.elementor a.ies-btn--outline:focus-visible {
	background: transparent !important;
	border-color: var(--ies-button-hover, #4D4285) !important;
	color: var(--ies-button-hover, #4D4285) !important;
	opacity: 1 !important;
}

.elementor a.ies-btn--outline-white,
.elementor a.ies-btn.ies-btn--outline-white {
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px) !important;
	border-radius: var(--ies-button-radius, 50px) !important;
	border: 2px solid var(--ies-white, #fff) !important;
	background: transparent !important;
	color: var(--ies-white, #fff) !important;
	text-decoration: none !important;
	opacity: 1 !important;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease) !important;
}

.elementor a.ies-btn--outline-white:hover,
.elementor a.ies-btn--outline-white:focus-visible {
	background: transparent !important;
	border-color: var(--ies-primary-lighter, #D2D1F1) !important;
	color: var(--ies-primary-lighter, #D2D1F1) !important;
	opacity: 1 !important;
}

/* Beat .ies-preset-gradient-yes * { color: #fff !important } on the label span. */
.elementor .ies-preset-gradient-yes a.ies-btn--outline-white:hover,
.elementor .ies-preset-gradient-yes a.ies-btn--outline-white:focus-visible,
.elementor .ies-preset-gradient-yes a.ies-btn--outline-white:hover *,
.elementor .ies-preset-gradient-yes a.ies-btn--outline-white:focus-visible *,
.elementor .ies-preset-dark_bg a.ies-btn--outline-white:hover,
.elementor .ies-preset-dark_bg a.ies-btn--outline-white:focus-visible,
.elementor .ies-preset-dark_bg a.ies-btn--outline-white:hover *,
.elementor .ies-preset-dark_bg a.ies-btn--outline-white:focus-visible * {
	color: var(--ies-primary-lighter, #D2D1F1) !important;
}

.elementor a.ies-btn--text-icon,
.elementor a.ies-btn.ies-btn--text-icon,
.elementor .arrow-btn a.ies-btn--text-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--ies-button-gap, 8px) !important;
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ies-button-link-color, #11294B) !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	width: fit-content !important;
}

.elementor a.ies-btn--text-icon:hover,
.elementor a.ies-btn--text-icon:focus-visible {
	background: transparent !important;
	color: var(--ies-button-link-color, #11294B) !important;
	gap: 12px !important;
}

.elementor a.ies-btn--text-icon .ies-btn__icon,
.elementor a.ies-btn--text-icon .ies-btn-icon-wrap,
.elementor a.ies-btn--text-icon .cme-card-btn-icon,
.elementor a.ies-btn--text-icon .ies-blog-related-card__link-icon {
	width: var(--ies-button-icon-size, 24px) !important;
	height: var(--ies-button-icon-size, 24px) !important;
	border-radius: 50% !important;
	background-color: var(--ies-button-icon-bg, #5D43DE) !important;
	background-image: var(--ies-button-icon-chevron) !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

.elementor a.ies-btn--text-icon:hover .ies-btn__icon,
.elementor a.ies-btn--text-icon:focus-visible .ies-btn__icon,
.elementor a.ies-btn--text-icon:hover .ies-btn-icon-wrap,
.elementor a.ies-btn--text-icon:focus-visible .ies-btn-icon-wrap,
.elementor a.ies-btn--text-icon:hover .cme-card-btn-icon,
.elementor a.ies-btn--text-icon:focus-visible .cme-card-btn-icon {
	background-color: var(--ies-button-icon-hover, #4D4285) !important;
}

.elementor .elementor-element.elementor-widget .button-wrapper a.ies-btn.ies-btn--text-icon,
.elementor .elementor-element.elementor-widget .button-wrapper a.ies-btn.ies-btn--text-icon .ies-btn__label,
.elementor .elementor-element.elementor-widget .button-wrapper a.ies-btn.ies-btn--text-icon:hover,
.elementor .elementor-element.elementor-widget .button-wrapper a.ies-btn.ies-btn--text-icon:hover .ies-btn__label,
.elementor .elementor-element.elementor-widget .button-wrapper a.ies-btn.ies-btn--text-icon:focus-visible,
.elementor .elementor-element.elementor-widget .button-wrapper a.ies-btn.ies-btn--text-icon:focus-visible .ies-btn__label {
	color: var(--ies-button-link-color, #11294B) !important;
}

.elementor a.ies-btn--text-icon-white,
.elementor a.ies-btn.ies-btn--text-icon-white,
.elementor .arrow-btn a.ies-btn--text-icon-white,
.hentry .entry-content a.ies-btn--text-icon-white {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--ies-button-gap, 8px) !important;
	font-family: Onest, sans-serif !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ies-button-text-icon-white-color, #fff) !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	width: fit-content !important;
}

.elementor a.ies-btn--text-icon-white:hover,
.elementor a.ies-btn--text-icon-white:focus-visible,
.hentry .entry-content a.ies-btn--text-icon-white:hover,
.hentry .entry-content a.ies-btn--text-icon-white:focus-visible {
	background: transparent !important;
	color: var(--ies-button-text-icon-white-color, #fff) !important;
	gap: 12px !important;
}

.elementor a.ies-btn--text-icon-white .ies-btn__icon,
.elementor a.ies-btn--text-icon-white .ies-btn-icon-wrap,
.elementor a.ies-btn--text-icon-white .cme-card-btn-icon,
.elementor a.ies-btn--text-icon-white .ies-blog-related-card__link-icon {
	width: var(--ies-button-icon-size, 24px) !important;
	height: var(--ies-button-icon-size, 24px) !important;
	border-radius: 50% !important;
	background-color: var(--ies-button-text-icon-white-icon-bg, #fff) !important;
	background-image: var(--ies-button-icon-chevron-on-light) !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

.elementor a.ies-btn--text-icon-white:hover .ies-btn__icon,
.elementor a.ies-btn--text-icon-white:focus-visible .ies-btn__icon,
.elementor a.ies-btn--text-icon-white:hover .ies-btn-icon-wrap,
.elementor a.ies-btn--text-icon-white:focus-visible .ies-btn-icon-wrap,
.elementor a.ies-btn--text-icon-white:hover .cme-card-btn-icon,
.elementor a.ies-btn--text-icon-white:focus-visible .cme-card-btn-icon {
	background-color: var(--ies-button-text-icon-white-icon-hover-bg, #D2D1F1) !important;
}

.elementor .ies-preset-gradient-yes a.ies-btn--text-icon-white,
.elementor .ies-preset-gradient-yes a.ies-btn--text-icon-white *,
.elementor .ies-preset-dark_bg a.ies-btn--text-icon-white,
.elementor .ies-preset-dark_bg a.ies-btn--text-icon-white * {
	color: var(--ies-button-text-icon-white-color, #fff) !important;
}

/* Bare legacy .text-link / .button / .arrow-btn → same token chrome as .ies-btn */
.elementor .text-link a:not(.ies-btn),
.elementor .button-container .button:not(.ies-btn),
.elementor a.button:not(.ies-btn):not(.mega-btn) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--ies-button-gap, 8px) !important;
	font-family: var(--ies-font-display, Onest, sans-serif) !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px) !important;
	border-radius: var(--ies-button-radius, 50px) !important;
	border: 2px solid var(--ies-button-primary, #5D43DE) !important;
	background: var(--ies-button-primary, #5D43DE) !important;
	background-color: var(--ies-button-primary, #5D43DE) !important;
	color: var(--ies-button-text, #fff) !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	width: auto !important;
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease) !important;
}

.elementor .text-link a:not(.ies-btn):hover,
.elementor .text-link a:not(.ies-btn):focus-visible,
.elementor .button-container .button:not(.ies-btn):hover,
.elementor .button-container .button:not(.ies-btn):focus-visible,
.elementor a.button:not(.ies-btn):not(.mega-btn):hover,
.elementor a.button:not(.ies-btn):not(.mega-btn):focus-visible {
	background: var(--ies-button-hover, #4D4285) !important;
	background-color: var(--ies-button-hover, #4D4285) !important;
	border-color: var(--ies-button-hover, #4D4285) !important;
	color: var(--ies-button-text-hover, #fff) !important;
}

.elementor .arrow-btn a:not(.ies-btn) {
	font-family: var(--ies-font-display, Onest, sans-serif) !important;
	font-size: var(--ies-button-font-size, 16px) !important;
	font-weight: var(--ies-button-font-weight, 600) !important;
	line-height: var(--ies-button-line-height, 1.2) !important;
	letter-spacing: 0 !important;
	color: var(--ies-button-link-color, #11294B) !important;
	text-decoration: none !important;
}

.elementor .arrow-btn a:not(.ies-btn):hover,
.elementor .arrow-btn a:not(.ies-btn):focus-visible {
	color: var(--ies-button-link-hover, #5D43DE) !important;
}

.custom-cta-banner .button-container .button {
	font-family: var(--ies-font-display, Onest, sans-serif);
	font-size: var(--ies-button-font-size, 16px);
	font-weight: var(--ies-button-font-weight, 600);
	line-height: var(--ies-button-line-height, 1.2);
	padding: var(--ies-button-pad-y, 10px) var(--ies-button-pad-x, 24px);
	border-radius: var(--ies-button-radius, 50px);
	border: 2px solid var(--ies-button-primary, #5D43DE);
	background: var(--ies-button-primary, #5D43DE);
	color: var(--ies-button-text, #fff);
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease);
}

/* Global fallback for common button surfaces outside .ies-btn */
.button-container .button,
.text-link a,
.yellow-btn,
a.button,
button.button,
.cta_wrapper .btn a,
.ies-cta-banner__btn,
.mega-btn,
.ies-mobile-header-cta,
.ies-mobile-cta {
	transition: var(--ies-button-transition, background 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease);
}

.custom-cta-banner .button-container .button:hover,
.custom-cta-banner .button-container .button:focus-visible {
	background: var(--ies-button-hover, #4D4285);
	border-color: var(--ies-button-hover, #4D4285);
	color: var(--ies-button-text-hover, #fff);
}
