.ndt-automotive-toolkit {
	--ndt-auto-accent: #007f9b;
	--ndt-auto-dark: #0b1f33;
	--ndt-auto-border: #aeb8c2;
	--ndt-auto-surface: #fff;
	background: var(--ndt-auto-surface);
	border: 1px solid var(--ndt-auto-border);
	border-top: 4px solid var(--ndt-auto-accent);
	box-sizing: border-box;
	color: #17212b;
	font: inherit;
	max-width: 48rem;
	padding: clamp(1rem, 3vw, 2rem);
}

.ndt-automotive-toolkit *,
.ndt-automotive-toolkit *::before,
.ndt-automotive-toolkit *::after {
	box-sizing: border-box;
}

.ndt-automotive-toolkit__title {
	color: var(--ndt-auto-dark);
	font-size: clamp(1.25rem, 3vw, 1.75rem);
	margin-top: 0;
}

.ndt-automotive-toolkit__field label,
.ndt-automotive-toolkit__choices > p strong {
	display: block;
	font-weight: 700;
	margin-bottom: .35rem;
}

.ndt-automotive-toolkit__input {
	background: #fff;
	border: 2px solid #65717d;
	border-radius: .2rem;
	color: #17212b;
	display: block;
	font: inherit;
	max-width: 100%;
	min-height: 2.75rem;
	padding: .55rem .7rem;
	width: 18rem;
}

.ndt-automotive-toolkit__choice {
	display: flex;
	gap: .55rem;
	margin: .55rem 0;
}

.ndt-automotive-toolkit__optional {
	background: #f6f8fa;
	border: 1px solid var(--ndt-auto-border);
	margin: 1.25rem 0;
	padding: .85rem 1rem;
}

.ndt-automotive-toolkit__optional-title {
	margin: 0 0 .65rem;
}

.ndt-automotive-toolkit__optional-title span {
	color: #3e4a55;
}

.ndt-automotive-toolkit__choice input {
	flex: 0 0 auto;
	height: 1.25rem;
	margin-top: .15rem;
	width: 1.25rem;
}

.ndt-automotive-toolkit__button {
	background: var(--ndt-auto-dark);
	border: 2px solid var(--ndt-auto-dark);
	border-radius: .2rem;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 2.75rem;
	padding: .6rem 1rem;
}

.ndt-automotive-toolkit__button:hover {
	background: #143b5c;
}

.ndt-automotive-toolkit__button--secondary {
	background: #fff;
	color: var(--ndt-auto-dark);
}

.ndt-automotive-toolkit__button--secondary:hover {
	background: #edf7f9;
}

.ndt-automotive-toolkit :focus-visible {
	outline: 3px solid #c94fd8;
	outline-offset: 3px;
}

.ndt-automotive-toolkit__result {
	background: #edf7f9;
	border-left: 4px solid var(--ndt-auto-accent);
	padding: 1rem;
}

.ndt-automotive-toolkit__notice {
	color: #3e4a55;
	font-size: .925rem;
}

.ndt-automotive-toolkit__notice--legal {
	border-top: 1px solid var(--ndt-auto-border);
	line-height: 1.55;
	margin-top: 1.25rem;
	padding-top: 1rem;
}

@media (max-width: 30rem) {
	.ndt-automotive-toolkit {
		padding: 1rem;
	}

	.ndt-automotive-toolkit__input,
	.ndt-automotive-toolkit__button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ndt-automotive-toolkit *,
	.ndt-automotive-toolkit *::before,
	.ndt-automotive-toolkit *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

@media (forced-colors: active) {
	.ndt-automotive-toolkit,
	.ndt-automotive-toolkit__result {
		border: 2px solid CanvasText;
	}

	.ndt-automotive-toolkit__button {
		forced-color-adjust: auto;
	}
}

@media print {
	.ndt-automotive-toolkit__field,
	.ndt-automotive-toolkit__choices,
	.ndt-automotive-toolkit__choice,
	.ndt-automotive-toolkit__button {
		display: none;
	}

	.ndt-automotive-toolkit {
		border: 1px solid #000;
		max-width: none;
	}
}
