.spreng-finder {
	--spreng-primary: #245b78;
	--spreng-background: #fff;
	--spreng-text: #17232b;
	--spreng-button-background: #245b78;
	--spreng-button-text: #fff;
	--spreng-border: #b8c4ca;
	--spreng-radius: 6px;
	max-width: 760px;
	padding: clamp(1rem, 3vw, 2rem);
	color: var(--spreng-text);
	background: var(--spreng-background);
	border: 1px solid var(--spreng-border);
	border-radius: var(--spreng-radius);
}
.spreng-finder__heading { margin-top: 0; color: var(--spreng-primary); }
.spreng-finder__intro { margin-top: -.25rem; }
.spreng-finder__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.spreng-finder__field { display: flex; flex-direction: column; gap: .35rem; }
.spreng-finder__field label { font-weight: 600; }
.spreng-finder__field input, .spreng-finder__field select { width: 100%; min-height: 44px; padding: .55rem .7rem; color: inherit; background: var(--spreng-background); border: 1px solid var(--spreng-border); border-radius: var(--spreng-radius); }
.spreng-finder__field [aria-invalid="true"] { border-color: #b42318; }
.spreng-finder__error { color: #b42318; font-size: .9em; }
.spreng-finder__submit, .spreng-result__cta { align-self: end; display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: .65rem 1rem; color: var(--spreng-button-text); background: var(--spreng-button-background); border: 2px solid var(--spreng-button-background); border-radius: var(--spreng-radius); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.spreng-finder[data-button-style="outline"] .spreng-finder__submit, .spreng-finder[data-button-style="outline"] .spreng-result__cta { color: var(--spreng-button-background); background: transparent; }
.spreng-finder__submit:focus-visible, .spreng-result__cta:focus-visible { outline: 3px solid var(--spreng-primary); outline-offset: 3px; }
.spreng-finder__submit:disabled { cursor: wait; opacity: .65; }
.spreng-finder__loading { align-self: center; }
.spreng-finder__result:not(:empty) { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--spreng-border); }
.spreng-result__heading { margin-top: 0; text-transform: uppercase; letter-spacing: .04em; font-size: 1rem; }
.spreng-result__price { margin: .5rem 0; font-size: clamp(1.6rem, 5vw, 2.5rem); font-weight: 700; }
.spreng-result__vat, .spreng-result__price span { font-size: .55em; font-weight: 600; }
.spreng-result__context { display: grid; gap: .4rem; }
.spreng-result__context div { display: grid; grid-template-columns: minmax(8rem, 1fr) 2fr; gap: .75rem; }
.spreng-result__context dt { font-weight: 600; }
.spreng-result__context dd { margin: 0; }
.spreng-result__supporting, .spreng-result__disclaimer { font-size: .92em; }
@media (max-width: 600px) { .spreng-finder__form { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .spreng-finder *, .spreng-finder *::before, .spreng-finder *::after { scroll-behavior: auto !important; transition: none !important; } }
