/* OA96 Cookies – Farben aus OA96 Kern (--oa96-*), mit Rückfallwerten. Salient-Stile werden über #oa96-ck neutralisiert. */
#oa96-ck[hidden], .oa96-ck-fab[hidden], #oa96-ck [hidden] { display: none !important; }

#oa96-ck {
	--ck-a: var(--oa96-accent, #1F5C7A);
	--ck-ad: var(--oa96-accent-d, #163f54);
	--ck-al: var(--oa96-accent-l, #eef4f8);
	--ck-ink: var(--oa96-ink, #1c2937);
	--ck-mut: var(--oa96-muted, #68727e);
	--ck-line: var(--oa96-line, #e2e7ec);
	position: fixed; z-index: 2147483000; left: 16px; bottom: 16px;
	width: min(560px, calc(100vw - 32px));
	font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--ck-ink); text-align: left; letter-spacing: normal;
}
#oa96-ck * { box-sizing: border-box; }
#oa96-ck .oa96-ck-box {
	position: relative; background: #fff; border-radius: 14px; padding: 20px 20px 14px;
	box-shadow: 0 10px 40px rgba(16, 32, 48, .22), 0 0 0 1px rgba(16, 32, 48, .06);
	max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; outline: none;
}
#oa96-ck h2 { margin: 0 32px 8px 0; padding: 0; font-family: inherit; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--ck-ink); text-transform: none; letter-spacing: 0; }
#oa96-ck p { margin: 0 0 12px; padding: 0; font-size: 14.5px; line-height: 1.5; color: var(--ck-ink); }
#oa96-ck a { color: var(--ck-a); text-decoration: underline; }

/* Knöpfe: „Nur notwendige“ und „Alle akzeptieren“ bewusst gleich auffällig */
#oa96-ck .oa96-ck-btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
.oa96-ck-b {
	appearance: none; -webkit-appearance: none; flex: 1 1 0; min-width: 130px; min-height: 46px; margin: 0 !important;
	padding: 10px 14px !important; border-radius: 10px !important; border: 2px solid var(--ck-a, #1F5C7A) !important;
	font-family: inherit !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer;
	box-shadow: none !important; transition: background .15s, color .15s;
}
.oa96-ck-b.is-main { background: var(--ck-a, #1F5C7A) !important; color: #fff !important; }
.oa96-ck-b.is-main:hover, .oa96-ck-b.is-main:focus-visible { background: var(--ck-ad, #163f54) !important; border-color: var(--ck-ad, #163f54) !important; }
.oa96-ck-b.is-alt { background: #fff !important; color: var(--ck-a, #1F5C7A) !important; }
.oa96-ck-b.is-alt:hover, .oa96-ck-b.is-alt:focus-visible { background: var(--ck-al, #eef4f8) !important; }
.oa96-ck-b:focus-visible, .oa96-ck-x:focus-visible, .oa96-ck-fab:focus-visible { outline: 3px solid #f0b429 !important; outline-offset: 2px; }
#oa96-ck .oa96-ck-links { margin: 6px 0 0; font-size: 13px; color: var(--ck-mut); }

#oa96-ck .oa96-ck-x {
	position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; padding: 0 !important; margin: 0 !important;
	border: 0 !important; border-radius: 50% !important; background: transparent !important; color: var(--ck-mut) !important;
	font-family: inherit !important; font-size: 28px !important; font-weight: 400 !important; line-height: 40px !important; cursor: pointer; box-shadow: none !important;
}
#oa96-ck .oa96-ck-x:hover { background: var(--ck-al) !important; color: var(--ck-ink) !important; }

/* Kategorien */
#oa96-ck .oa96-ck-panel { margin: 4px 0 0; }
.oa96-ck-cat { border: 1px solid var(--ck-line, #e2e7ec); border-radius: 10px; padding: 12px 14px; margin: 0 0 8px; background: #fff; }
.oa96-ck-cat p { margin: 6px 0 4px !important; font-size: 14px !important; color: var(--ck-mut, #68727e) !important; }
.oa96-ck-cat h3 { margin: 0; font-size: 16px; }
.oa96-ck-cat details { margin: 4px 0 0; }
.oa96-ck-cat summary { cursor: pointer; color: var(--ck-a, #1F5C7A); font-size: 13.5px; padding: 4px 0; list-style: revert; }
.oa96-ck-cookies { list-style: none !important; margin: 6px 0 0 !important; padding: 0 !important; }
.oa96-ck-cookies li { margin: 0 0 6px !important; padding: 0 !important; font-size: 13px; line-height: 1.4; list-style: none !important; }
.oa96-ck-cookies li::before { display: none !important; }
.oa96-ck-cookies code { display: inline-block; margin: 0 6px 2px 0; padding: 1px 6px; border-radius: 5px; background: var(--ck-al, #eef4f8); color: var(--ck-ink, #1c2937); font-size: 12.5px; word-break: break-all; }
.oa96-ck-cookies em { color: var(--ck-mut, #68727e); font-style: normal; }

/* Schalter: großes Antippziel, Häkchen unsichtbar */
.oa96-ck-sw { display: flex !important; align-items: center; gap: 12px; min-height: 36px; margin: 0 !important; cursor: pointer; font-size: 16px; }
.oa96-ck-sw input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.oa96-ck-sl { position: relative; flex: 0 0 48px; width: 48px; height: 28px; border-radius: 14px; background: #c3cad2; transition: background .15s; }
.oa96-ck-sl::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .15s; }
.oa96-ck-sw input:checked + .oa96-ck-sl { background: var(--ck-a, #1F5C7A); }
.oa96-ck-sw input:checked + .oa96-ck-sl::after { transform: translateX(20px); }
.oa96-ck-sw input:focus-visible + .oa96-ck-sl { outline: 3px solid #f0b429; outline-offset: 2px; }
.oa96-ck-sw.is-fixed { cursor: default; }
.oa96-ck-sw.is-fixed .oa96-ck-sl { opacity: .55; }
.oa96-ck-sw small { margin-left: auto; color: var(--ck-mut, #68727e); font-size: 12.5px; }

/* Handy: unten volle Breite, Knöpfe untereinander */
@media (max-width: 600px) {
	#oa96-ck { left: 8px; right: 8px; bottom: 8px; width: auto; }
	#oa96-ck .oa96-ck-box { padding: 16px 16px 12px; max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); }
	#oa96-ck .oa96-ck-btns { flex-direction: column; }
	.oa96-ck-b { width: 100%; flex: none; }
}

/* Schwebender Knopf */
.oa96-ck-fab {
	position: fixed; z-index: 2147482000; left: 14px; bottom: 14px; width: 44px; height: 44px; padding: 0 !important; margin: 0 !important;
	border: 0 !important; border-radius: 50% !important; background: var(--oa96-accent, #1F5C7A) !important; color: #fff !important;
	display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.25) !important; opacity: .85;
}
.oa96-ck-fab:hover { opacity: 1; }

/* Platzhalter für Einbettungen */
.oa96-ck-ph {
	position: relative; width: 100%; margin: 0 0 1em; border-radius: 10px; overflow: hidden;
	background: linear-gradient(135deg, var(--oa96-accent-l, #eef4f8), #dde6ee); color: var(--oa96-ink, #1c2937);
	display: flex; align-items: center; justify-content: center; min-height: 200px;
}
.oa96-ck-ph-in { max-width: 460px; padding: 20px; text-align: center; }
.oa96-ck-ph-in strong { display: block; font-size: 17px; margin: 0 0 6px; }
.oa96-ck-ph-in p { margin: 0 0 12px !important; font-size: 14px; line-height: 1.45; }
.oa96-ck-ph-in a { color: var(--oa96-accent, #1F5C7A); }
.oa96-ck-ph-b { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.oa96-ck-ph-b .oa96-ck-b { --ck-a: var(--oa96-accent, #1F5C7A); --ck-ad: var(--oa96-accent-d, #163f54); --ck-al: var(--oa96-accent-l, #eef4f8); flex: 0 1 auto; }
.oa96-ck-loaded { margin: 0 0 1em; }
.oa96-ck-loaded iframe { max-width: 100%; }

/* Liste für die Datenschutzerklärung */
.oa96-ck-liste { --ck-a: var(--oa96-accent, #1F5C7A); --ck-al: var(--oa96-accent-l, #eef4f8); --ck-line: var(--oa96-line, #e2e7ec); --ck-mut: var(--oa96-muted, #68727e); --ck-ink: var(--oa96-ink, #1c2937); margin: 1em 0; }
.oa96-ck-status { margin-top: 10px; }
