.cookie-banner {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    transform: translateY(150%);
    max-width: min(480px, calc(100% - 2rem));
    width: 100%;
	padding: 1.5rem;
	border-radius: 0.75rem;
	background: rgba(15, 23, 42, 0.95);
	color: #f8fafc;
	box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.45);
	z-index: 2000;
	transition: transform 0.3s ease-in-out;
	display: grid;
	gap: 1rem;
}

.cookie-banner--visible {
	transform: translateY(0);
}

.cookie-banner__title {
	font-size: 1.125rem;
	font-weight: 600;
}

.cookie-banner__description {
	font-size: 0.95rem;
	color: rgba(226, 232, 240, 0.85);
	line-height: 1.5;
}

.cookie-banner__actions {
	display: flex;
	justify-content: flex-end;
	gap: 0.75rem;
}

.cookie-banner__button {
	border: none;
	border-radius: 999px;
	padding: 0.55rem 1.5rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.cookie-banner__button:focus-visible {
	outline: 2px solid rgba(99, 102, 241, 0.7);
	outline-offset: 2px;
}

.cookie-banner__button--accept {
	background: #6366f1;
	color: #fff;
}

.cookie-banner__button--accept:hover {
	opacity: 0.9;
}

.cookie-banner__button--decline {
	background: transparent;
	color: rgba(226, 232, 240, 0.85);
}

.cookie-banner__button--decline:hover {
	opacity: 0.75;
}

@media (max-width: 480px) {
	.cookie-banner {
		bottom: 1rem;
		padding: 1.25rem;
	}

	.cookie-banner__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.cookie-banner__button {
		width: 100%;
	}
}
