.ObValueToggleOption {
	display: flex;
	align-items: center;
	margin: 0;
	position: relative;
}

.ObValueToggleLabel {
	font-size: 0.8em;
	margin: 0 0.2em;
	padding: 0.3em 0.5em;
	text-transform: uppercase;
	transition:
		background 0.2s ease,
		color 0.2s ease;
	border-radius: 4px;
}

.ObValueToggleGroup {
	padding: 0.25rem;
	border: 2px solid rgb(0 0 0 / 0.2);
	border-radius: 4px;

	display: flex;
	gap: 0.25rem;
	flex-wrap: wrap;

	&.vertical {
		flex-direction: column;
		align-items: center;

		& .ObValueToggleOption {
			width: 100%;

			& .ObValueToggleLabel {
				width: 100%;
				text-align: center;
			}
		}
	}

	&:focus-within {
		border-color: rgb(0 0 0 / 0.8);
	}
}

.ObValueToggleOption input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.ObValueToggleOption:hover input:not(:disabled) + .ObValueToggleLabel {
	cursor: pointer;
	background: #ccc;
}

.ObValueToggleOption input:checked + .ObValueToggleLabel {
	--color-bg: var(--brand-dark);
	background-color: var(--color-bg);
	color: white;
	cursor: default;
}

.ObValueToggleOption input:disabled + .ObValueToggleLabel {
	color: rgb(0 0 0 / 0.5);
}

.ObValueToggleOption input:checked:focus-visible + .ObValueToggleLabel {
	--color-bg: var(--brand-light);
	outline: 2px solid var(--brand-light);
}

.ObValueToggleOption input:checked:hover + .ObValueToggleLabel {
	background-color: var(--color-bg);
}
