/**
 * ET-Button — shared Euroterminal CTA.
 * Colors map to Elementor kit tokens (CSS variables in style.css).
 *
 * Lime  = Accent / Signal Lime (#F2FC2A) → hover Primary / Terminal Blue (#234DF1)
 * Blue  = Primary / Terminal Blue (#234DF1) → hover Secondary / Transit Navy (#19349E)
 */

.et-button-wrap {
	display: block;
}

.et-button {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	max-width: 100%;
	border: 0;
	border-radius: 999px;
	text-decoration: none;
	font-family: var(--et-font);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	cursor: pointer;
	box-sizing: border-box;
	transition:
		background-color 0.28s ease,
		color 0.28s ease,
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.28s ease;
}

.et-button__label {
	flex: 0 1 auto;
	min-width: 0;
}

.et-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	flex: 0 0 auto;
	transition:
		background-color 0.28s ease,
		color 0.28s ease,
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.et-button__icon svg,
.et-button__icon i {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.et-button:hover,
.et-button:focus {
	transform: translateY(-2px);
}

.et-button:focus-visible {
	outline: 2px solid var(--et-terminal-blue);
	outline-offset: 3px;
}

/* —— Sizes —— */
.et-button--sm {
	gap: 10px;
	padding: 6px 8px 6px 16px;
	font-size: 13px;
}

.et-button--sm .et-button__icon {
	width: 28px;
	height: 28px;
	font-size: 12px;
}

.et-button--md {
	gap: 12px;
	padding: 8px 10px 8px 22px;
	font-size: 15px;
}

.et-button--md .et-button__icon {
	width: 36px;
	height: 36px;
	font-size: 14px;
}

.et-button--lg {
	gap: 14px;
	padding: 10px 12px 10px 26px;
	font-size: 17px;
}

.et-button--lg .et-button__icon {
	width: 44px;
	height: 44px;
	font-size: 16px;
}

/* —— Lime → Primary Blue —— */
.et-button--lime {
	background-color: var(--et-signal-lime); /* Accent / Signal Lime */
	color: var(--et-text-dark);
	box-shadow: 0 10px 28px rgba(242, 252, 42, 0.28);
}

.et-button--lime .et-button__icon {
	background-color: var(--et-pure-white);
	color: var(--et-text-dark);
}

.et-button--lime:hover,
.et-button--lime:focus {
	background-color: var(--et-terminal-blue); /* Primary */
	color: var(--et-pure-white);
	box-shadow: 0 14px 32px rgba(35, 77, 241, 0.32);
}

.et-button--lime:hover .et-button__icon,
.et-button--lime:focus .et-button__icon {
	background-color: var(--et-signal-lime);
	color: var(--et-text-dark);
	transform: translateX(2px);
}

/* —— Primary Blue → Transit Navy —— */
.et-button--blue {
	background-color: var(--et-terminal-blue); /* Primary */
	color: var(--et-pure-white);
	box-shadow: 0 10px 28px rgba(35, 77, 241, 0.28);
}

.et-button--blue .et-button__icon {
	background-color: var(--et-pure-white);
	color: var(--et-terminal-blue);
}

.et-button--blue:hover,
.et-button--blue:focus {
	background-color: var(--et-transit-navy); /* Secondary */
	color: var(--et-pure-white);
	box-shadow: 0 14px 32px rgba(25, 52, 158, 0.35);
}

.et-button--blue:hover .et-button__icon,
.et-button--blue:focus .et-button__icon {
	background-color: var(--et-signal-lime);
	color: var(--et-text-dark);
	transform: translateX(2px);
}
