:root {
	--dg-privacy-bg: #070a08;
	--dg-privacy-ink: #f1f6f2;
	--dg-privacy-muted: #b8c5bb;
	--dg-privacy-border: #2a382d;
	--dg-privacy-surface: #101712;
	--dg-privacy-surface-raised: #151e17;
	--dg-privacy-surface-soft: #1a251c;
	--dg-privacy-accent: #73c64a;
	--dg-privacy-accent-bright: #96e06f;
	--dg-privacy-accent-dark: #4aa532;
	--dg-privacy-shadow: rgba(0, 0, 0, 0.38);
}

.dg-privacy-policy,
.cmplz-document {
	color: var(--dg-privacy-ink);
	font-size: 17px;
	line-height: 1.72;
}

.dg-privacy-policy {
	color-scheme: dark;
	margin: 0 auto;
	max-width: 960px;
	padding: clamp(24px, 4vw, 56px) clamp(18px, 3vw, 42px);
}

/* Remove legacy Elementor spacing around the production Privacy Policy widget. */
.elementor-element.elementor-element-336c2ab {
	margin-top: 24px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-element.elementor-element-ce9ac83 > .elementor-widget-wrap {
	padding: 0 !important;
}

.dg-privacy-policy *,
.dg-privacy-policy *::before,
.dg-privacy-policy *::after {
	box-sizing: border-box;
}

.dg-privacy-policy h1,
.dg-privacy-policy h2,
.dg-privacy-policy h3,
.cmplz-document h2,
.cmplz-document h3 {
	color: var(--dg-privacy-ink);
	line-height: 1.2;
	scroll-margin-top: 96px;
}

.dg-privacy-policy h1 {
	font-size: clamp(36px, 5vw, 58px);
	letter-spacing: -0.035em;
	margin: 0 0 14px;
	max-width: 17ch;
}

.dg-privacy-policy h2 {
	border-top: 1px solid var(--dg-privacy-border);
	font-size: clamp(25px, 3vw, 34px);
	margin: 52px 0 18px;
	padding-top: 32px;
}

.dg-privacy-policy h3 {
	font-size: 21px;
	margin: 30px 0 10px;
}

.dg-privacy-policy p,
.dg-privacy-policy li {
	color: var(--dg-privacy-muted);
}

.dg-privacy-policy p {
	margin: 0 0 1em;
}

.dg-privacy-policy p:last-child {
	margin-bottom: 0;
}

.dg-privacy-policy ul,
.dg-privacy-policy ol {
	padding-left: 1.35em;
}

.dg-privacy-policy li + li {
	margin-top: 0.48em;
}

.dg-privacy-policy a,
.cmplz-document a {
	color: var(--dg-privacy-accent-bright);
	font-weight: 650;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.dg-privacy-policy a:hover {
	color: #c2f3a9;
}

.dg-privacy-policy code {
	background: #0a0f0b;
	border: 1px solid var(--dg-privacy-border);
	border-radius: 5px;
	color: #d8f4ca;
	font-size: 0.9em;
	overflow-wrap: anywhere;
	padding: 0.12em 0.35em;
}

.dg-policy-hero {
	background:
		radial-gradient(circle at 100% 0, rgba(115, 198, 74, 0.16), transparent 38%),
		linear-gradient(145deg, #172019, #0e140f 72%);
	border: 1px solid var(--dg-privacy-border);
	border-radius: 20px;
	box-shadow: 0 22px 60px var(--dg-privacy-shadow);
	margin-bottom: 28px;
	padding: clamp(24px, 4vw, 42px);
}

.dg-policy-kicker {
	color: var(--dg-privacy-accent-bright) !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.11em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.dg-policy-effective {
	color: var(--dg-privacy-muted);
	margin: 0;
}

.dg-policy-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.dg-policy-actions > br {
	display: none;
}

.dg-policy-button {
	align-items: center;
	background: var(--dg-privacy-accent);
	border: 2px solid var(--dg-privacy-accent);
	border-radius: 999px;
	color: #071007 !important;
	cursor: pointer;
	display: inline-flex;
	font-weight: 750 !important;
	justify-content: center;
	line-height: 1.2;
	min-height: 46px;
	padding: 10px 20px;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.dg-policy-button:hover,
.dg-policy-button:focus-visible {
	background: var(--dg-privacy-accent-bright);
	border-color: var(--dg-privacy-accent-bright);
	color: #050a05 !important;
	transform: translateY(-1px);
}

.dg-policy-button--secondary {
	background: #0b100c;
	border-color: #4f6b54;
	color: var(--dg-privacy-accent-bright) !important;
}

.dg-policy-toc {
	background: var(--dg-privacy-surface);
	border: 1px solid var(--dg-privacy-border);
	border-radius: 16px;
	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
	margin: 28px 0 42px;
	padding: 22px 26px;
}

.dg-policy-toc strong {
	color: var(--dg-privacy-ink);
	display: block;
	margin-bottom: 10px;
}

.dg-policy-toc ol {
	columns: 2;
	gap: 36px;
	margin: 0;
	padding-left: 20px;
}

.dg-policy-toc li {
	break-inside: avoid;
	margin: 5px 0;
}

.dg-policy-note {
	background: var(--dg-privacy-surface-soft);
	border-left: 4px solid var(--dg-privacy-accent);
	border-radius: 0 12px 12px 0;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
	margin: 24px 0;
	padding: 18px 20px;
}

.dg-policy-note strong,
.dg-policy-effective strong {
	color: var(--dg-privacy-ink);
}

.dg-privacy-status {
	align-items: flex-start;
	background: var(--dg-privacy-surface-soft);
	border: 1px solid var(--dg-privacy-border);
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
	display: flex;
	gap: 13px;
	margin: 24px 0;
	padding: 17px 19px;
}

.dg-privacy-status__indicator {
	background: #849087;
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba(132, 144, 135, 0.14);
	flex: 0 0 11px;
	height: 11px;
	margin-top: 7px;
	width: 11px;
}

.dg-privacy-status__title,
.dg-privacy-status__message {
	display: block;
}

.dg-privacy-status__title {
	color: var(--dg-privacy-ink);
	font-size: 17px;
	line-height: 1.35;
}

.dg-privacy-status__message {
	color: var(--dg-privacy-muted);
	margin-top: 3px;
}

.dg-privacy-status__states {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 18px;
	margin-top: 10px;
}

.dg-privacy-status__states > span {
	color: var(--dg-privacy-muted);
	font-size: 14px;
}

.dg-privacy-status__states strong {
	color: var(--dg-privacy-ink);
}

.dg-privacy-status--opted-out {
	border-color: rgba(115, 198, 74, 0.6);
}

.dg-privacy-status--opted-out .dg-privacy-status__indicator {
	background: var(--dg-privacy-accent);
	box-shadow: 0 0 0 5px rgba(115, 198, 74, 0.15);
}

.dg-privacy-status--permitted .dg-privacy-status__indicator,
.dg-privacy-status--partial .dg-privacy-status__indicator {
	background: #e4b654;
	box-shadow: 0 0 0 5px rgba(228, 182, 84, 0.14);
}

.dg-policy-section {
	background: var(--dg-privacy-surface);
	border: 1px solid var(--dg-privacy-border);
	border-radius: 18px;
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22);
	margin: 24px 0;
	padding: clamp(24px, 4vw, 42px);
}

.dg-policy-section h2:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.dg-policy-section input[type="text"],
.dg-policy-section input[type="email"],
.dg-policy-section input[type="search"],
.dg-policy-section select,
.dg-policy-section textarea {
	background: #090e0a;
	border: 1px solid #405345;
	border-radius: 8px;
	color: var(--dg-privacy-ink);
	font-size: 16px;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.dg-policy-section input::placeholder,
.dg-policy-section textarea::placeholder {
	color: #829087;
	opacity: 1;
}

.dg-policy-section label,
.dg-policy-section legend {
	color: var(--dg-privacy-ink);
}

.dg-policy-section input[type="submit"],
.dg-policy-section input[type="button"] {
	background: var(--dg-privacy-accent);
	border: 2px solid var(--dg-privacy-accent);
	border-radius: 999px;
	color: #071007;
	cursor: pointer;
	font-size: 16px;
	font-weight: 750;
	min-height: 46px;
	padding: 10px 22px;
}

#cmplz-datarequest-form {
	display: grid;
	gap: 12px;
	margin-top: 22px;
}

#cmplz-datarequest-form > div:not(.cmplz_datarequest) {
	display: grid;
	gap: 6px;
}

#cmplz-datarequest-form .cmplz_datarequest {
	background: #0a0f0b;
	border: 1px solid var(--dg-privacy-border);
	border-radius: 9px;
	margin: 0;
	padding: 11px 13px;
}

#cmplz-datarequest-form .cmplz_datarequest label {
	align-items: flex-start;
	color: var(--dg-privacy-muted);
	cursor: pointer;
	display: flex;
	gap: 10px;
	line-height: 1.45;
	margin: 0;
}

#cmplz-datarequest-form .cmplz_datarequest input[type="checkbox"] {
	accent-color: var(--dg-privacy-accent);
	flex: 0 0 18px;
	height: 18px;
	margin: 2px 0 0;
	width: 18px;
}

