.ps-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #1f2937;
	color: #fff;
	padding: 16px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	z-index: 999999;
}
.ps-banner[hidden],
.ps-manage[hidden] {
	display: none;
}
.ps-banner a {
	color: #fff;
	text-decoration: underline;
}
.ps-banner p {
	flex: 1 1 260px;
	margin: 0;
}

/*
 * Accept and Reject MUST look identical in colour, size, weight and border.
 * Regulators (e.g. CNIL, EDPB guidance) treat a visually dominant Accept
 * button next to a muted Reject as a dark pattern. Do not give the two
 * classes different colours; if you restyle one, restyle both.
 */
.ps-btn,
.ps-accept,
.ps-reject {
	min-width: 110px;
	min-height: 44px;
	padding: 10px 20px;
	background: #fff;
	color: #111827;
	border: 2px solid #fff;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}
.ps-btn:hover,
.ps-btn:focus-visible {
	background: #e5e7eb;
	border-color: #e5e7eb;
}
.ps-btn:focus-visible {
	outline: 3px solid #93c5fd;
	outline-offset: 2px;
}

.ps-manage {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 999998;
	min-height: 36px;
	padding: 6px 12px;
	background: #1f2937;
	color: #fff;
	border: 1px solid #6b7280;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
}
.ps-manage:hover,
.ps-manage:focus-visible {
	background: #111827;
}
.ps-manage:focus-visible {
	outline: 3px solid #93c5fd;
	outline-offset: 2px;
}
