.halform-language-switcher {
	--halform-switcher-gap: 0.125rem;
	--halform-switcher-padding: 0.1875rem;

	position: relative;
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: var(--halform-switcher-gap);
	isolation: isolate;
	min-width: max-content;
	border: 1px solid rgb(244 242 236 / 18%);
	border-radius: 999px;
	padding: var(--halform-switcher-padding);
	overflow: hidden;
}

.halform-language-switcher::before {
	position: absolute;
	z-index: 0;
	top: var(--halform-switcher-padding);
	bottom: var(--halform-switcher-padding);
	left: var(--halform-switcher-padding);
	width: calc((100% - (2 * var(--halform-switcher-padding)) - var(--halform-switcher-gap)) / 2);
	border: 1px solid rgb(102 183 69 / 22%);
	border-radius: 999px;
	background: rgb(102 183 69 / 20%);
	box-shadow: 0 0 1rem rgb(102 183 69 / 8%);
	content: "";
	transform: translate3d(0, 0, 0);
	transition: transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1), background-color 180ms ease;
	will-change: transform;
}

.halform-language-switcher[data-active-language="fr_CA"]::before {
	transform: translate3d(calc(100% + var(--halform-switcher-gap)), 0, 0);
}

.halform-language-switcher__link {
	position: relative;
	z-index: 1;
	display: inline-grid;
	place-items: center;
	min-width: 2rem;
	min-height: 1.75rem;
	border-radius: 999px;
	color: rgb(244 242 236 / 68%);
	font-size: 0.6875rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	transition: color 140ms ease;
}

.halform-language-switcher__link:is(:hover, :focus-visible),
.halform-language-switcher__link.is-current {
	color: #f4f2ec;
}

.halform-language-switcher__link:focus-visible {
	outline: 2px solid #66b745;
	outline-offset: 2px;
}

@media (max-width: 781px) {
	.halform-language-switcher {
		/* A length unit is required by the indicator's calc()/translate(). */
		--halform-switcher-gap: 0px;
	}

	.halform-language-switcher__link {
		min-width: 1.75rem;
		min-height: 1.625rem;
		font-size: 0.625rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.halform-language-switcher::before,
	.halform-language-switcher__link {
		transition-duration: 0.01ms;
	}
}