#cmplz-datarequest-submit {
	justify-self: start;
	margin-top: 8px;
	min-width: 120px;
}

.dg-privacy-request-form {
	display: grid;
	gap: 17px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 24px;
}

.dg-privacy-field {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.dg-privacy-field--full {
	grid-column: 1 / -1;
}

.dg-privacy-field label {
	color: var(--dg-privacy-ink);
	font-weight: 700;
	line-height: 1.35;
}

.dg-privacy-request-form textarea {
	min-height: 132px;
	resize: vertical;
}

.dg-privacy-request-form .dg-policy-button {
	justify-self: start;
}

.dg-privacy-form-help {
	color: var(--dg-privacy-muted);
	font-size: 15px;
	margin: 0 0 5px !important;
}

.dg-privacy-form-notice {
	border: 1px solid var(--dg-privacy-border);
	border-radius: 12px;
	margin: 20px 0;
	padding: 17px 19px;
}

.dg-privacy-form-notice h3 {
	margin: 0 0 8px;
}

.dg-privacy-form-notice--success {
	background: rgba(115, 198, 74, 0.1);
	border-color: rgba(115, 198, 74, 0.6);
}

.dg-privacy-form-notice--error {
	background: rgba(222, 91, 91, 0.1);
	border-color: rgba(222, 91, 91, 0.58);
}

.dg-privacy-honeypot {
	height: 1px !important;
	left: -10000px !important;
	overflow: hidden !important;
	position: absolute !important;
	top: auto !important;
	width: 1px !important;
}

.cmplz-cookiebanner {
	background: #111813 !important;
	border: 1px solid var(--dg-privacy-border) !important;
	border-radius: 18px !important;
	box-sizing: border-box !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.56) !important;
	color: var(--dg-privacy-ink) !important;
	max-width: min(620px, calc(100vw - 32px)) !important;
	width: 100% !important;
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-header,
.cmplz-cookiebanner .cmplz-category-title {
	color: var(--dg-privacy-ink) !important;
	font-weight: 800 !important;
}

.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-description,
.cmplz-cookiebanner .cmplz-always-active {
	color: var(--dg-privacy-muted) !important;
}

.cmplz-cookiebanner .cmplz-close svg,
.cmplz-cookiebanner .cmplz-category-toggle svg {
	fill: var(--dg-privacy-muted) !important;
}

.cmplz-cookiebanner .cmplz-category {
	background: #0b100c !important;
	border-color: var(--dg-privacy-border) !important;
}

.cmplz-cookiebanner .cmplz-category.cmplz-preferences,
.cmplz-manage-consent-container .cmplz-category.cmplz-preferences {
	display: none !important;
}

.cmplz-cookiebanner .cmplz-btn {
	border-radius: 999px !important;
	box-sizing: border-box !important;
	font-weight: 750 !important;
	min-width: 0 !important;
	min-height: 44px !important;
	white-space: normal !important;
}

.cmplz-cookiebanner .cmplz-accept {
	background-color: var(--dg-privacy-accent) !important;
	border: 2px solid var(--dg-privacy-accent) !important;
	color: #071007 !important;
	font-weight: 800 !important;
	min-height: 48px !important;
}

.cmplz-cookiebanner .cmplz-deny {
	background: #172119 !important;
	border: 2px solid var(--dg-privacy-accent) !important;
	color: var(--dg-privacy-ink) !important;
	font-weight: 800 !important;
	min-height: 48px !important;
}

.cmplz-cookiebanner .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-save-preferences {
	background: #0a0f0b !important;
	border-color: #4f6b54 !important;
	color: var(--dg-privacy-accent-bright) !important;
}

@media (min-width: 701px) {
	.cmplz-cookiebanner .cmplz-buttons {
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.cmplz-cookiebanner .cmplz-view-preferences {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 700px) {
	.cmplz-cookiebanner .cmplz-buttons {
		display: flex !important;
		flex-direction: column !important;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}
}

.cmplz-cookiebanner .cmplz-close {
	color: var(--dg-privacy-muted) !important;
}

.cmplz-cookiebanner .cmplz-link {
	color: var(--dg-privacy-accent-bright) !important;
}

.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label::before {
	background: #070b08 !important;
	border-color: #526957 !important;
}

#cmplz-manage-consent {
	height: 1px !important;
	left: -10000px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	position: fixed !important;
	width: 1px !important;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-category {
	background: #0a0f0b !important;
	border: 1px solid var(--dg-privacy-border) !important;
	border-radius: 10px !important;
	color: var(--dg-privacy-ink) !important;
	margin-bottom: 8px;
	overflow: hidden;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-category-header {
	background: #0d140f !important;
	color: var(--dg-privacy-ink) !important;
	padding: 13px 15px !important;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-category-title {
	color: var(--dg-privacy-ink) !important;
	font-weight: 720 !important;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-description,
.dg-policy-section .cmplz-manage-consent-container .cmplz-always-active {
	color: var(--dg-privacy-muted) !important;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-description {
	background: #0a0f0b !important;
	border-top: 1px solid var(--dg-privacy-border) !important;
	padding: 14px 16px !important;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-category-toggle svg {
	fill: var(--dg-privacy-muted) !important;
}

.dg-policy-section .cmplz-manage-consent-container .cmplz-category-toggle {
	background: transparent !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: var(--dg-privacy-muted) !important;
	min-height: 36px !important;
	padding: 6px !important;
}

.dg-privacy-policy :focus-visible,
.cmplz-cookiebanner :focus-visible,
.cmplz-document :focus-visible {
	outline: 3px solid #65b96e !important;
	outline-offset: 3px;
}

@media (max-width: 700px) {
	.dg-privacy-policy {
		font-size: 16px;
		line-height: 1.65;
		padding: 22px 14px 36px;
	}

	.dg-privacy-policy h1 {
		font-size: clamp(32px, 10vw, 42px);
	}

	.dg-privacy-policy h2 {
		font-size: clamp(24px, 7vw, 30px);
	}

	.dg-policy-hero,
	.dg-policy-section {
		border-radius: 14px;
		padding: 22px 18px;
	}

	.dg-policy-toc {
		padding: 20px;
	}

	.dg-policy-toc ol {
		columns: 1;
	}

	.dg-privacy-request-form {
		grid-template-columns: 1fr;
	}

	.dg-privacy-field--full {
		grid-column: auto;
	}

	.dg-policy-actions,
	.dg-policy-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dg-privacy-policy *,
	.cmplz-cookiebanner * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
