.dm-consent {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10050;
	padding: var(--dm-space-4, 16px) 0;
	border-top: 1px solid var(--dm-border, rgba(255, 255, 255, 0.1));
	background: var(--dm-surface, #0b101a);
	color: var(--dm-text, #f5f7fa);
	box-shadow: var(--dm-panel-shadow, 0 8px 32px rgba(0, 0, 0, 0.35));
}

.dm-consent[hidden] {
	display: none;
}

.dm-consent__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--dm-space-4, 16px);
}

.dm-consent__text {
	margin: 0;
	flex: 1 1 16rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--dm-text-secondary, #9aa4b2);
}

.dm-consent__policy {
	color: var(--dm-text, #f5f7fa);
	text-decoration: underline;
}

.dm-consent__policy:hover {
	color: var(--dm-brand-hover, #9b5cff);
}

.dm-consent__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dm-space-3, 12px);
}

.dm-consent__accept,
.dm-consent__deny {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 var(--dm-space-4, 16px);
	border-radius: var(--dm-radius-md, 8px);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
}

.dm-consent__accept {
	border: 1px solid transparent;
	background: var(--dm-brand, #8b3dff);
	color: #fff;
}

.dm-consent__accept:hover {
	background: var(--dm-brand-hover, #9b5cff);
}

.dm-consent__deny {
	border: 1px solid var(--dm-border, rgba(255, 255, 255, 0.1));
	background: transparent;
	color: var(--dm-text-secondary, #9aa4b2);
}

.dm-consent__deny:hover {
	color: var(--dm-text, #f5f7fa);
	border-color: var(--dm-border-strong, rgba(255, 255, 255, 0.16));
}

.dm-consent__accept:focus-visible,
.dm-consent__deny:focus-visible,
.dm-consent__policy:focus-visible {
	outline: var(--dm-focus, 2px solid #8b3dff);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.dm-consent,
	.dm-consent__accept,
	.dm-consent__deny,
	.dm-consent__policy {
		transition: none;
	}
}
