/**
 * Magic Button — Lance Desk Elementor widget.
 */

.nm-btn-wrap {
	display: block;
	width: 100%;
}

.nm-btn {
	--nm-btn-text: #111111;

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	margin: 0;
	padding: 12px 28px;
	border: 0;
	background: transparent;
	color: var(--nm-btn-text);
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
	vertical-align: middle;
	transition-property: color, background-color, border-color, opacity, transform, filter;
	transition-timing-function: ease;
}

.nm-btn:hover,
.nm-btn:focus {
	color: var(--nm-btn-text);
	text-decoration: none;
}

.nm-btn:focus-visible {
	outline: 2px solid #fdd551;
	outline-offset: 3px;
}

.nm-btn--block {
	display: flex;
	width: 100%;
}

.elementor-align-justify .nm-btn,
.elementor-tablet-align-justify .nm-btn,
.elementor-mobile-align-justify .nm-btn {
	display: flex;
	width: 100%;
}

.nm-btn__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	pointer-events: none;
	transition-property: opacity;
	transition-timing-function: ease;
}

.nm-btn__content {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 0;
}

.nm-btn__text {
	display: inline-block;
	letter-spacing: 0.04em;
}

.nm-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex-shrink: 0;
}

.nm-btn__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.nm-btn__icon i {
	color: inherit;
}

/* Solid color mode */
.nm-btn--solid {
	background-color: #451266;
	border-style: solid;
	border-width: 0;
	border-color: #fdd551;
}

/* Editor / preview: keep artwork visible behind empty text */
.elementor-editor-active .nm-btn:not(.nm-btn--has-artwork):empty,
.elementor-editor-active .nm-btn .nm-btn__content:empty {
	min-width: 8rem;
	min-height: 1em;
}
