.analytics-consent {
	position: fixed;
	inset-inline: max(var(--space-s, 1rem), env(safe-area-inset-left)) max(var(--space-s, 1rem), env(safe-area-inset-right));
	inset-block-end: max(var(--space-s, 1rem), env(safe-area-inset-bottom));
	z-index: 10000;
	pointer-events: none;
}

.analytics-consent[hidden],
.analytics-consent__panel[hidden],
.analytics-consent__settings[hidden] {
	display: none;
}

.analytics-consent--open {
	display: grid;
	inset: 0;
	place-items: center;
	padding-block: max(var(--space-s, 1rem), env(safe-area-inset-top)) max(var(--space-s, 1rem), env(safe-area-inset-bottom));
	padding-inline: max(var(--space-s, 1rem), env(safe-area-inset-left)) max(var(--space-s, 1rem), env(safe-area-inset-right));
	background: color-mix(in srgb, var(--surface-1-background-color, #101416) 28%, transparent);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	pointer-events: auto;
}

.analytics-consent__panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-s, 1.25rem);
	inline-size: min(100%, var(--width-60, 52rem));
	margin-inline: auto;
	padding: var(--space-s, 1rem);
	border: 1px solid var(--border-subtle, #4b5357);
	border-radius: var(--radius, 0.5rem);
	background: var(--surface-elevated, rgb(24 28 34 / 72%));
	-webkit-backdrop-filter: var(--cpa-surface-panel-backdrop-filter, blur(10px) saturate(112%));
	backdrop-filter: var(--cpa-surface-panel-backdrop-filter, blur(10px) saturate(112%));
	box-shadow: 0 1rem 3rem rgb(0 0 0 / 35%);
	color: var(--text-primary, #fff);
	pointer-events: auto;
}

.analytics-consent__copy {
	max-inline-size: 65ch;
}

.analytics-consent__title,
.analytics-consent__description {
	margin: 0;
}

.analytics-consent__title {
	font-size: var(--text-l, 1.25rem);
	line-height: 1.2;
}

.analytics-consent__description {
	margin-block-start: 0.4rem;
	color: var(--text-secondary, #d2d5d6);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.analytics-consent__link {
	display: inline-block;
	margin-block-start: 0.35rem;
	color: var(--brand-primary-bright, #e6a15a);
}

.analytics-consent__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--space-xs, 0.875rem);
	inline-size: 100%;
}

.analytics-consent__status {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--text-primary, #fff);
	font-weight: 650;
	line-height: 1.3;
}

.analytics-consent__status[hidden] {
	display: none;
}

.analytics-consent__status-icon {
	inline-size: 1.5rem;
	block-size: 1.5rem;
	fill: none;
	stroke: var(--brand-primary-bright, #e6a15a);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.25;
}

.analytics-consent__panel--confirming .analytics-consent__actions {
	opacity: 0.55;
	pointer-events: none;
}

.analytics-consent__button,
.analytics-consent__settings {
	min-block-size: 44px;
	padding: 0.65rem 0.9rem;
	border: 1px solid currentColor;
	border-radius: var(--radius, 0.4rem);
	background: transparent;
	color: var(--text-primary, #fff);
	font: inherit;
	font-weight: 650;
	line-height: 1.2;
	cursor: pointer;
}

.analytics-consent__button--primary {
	border-color: var(--brand-primary, #b86f2a);
	background: var(--brand-primary, #b86f2a);
	color: var(--bg-dark, #101416);
}

.analytics-consent__button--text {
	border-color: transparent;
	font-weight: 500;
}

.analytics-consent__settings {
	display: block;
	min-inline-size: 44px;
	margin-inline-start: auto;
	padding-block: 0.55rem;
	padding-inline: var(--space-xs, 0.844rem);
	border-color: var(--border-subtle, #4b5357);
	background: var(--surface-elevated, #171c1e);
	box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 25%);
	font-size: var(--text-xs, 0.8125rem);
	line-height: 1;
	pointer-events: auto;
	transform: translate(
		var(--analytics-trigger-shift-x, 0px),
		var(--analytics-trigger-shift-y, 0px)
	);
}

.analytics-consent .analytics-consent__settings {
	letter-spacing: 0.08em;
}

.analytics-consent :is(button, a):focus-visible {
	outline: 3px solid var(--primary-light, #f2bb83);
	outline-offset: 3px;
}

@media (max-width: 47.99rem) {
	.analytics-consent__panel {
		align-items: stretch;
		flex-direction: column;
	}

	.analytics-consent__actions {
		justify-content: flex-start;
	}

	.analytics-consent__status {
		order: 2;
	}

	.analytics-consent__actions {
		order: 3;
	}

	.analytics-consent__button {
		flex: 1 1 10rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.analytics-consent *,
	.analytics-consent *::before,
	.analytics-consent *::after {
		scroll-behavior: auto;
	}
}
