/* DVG Newsticker – Ausgabe & Frontend-Eingabe */
.dvg-nt {
	--dvg-nt-bg: #C8387E;
	--dvg-nt-color: #fff;
	--dvg-nt-fs: 18px;
	--dvg-nt-fw: 700;
	--dvg-nt-ff: Inter, 'Helvetica Neue', Arial, sans-serif;
	--dvg-nt-tt: none;
	--dvg-nt-ls: 0px;
	--dvg-nt-h: 48px;
	--dvg-nt-px: 16px;
	--dvg-nt-r: 0px;
	--dvg-nt-bw: 0px;
	--dvg-nt-bc: #1A3C5A;
	--dvg-nt-gap: 48px;
	--dvg-nt-label-bg: #1A3C5A;
	--dvg-nt-label-color: #fff;
	display: flex;
	align-items: stretch;
	width: 100%;
	height: var(--dvg-nt-h);
	box-sizing: border-box;
	overflow: hidden;
	background: var(--dvg-nt-bg);
	color: var(--dvg-nt-color);
	font-family: var(--dvg-nt-ff);
	font-size: var(--dvg-nt-fs);
	font-weight: var(--dvg-nt-fw);
	text-transform: var(--dvg-nt-tt);
	letter-spacing: var(--dvg-nt-ls);
	line-height: 1.2;
	border: var(--dvg-nt-bw) solid var(--dvg-nt-bc);
	border-radius: var(--dvg-nt-r);
}
.dvg-nt[hidden],
.dvg-nt__label[hidden] { display: none !important; }

.dvg-nt__label {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	padding: 0 var(--dvg-nt-px);
	background: var(--dvg-nt-label-bg);
	color: var(--dvg-nt-label-color);
	white-space: nowrap;
	position: relative;
	z-index: 1;
}
.dvg-nt__viewport {
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.dvg-nt__track {
	display: inline-flex;
	flex: 0 0 auto;
	white-space: nowrap;
	will-change: transform;
	animation: dvg-nt-scroll var(--dvg-nt-dur, 20s) linear infinite;
}
.dvg-nt__group {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
}
.dvg-nt__item { padding: 0 calc(var(--dvg-nt-gap) / 2); }
.dvg-nt__sep { opacity: .85; }
.dvg-nt__link,
.dvg-nt__link:hover,
.dvg-nt__link:focus { color: inherit !important; text-decoration: none; }
.dvg-nt__link:hover,
.dvg-nt__link:focus-visible { text-decoration: underline; }

.dvg-nt--dir-right .dvg-nt__track { animation-direction: reverse; }
.dvg-nt--pause:hover .dvg-nt__track,
.dvg-nt--pause:focus-within .dvg-nt__track { animation-play-state: paused; }

@keyframes dvg-nt-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (max-width: 600px) {
	.dvg-nt { font-size: calc(var(--dvg-nt-fs) * .88); }
}

@media (prefers-reduced-motion: reduce) {
	.dvg-nt__track { animation: none; white-space: normal; }
	.dvg-nt__group[aria-hidden="true"],
	.dvg-nt__group .dvg-nt__sep { display: none; }
	.dvg-nt__item { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 var(--dvg-nt-px); }
	.dvg-nt__track, .dvg-nt__group { max-width: 100%; }
}

/* Frontend-Eingabe */
.dvg-nt-form { max-width: 760px; margin: 0 auto; }
.dvg-nt-form .dvg-nt-field { margin: 0 0 1em; }
.dvg-nt-form .dvg-nt-field label { display: block; margin-bottom: .3em; }
.dvg-nt-form .dvg-nt-check label { display: inline-flex; align-items: center; gap: .5em; }
.dvg-nt-form textarea,
.dvg-nt-form input[type="text"],
.dvg-nt-form input[type="password"],
.dvg-nt-form input[type="datetime-local"] {
	width: 100%;
	box-sizing: border-box;
	padding: .6em .75em;
	border: 1px solid #c7ccd3;
	border-radius: 6px;
	font: inherit;
}
.dvg-nt-form input:disabled { opacity: .5; }
.dvg-nt-form small { display: block; color: #5b6573; margin-top: .3em; }
.dvg-nt-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; }
@media (max-width: 600px) { .dvg-nt-row { grid-template-columns: 1fr; } }
.dvg-nt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.dvg-nt-preview-wrap { margin: 1.25em 0; }
.dvg-nt-preview-title { display: block; font-weight: 600; margin-bottom: .4em; }

.dvg-nt-actions { display: flex; flex-wrap: wrap; gap: .6em; align-items: center; }
.dvg-nt-btn {
	display: inline-block;
	padding: .65em 1.3em;
	border: 2px solid #1A3C5A;
	border-radius: 6px;
	background: #fff;
	color: #1A3C5A;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	line-height: 1.2;
}
.dvg-nt-btn--primary { background: #C8387E; border-color: #C8387E; color: #fff; }
.dvg-nt-btn--primary:hover { background: #a92d69; border-color: #a92d69; }
.dvg-nt-btn--link { border-color: transparent; background: none; text-decoration: underline; padding-left: .3em; padding-right: .3em; }

.dvg-nt-msg { padding: .75em 1em; border-radius: 6px; margin: 0 0 1em; }
.dvg-nt-msg--success { background: #e7f6ec; color: #1d6b35; }
.dvg-nt-msg--error   { background: #fdecef; color: #9b1c3a; }
.dvg-nt-msg--info    { background: #eef3f8; color: #1A3C5A; }

.dvg-nt-status { padding: .75em 1em; border-left: 4px solid #8a94a3; background: #f5f6f8; border-radius: 4px; margin: 0 0 1.25em; }
.dvg-nt-status--aktiv   { border-color: #2e9d55; }
.dvg-nt-status--geplant { border-color: #e0a100; }
.dvg-nt-status--beendet { border-color: #C8387E; }
