/* Freigegebene Komponenten-Tokens — gemeinsam für alle öffentlichen Templates. */
:root {
	--ds-blue: #009ddf;
	--ds-blue-strong: #0089c4;
	--ds-ink: #0b151d;
	--ds-navy: #07131c;
	--ds-muted: #667782;
	--ds-surface: #f3f6f7;
	--ds-line: #dce3e7;
	--ds-gutter: clamp(1rem,3vw,2.75rem);
	--ds-section: clamp(4rem,7vw,7.5rem);
	--ds-touch: 44px;
	--ds-focus: 3px solid var(--ds-blue);
}

:where(a[href],button,input,select,textarea,summary,[tabindex]):focus-visible {
	outline: var(--ds-focus);
	outline-offset: 3px;
}

button,
input,
select,
textarea {
	font: inherit;
}

select {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	background-image:
		linear-gradient(45deg,transparent 50%,currentColor 50%),
		linear-gradient(135deg,currentColor 50%,transparent 50%);
	background-position:
		calc(100% - 18px) 50%,
		calc(100% - 13px) 50%;
	background-size: 5px 5px,5px 5px;
	background-repeat: no-repeat;
	padding-right: 2.75rem;
}

.section-head,
.study-head {
	min-width: 0;
}
.section-head > *,
.study-head > * {
	min-width: 0;
}
.section-head h1,
.section-head h2,
.study-head h1,
.study-head h2,
.hero h1 {
	overflow-wrap: anywhere;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.btn,
.button,
button[type="submit"],
input[type="submit"] {
	min-height: var(--ds-touch);
}

.card,
.tile,
.panel,
.notice,
.form,
.table-wrap {
	border-color: var(--ds-line);
}

.table-wrap {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.form input,
.form select,
.form textarea {
	min-height: var(--ds-touch);
}

.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

[hidden] { display: none !important; }
[id] { scroll-margin-top: calc(var(--shell-height,68px) + 1rem); }

