.vf-consent-banner,
.vf-consent-dialog {
	margin: auto;
	box-sizing: border-box;
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid #52604e;
	border-radius: 24px;
	background: #111411;
	color: #f5f0e4;
	box-shadow: 0 12px 64px #0009;
	font: 0.9375rem/1.6 system-ui, -apple-system, sans-serif;
}
.vf-consent-banner.vf-consent-banner {
	padding: clamp(20px, 3vw, 32px);
}
html,
.vf-consent-banner,
.vf-consent-dialog {
	scrollbar-color: #626b60 #111411;
}
@supports not (scrollbar-color: auto) {
	::-webkit-scrollbar-thumb { background-color: #626b60; }
	::-webkit-scrollbar-track { background-color: #111411; }
}
.vf-consent-banner {
	position: fixed;
	z-index: 10000;
	right: 20px;
	bottom: 76px;
	width: min(620px, calc(100% - 40px));
	max-height: calc(100dvh - 112px);
	overflow-y: auto;
}
.vf-consent-dialog {
	width: min(640px, calc(100% - 32px));
	max-height: calc(100dvh - 40px);
}
.vf-consent-dialog::backdrop { background: #000b; }
.vf-consent-banner h2,
.vf-consent-dialog h2 {
	margin: 0 0 12px;
	font: 2rem/1.15 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
}
.vf-consent-dialog h3 { margin: 0; font-size: 1rem; }
.vf-consent-brand { margin: 0 0 10px; color: #43d72c; font-weight: 700; }
.vf-consent-banner p,
.vf-consent-dialog p { margin-top: 0; margin-bottom: 16px; }
.vf-consent-category { padding: 16px 0 0; margin-bottom: 16px; border-top: 1px solid #52604e; }
.vf-consent-category input { width: 20px; height: 20px; accent-color: #43d72c; vertical-align: middle; }
.vf-consent-category label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.vf-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.vf-consent-actions button,
.vf-consent-reopen,
.vf-video-consent button {
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid #43d72c;
	border-radius: 12px;
	background: #111411;
	color: #f5f0e4;
	font: 600 0.875rem/1.4 system-ui, -apple-system, sans-serif;
	cursor: pointer;
}
.vf-consent-actions button:first-child,
.vf-consent-actions button[data-vf-consent-reject] { background: #43d72c; color: #0a0c0a; }
.vf-consent-reopen { position: fixed; z-index: 9999; right: 16px; bottom: 16px; font-size: 0.75rem; box-shadow: 0 4px 20px #0008; }
.vf-consent-banner a,
.vf-consent-dialog a,
.vf-video-consent a { color: #43d72c; text-decoration: underline; text-underline-offset: 3px; }
.vf-consent-actions button:hover,
.vf-consent-reopen:hover,
.vf-video-consent button:hover { border-color: #f5f0e4; }
.vf-consent-banner :focus-visible,
.vf-consent-dialog :focus-visible,
.vf-consent-reopen:focus-visible,
.vf-video-consent :focus-visible { outline: 3px solid #c9b47a; outline-offset: 3px; }
.vf-consent-banner[hidden],
.vf-consent-reopen[hidden],
.vf-video-consent[hidden],
.vf-video-consent button[hidden] { display: none; }
.vf-video-consent {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 240px;
	padding: 24px;
	background: #111411;
	color: #f5f0e4;
	font: 0.9375rem/1.5 system-ui, -apple-system, sans-serif;
	text-align: center;
}
.vf-video-consent p { max-width: 54ch; margin: 0; }
.vf-video-embed > .vf-video-consent,
.vf-homepage-video > .vf-video-consent { position: absolute; inset: 0; min-height: 0; overflow-y: auto; }
@media (max-width: 480px) {
	.vf-consent-actions { flex-direction: column; }
	.vf-consent-actions button { width: 100%; }
	.vf-video-consent { padding: 12px; gap: 8px; font-size: 0.8125rem; }
	.vf-video-consent button { padding: 8px 12px; }
}
