/* Cookie consent box - bottom left. Neutral greys; Accept and Reject are deliberately identical.
   .pbs-consent-box = how it looks (also used by the CMS preview); #pbs-consent = where it sits on the page. */
.pbs-consent-box {
	box-sizing: border-box; width: 340px; max-width: calc(100vw - 32px);
	padding: 16px 18px; background: #222; color: #f2f2f2;
	border-radius: 6px; box-shadow: 0 4px 18px rgba(0,0,0,.35);
	font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; text-align: left;
}
#pbs-consent { position: fixed; left: 16px; bottom: 16px; z-index: 9999; }
#pbs-consent[hidden] { display: none; }
.pbs-consent-box p { margin: 0 0 10px; color: inherit; font: inherit; }
.pbs-consent-box .pbs-consent-title { margin-bottom: 6px; font-weight: 700; font-size: 15px; }
.pbs-consent-box a { color: #fff; text-decoration: underline; }
.pbs-consent-box .pbs-consent-buttons { display: flex; gap: 10px; margin: 12px 0 0; }
.pbs-consent-box .pbs-consent-btn {
	flex: 1 1 0; box-sizing: border-box; min-height: 40px; padding: 8px 12px; margin: 0;
	background: #f2f2f2; color: #222; border: 2px solid #f2f2f2; border-radius: 4px;
	font: 700 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; cursor: pointer;
}
.pbs-consent-box .pbs-consent-btn:hover { background: #fff; border-color: #fff; }
.pbs-consent-box .pbs-consent-btn:focus-visible, .pbs-consent-box a:focus-visible { outline: 3px solid #8ab4ff; outline-offset: 2px; }
/* a form's reCAPTCHA note disappears once optional cookies are accepted */
html.pbs-consent-all [data-pbs-consent-needed] { display: none; }
@media (max-width: 480px) { #pbs-consent { left: 8px; right: 8px; bottom: 8px; width: auto; max-width: none; } }
@media (prefers-reduced-motion: no-preference) { #pbs-consent { animation: pbs-consent-in .25s ease-out; } }
@keyframes pbs-consent-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media print { #pbs-consent { display: none; } }
