/* ThePixel cookie consent (plg_system_pxconsent) – everything scoped under #pxc */
#pxc {
	position: fixed; left: 24px; bottom: 24px; z-index: 2147482000; width: min(420px, calc(100vw - 32px));
	font-family: inherit; color: var(--ds-text, #161616);
}
#pxc[hidden] { display: none; }
#pxc .pxc-card {
	background: #fff; border-radius: var(--ds-r-md, 16px); padding: 20px 20px 18px;
	box-shadow: var(--ds-sh-float, 0 24px 50px -28px rgba(5,0,56,.35), 0 0 0 1px rgba(5,0,56,.05));
	border: 1px solid var(--ds-line, #e7ebf0); animation: pxc-in .25s ease-out;
}
@keyframes pxc-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #pxc .pxc-card { animation: none; } }
#pxc .pxc-title { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 1.0625rem; font-weight: 700; line-height: 1.3; color: var(--ds-navy, #050038); }
#pxc .pxc-dot { width: 8px; height: 8px; border-radius: 2px; background: #FFDC42; box-shadow: 6px -6px 0 -1px #FFDC42; margin-right: 4px; flex: none; }
#pxc .pxc-text { margin: 0 0 14px; font-size: .9rem; line-height: 1.55; color: var(--ds-muted, #5b6474); }
#pxc .pxc-text a { white-space: nowrap; color: var(--ds-navy, #050038); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
#pxc .pxc-prefs { margin: 0 0 14px; border-top: 1px solid var(--ds-line, #e7ebf0); }
#pxc .pxc-prefs[hidden] { display: none; }
#pxc .pxc-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--ds-line, #e7ebf0); cursor: pointer; }
#pxc .pxc-row b { display: block; font-size: .9rem; font-weight: 600; color: var(--ds-navy, #050038); }
#pxc .pxc-row small { display: block; margin-top: 2px; font-size: .8125rem; line-height: 1.45; color: var(--ds-muted, #5b6474); }
#pxc .pxc-switch {
	appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 40px; height: 24px; margin: 0; border-radius: 999px;
	background: var(--ds-line-strong, #d9dee5); cursor: pointer; transition: background-color .2s;
}
#pxc .pxc-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(5,0,56,.25); transition: transform .2s; }
#pxc .pxc-switch:checked { background: var(--ds-green, #34c759); }
#pxc .pxc-switch:checked::after { transform: translateX(16px); }
#pxc .pxc-switch:disabled { opacity: .55; cursor: not-allowed; }
#pxc .pxc-switch:focus-visible { outline: 2px solid var(--ds-navy, #050038); outline-offset: 2px; }
#pxc .pxc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#pxc .pxc-btn {
	display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0; min-height: 40px; margin: 0; padding: 0 18px;
	border: 1.5px solid var(--ds-navy, #050038); border-radius: var(--ds-r-pill, 999px); background: var(--ds-navy, #050038);
	color: #fff; font: inherit; font-size: .9rem; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background-color .2s, border-color .2s;
}
#pxc .pxc-btn:hover, #pxc .pxc-btn:focus-visible { background: #1a1550; border-color: #1a1550; }
#pxc .pxc-btn:focus-visible, #pxc .pxc-link:focus-visible { outline: 2px solid var(--ds-green, #34c759); outline-offset: 2px; }
#pxc .pxc-btn[hidden], #pxc .pxc-link[hidden] { display: none; }
/* Reject is a white outline button, Accept the green primary – same size, so both are as easy to pick (owner, 2026-10-18).
   Save choices is the outline button too. */
#pxc .pxc-btn--accept { background: var(--ds-green, #34c759); border-color: var(--ds-green, #34c759); }
#pxc .pxc-btn--accept:hover, #pxc .pxc-btn--accept:focus-visible { background: var(--ds-green-hover, #2bb84f); border-color: var(--ds-green-hover, #2bb84f); }
#pxc .pxc-btn--accept:focus-visible { outline-color: var(--ds-navy, #050038); }
#pxc .pxc-btn[data-pxc="reject"] { background: #fff; border-color: var(--ds-line-strong, #d9dee5); color: var(--ds-navy, #050038); }
#pxc .pxc-btn[data-pxc="reject"]:hover, #pxc .pxc-btn[data-pxc="reject"]:focus-visible { background: #fff; border-color: var(--ds-navy, #050038); }
#pxc .pxc-btn--save { flex-basis: 100%; background: transparent; border-color: var(--ds-line-strong, #d9dee5); color: var(--ds-navy, #050038); }
#pxc .pxc-btn--save:hover, #pxc .pxc-btn--save:focus-visible { background: transparent; border-color: var(--ds-navy, #050038); }
#pxc .pxc-link {
	flex-basis: 100%; margin: 2px 0 0; padding: 4px 0; border: 0; background: none; color: var(--ds-navy, #050038);
	font: inherit; font-size: .875rem; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; cursor: pointer;
}
#pxc-recall {
	position: fixed; left: 20px; bottom: 20px; z-index: 2147482000; display: grid; place-items: center; width: 44px; height: 44px;
	margin: 0; padding: 0; border: 1px solid var(--ds-line, #e7ebf0); border-radius: 50%; background: #fff; color: var(--ds-navy, #050038);
	box-shadow: 0 8px 20px -10px rgba(5,0,56,.35); cursor: pointer; opacity: .9; transition: opacity .2s, transform .2s, box-shadow .2s;
}
#pxc-recall[hidden] { display: none; }
#pxc-recall:hover, #pxc-recall:focus-visible { opacity: 1; transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(5,0,56,.4); }
#pxc-recall:focus-visible { outline: 2px solid var(--ds-green, #34c759); outline-offset: 2px; }
@media (max-width: 575.98px) {
	#pxc-recall { left: 12px; bottom: 12px; width: 40px; height: 40px; }
	#pxc { left: 12px; right: 12px; bottom: 12px; width: auto; }
	#pxc .pxc-card { padding: 16px; max-height: calc(100vh - 24px); overflow-y: auto; }
}
@media print { #pxc, #pxc-recall { display: none !important; } }
