/* OKCID button with variant-specific directional arrow motion. */
.okcid-button {
	display: flex;
	width: 100%;
}

.okcid-button__link {
	--okcid-button-dark: var(--e-global-color-text, #2d2d2f);
	--okcid-button-light: var(--e-global-color-4756d5c, #fff);
	--okcid-button-focus: var(--e-global-color-secondary, #3096ff);
	--okcid-button-arrow-shift: 5px;

	position: relative;
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	gap: 5px;
	padding: 6px 14px 6px 16px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family: var(--e-global-typography-77f1c12-font-family, "Raleway"), Arial, sans-serif;
	font-size: var(--e-global-typography-77f1c12-font-size, 16px);
	font-style: var(--e-global-typography-77f1c12-font-style, normal);
	font-weight: var(--e-global-typography-77f1c12-font-weight, 700);
	line-height: var(--e-global-typography-77f1c12-line-height, 1);
	text-decoration: none;
	transform: scale(1);
	transition: transform 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.okcid-button__link::before {
	position: absolute;
	inset: -9px 0;
	content: "";
}

.okcid-button__link--dark,
a.okcid-button__link--dark:hover,
a.okcid-button__link--dark:focus,
a.okcid-button__link--dark:active,
.okcid-form--button-dark .okcid-button__link {
	background-color: var(--okcid-button-dark);
	color: var(--okcid-button-light);
}

.okcid-button__link--light,
a.okcid-button__link--light:hover,
a.okcid-button__link--light:focus,
a.okcid-button__link--light:active,
.okcid-form--button-light .okcid-button__link {
	background-color: var(--okcid-button-light);
	color: var(--okcid-button-dark);
}

.okcid-button__link--transparent,
a.okcid-button__link--transparent:hover,
a.okcid-button__link--transparent:focus,
a.okcid-button__link--transparent:active,
.okcid-form--button-transparent .okcid-button__link {
	border-color: currentColor;
	background-color: transparent;
	color: var(--okcid-button-dark);
}

.okcid-button__link--plain,
a.okcid-button__link--plain:hover,
a.okcid-button__link--plain:focus,
a.okcid-button__link--plain:active {
	padding: 0;
	border: 0;
	background-color: transparent;
	color: var(--okcid-button-dark);
}

.okcid-button__link--plain .okcid-button__arrow-stage {
	right: 0;
	width: 20px;
	overflow: visible;
	border-radius: 0;
}

a.okcid-button__link:hover,
a.okcid-button__link:focus,
a.okcid-button__link:active {
	text-decoration: none;
}

.okcid-button__text {
	line-height: 1;
}

.okcid-button__arrow-space {
	display: block;
	flex: 0 0 auto;
	width: 20px;
	height: 10px;
}

.okcid-button__arrow-stage {
	position: absolute;
	inset-block: 0;
	right: 0;
	width: 34px;
	overflow: hidden;
	border-radius: 0 999px 999px 0;
	pointer-events: none;
	color: currentColor;
}

.okcid-button__arrow-copy {
	position: absolute;
	inset-block: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 20px;
	transform: translateX(0);
	transition: transform 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.okcid-button__arrow-copy:first-child {
	transform: translateX(-150%);
}

.okcid-button__link--plain .okcid-button__arrow-copy:first-child {
	display: none;
}

.okcid-button__arrow-svg {
	display: block;
	width: 20px;
	height: 10px;
	transform: translateY(1px);
}

.okcid-button__link--back {
	flex-direction: row-reverse;
}

.okcid-button__link--back:not(.okcid-button__link--plain) {
	padding-right: 16px;
	padding-left: 14px;
}

.okcid-button__link--back .okcid-button__arrow-stage {
	right: auto;
	left: 0;
	/* Mirror the standard arrow without changing its vertical alignment. */
	transform: scaleX(-1);
}

.okcid-button__link:focus-visible {
	outline: 3px solid var(--okcid-button-focus);
	outline-offset: 3px;
}

.okcid-button__link:active {
	transform: scale(0.97);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	:is(a, button).okcid-button__link:not(.okcid-button__link--plain):hover .okcid-button__arrow-copy:first-child,
	a.e-con:is(:hover, :focus-visible) .okcid-button__link--visual:not(.okcid-button__link--plain) .okcid-button__arrow-copy:first-child {
		transform: translateX(var(--okcid-button-arrow-shift));
	}

	:is(a, button).okcid-button__link:not(.okcid-button__link--plain):hover .okcid-button__arrow-copy:last-child,
	a.e-con:is(:hover, :focus-visible) .okcid-button__link--visual:not(.okcid-button__link--plain) .okcid-button__arrow-copy:last-child {
		transform: translateX(175%);
	}

	:is(a, button).okcid-button__link--plain:hover .okcid-button__arrow-copy:last-child,
	a.e-con:is(:hover, :focus-visible) .okcid-button__link--plain.okcid-button__link--visual .okcid-button__arrow-copy:last-child {
		transform: translateX(var(--okcid-button-arrow-shift));
	}
}

@media (prefers-reduced-motion: reduce) {
	.okcid-button__link {
		transform: none;
		transition: none;
	}

	.okcid-button__arrow-copy {
		transform: none;
		transition: none;
	}

	.okcid-button__arrow-copy:first-child {
		display: none;
	}
}
