.cookie-notice {
	box-sizing: border-box;
	position: fixed;
	z-index: 20;
	left: max(16px, env(safe-area-inset-left));
	bottom: max(16px, env(safe-area-inset-bottom));
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: min(350px, calc(100% - 32px));
	padding: 16px;
	border: 1px solid var(--napulse-border);
	border-radius: 24px;
	background: var(--napulse-surface);
	box-shadow: 0 8px 40px rgb(15 28 44 / 12%);
}

.cookie-notice[hidden] {
	display: none;
}

.cookie-notice__image {
	display: block;
	width: 36px;
	height: 36px;
}

.cookie-notice__text {
	grid-column: 2;
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	white-space: normal;
}

.cookie-notice__link {
	white-space: nowrap;
	color: var(--napulse-accent);
	font-weight: 500;
	text-decoration: none;
}

.cookie-notice__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cookie-notice__link:focus-visible {
	outline: 2px solid var(--napulse-accent);
	outline-offset: 3px;
}

.cookie-notice__button {
	grid-column: 3;
	min-height: 40px;
	padding: 8px 16px;
	border: 0;
	font-size: 13px;
	line-height: 24px;
	cursor: pointer;
}

@media (max-width: 520px) {
	.cookie-notice {
		left: max(12px, env(safe-area-inset-left));
		bottom: max(12px, env(safe-area-inset-bottom));
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 8px 12px;
		width: min(350px, calc(100% - 24px));
		padding: 14px;
		border-radius: 20px;
	}

	.cookie-notice__image {
		grid-row: 1 / 3;
		align-self: start;
		width: 36px;
		height: 36px;
		margin-top: 2px;
	}

	.cookie-notice__text {
		white-space: normal;
	}

	.cookie-notice__button {
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
		min-height: 36px;
		padding: 6px 16px;
	}
}
