/* LD24 Einwilligung – Farben folgen dem Theme, wenn vorhanden. */
.ld24c {
	--ld24c-tinte: var(--tinte, #13233a);
	--ld24c-papier: var(--weiss, #fff);
	--ld24c-leise: var(--leise, #5b6b7f);
	--ld24c-linie: var(--linie, #c9d6e2);
	--ld24c-akzent: var(--spinnaker, #f2b705);
	position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 99999;
	max-width: 40rem; margin: 0 auto;
	background: var(--ld24c-papier); color: var(--ld24c-tinte);
	border: 2px solid var(--ld24c-tinte); border-radius: 12px;
	box-shadow: 0 16px 48px rgba(19, 35, 58, .25);
	font-size: 1rem; line-height: 1.5;
}
.ld24c[hidden] { display: none; }
.ld24c__innen { padding: 1.1rem 1.25rem 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
.ld24c__titel { margin: 0 0 .35rem; font-weight: 800; font-size: 1.15rem; }
.ld24c__titel:focus { outline: none; }
.ld24c__text { margin: 0 0 .9rem; }
.ld24c__details { margin: 0 0 .9rem; padding: .75rem 0 0; border-top: 1px solid var(--ld24c-linie); }
.ld24c__zeile { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 .6rem; font-size: .95rem; cursor: pointer; }
.ld24c__zeile input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; flex: none; accent-color: var(--ld24c-tinte); }
.ld24c__id { margin: .25rem 0 0; font-size: .82rem; color: var(--ld24c-leise); }
.ld24c__id code { font-size: .8rem; word-break: break-all; }
.ld24c__knoepfe { display: flex; flex-wrap: wrap; gap: .5rem; }
/* Akzeptieren und Ablehnen sehen gleich aus: gleiche Größe, Farbe und Position auf der ersten Ebene. */
.ld24c__knopf { flex: 1 1 9rem; padding: .7rem 1rem; font: inherit; font-weight: 700; color: var(--ld24c-papier); background: var(--ld24c-tinte); border: 2px solid var(--ld24c-tinte); border-radius: 8px; cursor: pointer; }
.ld24c__knopf:hover { background: #24395a; }
.ld24c__knopf:focus-visible { outline: 3px solid var(--ld24c-akzent); outline-offset: 2px; }
.ld24c__knopf--leise { background: transparent; color: var(--ld24c-tinte); }
.ld24c__knopf--leise:hover { background: rgba(19, 35, 58, .06); }
.ld24c__knopf[hidden] { display: none; }
.ld24c__links { margin: .75rem 0 0; display: flex; gap: 1rem; font-size: .88rem; }
.ld24c__links a { color: var(--ld24c-tinte); }
@media (max-width: 480px) {
	.ld24c { left: .5rem; right: .5rem; bottom: .5rem; }
	.ld24c__knopf { flex-basis: 100%; }
}
@media print { .ld24c { display: none !important; } }
