/**
 * OMS Cookie — banner + voorkeuren-modal.
 * Neutraal ontwerp; accent via --oms-cookie-accent (per-site instelbaar).
 */
.oms-cookie {
	--oms-cookie-accent: #c9a227;
	--oms-cookie-bg: #ffffff;
	--oms-cookie-text: #1f2329;
	--oms-cookie-muted: #5b6470;
	--oms-cookie-border: #e6e8eb;
	position: fixed;
	z-index: 2147483000; /* boven vrijwel alles, ook sticky-bars */
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--oms-cookie-text);
}
.oms-cookie[hidden] { display: none; }

.oms-cookie--bottom-left { left: 1rem; bottom: 1rem; }
.oms-cookie--bottom-right { right: 1rem; bottom: 1rem; }
.oms-cookie--bottom-bar { left: 0; right: 0; bottom: 0; }

.oms-cookie__banner,
.oms-cookie__prefs {
	background: var(--oms-cookie-bg);
	border: 1px solid var(--oms-cookie-border);
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
	padding: 1.25rem 1.25rem 1.1rem;
	width: min(380px, calc(100vw - 2rem));
}
.oms-cookie--bottom-bar .oms-cookie__banner {
	width: 100%;
	border-radius: 0;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	max-width: none;
}
.oms-cookie--bottom-bar .oms-cookie__text { flex: 1 1 260px; margin: 0; }
.oms-cookie--bottom-bar .oms-cookie__title { flex-basis: 100%; }

.oms-cookie__title {
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}
.oms-cookie__text {
	margin: 0 0 0.9rem;
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--oms-cookie-muted);
}
.oms-cookie__link { color: var(--oms-cookie-accent); text-decoration: underline; }

.oms-cookie__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.oms-cookie__btn {
	flex: 1 1 auto;
	min-height: 42px;
	padding: 0.55rem 1rem;
	border-radius: 9px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent;
	transition: filter 0.15s, background 0.15s;
}
.oms-cookie__btn--primary {
	background: var(--oms-cookie-accent);
	color: #1a1a18;
}
.oms-cookie__btn--primary:hover { filter: brightness(0.94); }
.oms-cookie__btn--ghost {
	background: transparent;
	border-color: var(--oms-cookie-border);
	color: var(--oms-cookie-text);
}
.oms-cookie__btn--ghost:hover { background: #f4f5f6; }

/* Voorkeuren */
.oms-cookie__prefs { width: min(420px, calc(100vw - 2rem)); }
.oms-cookie__prefs[hidden] { display: none; }
.oms-cookie__cats { list-style: none; margin: 0.5rem 0 1rem; padding: 0; max-height: 46vh; overflow-y: auto; }
.oms-cookie__cat { padding: 0.7rem 0; border-bottom: 1px solid var(--oms-cookie-border); }
.oms-cookie__cat:last-child { border-bottom: 0; }
.oms-cookie__cat-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.oms-cookie__cat-name { font-weight: 600; font-size: 0.9rem; }
.oms-cookie__cat-locked { font-size: 0.72rem; color: var(--oms-cookie-muted); }
.oms-cookie__cat-desc { margin: 0.25rem 0 0; font-size: 0.78rem; line-height: 1.45; color: var(--oms-cookie-muted); }

/* Toggle-switch */
.oms-cookie__switch { position: relative; display: inline-block; width: 40px; height: 24px; flex-shrink: 0; }
.oms-cookie__switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.oms-cookie__slider {
	position: absolute; inset: 0; cursor: pointer;
	background: #cfd4da; border-radius: 999px; transition: background 0.2s;
}
.oms-cookie__slider::before {
	content: ""; position: absolute; height: 18px; width: 18px; left: 3px; top: 3px;
	background: #fff; border-radius: 50%; transition: transform 0.2s;
}
.oms-cookie__switch input:checked + .oms-cookie__slider { background: var(--oms-cookie-accent); }
.oms-cookie__switch input:checked + .oms-cookie__slider::before { transform: translateX(16px); }
.oms-cookie__switch input:focus-visible + .oms-cookie__slider { outline: 2px solid var(--oms-cookie-accent); outline-offset: 2px; }

@media (max-width: 600px) {
	.oms-cookie--bottom-left,
	.oms-cookie--bottom-right { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; }
	.oms-cookie__banner,
	.oms-cookie__prefs { width: auto; }
}
