/*!
 * proper-scripts consent banner styles.
 * Every colour/spacing/radius/z-index/font value is a --ps-* custom
 * property with a sensible default, so a theme can restyle the banner by
 * setting variables (e.g. on :root) without overriding rules.
 */
.ps-consent {
	position: fixed;
	inset: auto var(--ps-inset, 1rem) var(--ps-inset, 1rem) auto;
	max-width: var(--ps-max-w, 28rem);
	background: var(--ps-bg, #fff);
	color: var(--ps-fg, #111);
	border-radius: var(--ps-radius, .75rem);
	box-shadow: var(--ps-shadow, 0 8px 32px rgba(0, 0, 0, .18));
	padding: var(--ps-pad, 1rem 1.25rem);
	z-index: var(--ps-z, 2147483000);
	font: var(--ps-font, inherit);
}
.ps-consent[hidden] {
	display: none;
}
.ps-consent__text {
	margin: 0 0 var(--ps-gap, .75rem);
}
.ps-consent__text a {
	color: var(--ps-accent, #2563eb);
}
.ps-consent__manage {
	margin: 0 0 var(--ps-gap, .75rem);
}
.ps-consent__manage summary {
	cursor: pointer;
	color: var(--ps-muted, #6b7280);
}
.ps-consent__manage label {
	display: block;
	margin: .35rem 0;
	color: var(--ps-muted, #6b7280);
}
.ps-consent__actions {
	display: flex;
	gap: var(--ps-gap, .5rem);
	flex-wrap: wrap;
	justify-content: flex-end;
}
.ps-consent__btn {
	font: inherit;
	padding: var(--ps-btn-pad, .5rem 1rem);
	border-radius: var(--ps-btn-radius, .5rem);
	border: 1px solid var(--ps-muted, #6b7280);
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.ps-consent__btn--accept {
	background: var(--ps-accent, #2563eb);
	color: var(--ps-accent-fg, #fff);
	border-color: var(--ps-accent, #2563eb);
}
.ps-consent__btn:focus-visible {
	outline: 2px solid var(--ps-accent, #2563eb);
	outline-offset: 2px;
}
@media (prefers-reduced-motion: no-preference) {
	.ps-consent {
		transition: opacity .2s;
	}
}
