/* Lamda Button */
.button.luxf-btn,
a.button.luxf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45em;
	vertical-align: middle;
	box-sizing: border-box;
	text-decoration: none;
	background: var(--luxf-btn-bg, var(--fs-color-primary, #446084)) !important;
	color: var(--luxf-btn-color, #fff) !important;
	border-width: var(--luxf-btn-border-width, 0) !important;
	border-style: var(--luxf-btn-border-style, solid) !important;
	border-color: var(--luxf-btn-border-color, rgba(0, 0, 0, 0.05)) !important;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, border-width 0.25s ease, box-shadow 0.25s ease, gap 0.25s ease, opacity 0.25s ease;
}

.button.luxf-btn:hover,
.button.luxf-btn:focus,
a.button.luxf-btn:hover,
a.button.luxf-btn:focus {
	background: var(--luxf-btn-hover-bg, var(--luxf-btn-bg, var(--fs-color-primary, #446084))) !important;
	color: var(--luxf-btn-hover-color, var(--luxf-btn-color, #fff)) !important;
	border-width: var(--luxf-btn-hover-border-width, var(--luxf-btn-border-width, 0)) !important;
	border-style: var(--luxf-btn-hover-border-style, var(--luxf-btn-border-style, solid)) !important;
	border-color: var(--luxf-btn-hover-border-color, var(--luxf-btn-border-color, rgba(0, 0, 0, 0.05))) !important;
}

.button.luxf-btn.is-outline,
.button.luxf-btn.is-link,
.button.luxf-btn.is-underline,
a.button.luxf-btn.is-outline,
a.button.luxf-btn.is-link,
a.button.luxf-btn.is-underline {
	background: var(--luxf-btn-bg, transparent) !important;
	color: var(--luxf-btn-color, var(--fs-color-primary, #446084)) !important;
}

.button.luxf-btn.is-outline,
a.button.luxf-btn.is-outline {
	border-width: var(--luxf-btn-border-width, 2px) !important;
	border-color: var(--luxf-btn-border-color, currentColor) !important;
}

.button.luxf-btn.is-outline:hover,
.button.luxf-btn.is-outline:focus,
a.button.luxf-btn.is-outline:hover,
a.button.luxf-btn.is-outline:focus {
	background: var(--luxf-btn-hover-bg, var(--luxf-btn-color, var(--fs-color-primary, #446084))) !important;
	color: var(--luxf-btn-hover-color, #fff) !important;
	border-color: var(--luxf-btn-hover-border-color, var(--luxf-btn-hover-bg, currentColor)) !important;
}

.luxf-btn.expand {
	width: 100%;
}

.luxf-btn__text {
	display: inline-block;
	line-height: 1.2;
}

.luxf-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
	font-size: var(--luxf-btn-icon-size, 1em);
	width: 1em;
	height: 1em;
	color: inherit;
}

.luxf-btn__icon i,
.luxf-btn__icon svg,
.luxf-btn__icon img,
.luxf-btn__icon .luxf-icon__svg,
.luxf-btn__icon .luxf-icon-img {
	display: block;
	width: 1em;
	height: 1em;
	font-size: 1em;
	line-height: 1;
	object-fit: contain;
	color: inherit;
	fill: currentColor;
}

.luxf-btn__icon svg *:not([fill='none']) {
	fill: currentColor !important;
}

.luxf-btn--icon-hover {
	gap: 0;
}

.luxf-btn--icon-hover .luxf-btn__icon {
	max-width: 0;
	opacity: 0;
	overflow: hidden;
	margin: 0;
	transform: scale(0.6);
	transition: max-width 0.3s ease, opacity 0.3s ease, margin 0.3s ease, transform 0.3s ease;
}

.luxf-btn--icon-hover:hover .luxf-btn__icon,
.luxf-btn--icon-hover:focus .luxf-btn__icon {
	max-width: 2em;
	opacity: 1;
	transform: scale(1);
	margin-inline: 0.22em;
}
