#sante-cookie {
	--sc-navy:   var(--sante-primary,   #1B2A4A);
	--sc-navy-dk: var(--sante-navy-dk,  #0F1B2D);
	--sc-brown:  var(--sante-secondary, #6B4536);
	--sc-gold:   var(--sante-gold,      #8D7D5B);
	--sc-badge:  var(--sante-badge-tn,  #F2DDD2);
	--sc-border: var(--sante-brd-tn,    #E0CDC0);
	--sc-slate:  var(--sante-slate,     #5B647C);
	--sc-serif:  var(--sante-font-primary, "Cormorant Garamond", Georgia, serif);
	--sc-sans:   var(--sante-font-text,    "Manrope", system-ui, sans-serif);
	--sc-ease:   cubic-bezier(0.16, 1, 0.3, 1);

	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 100000;
	box-sizing: border-box;
	display: grid;
	gap: 14px;
	width: calc(100% - 48px);
	max-width: 400px;
	margin: 0;
	padding: 24px;
	color: var(--sc-navy);
	font-family: var(--sc-sans);
	text-align: left;
	background: rgba(251, 246, 238, 0.94);
	border: 1px solid var(--sc-border);
	border-radius: 24px;
	-webkit-box-shadow: 0 30px 60px -28px rgba(15, 27, 45, 0.45), 0 2px 8px rgba(15, 27, 45, 0.06);
	box-shadow: 0 30px 60px -28px rgba(15, 27, 45, 0.45), 0 2px 8px rgba(15, 27, 45, 0.06);
	-webkit-backdrop-filter: blur(16px) saturate(1.2);
	backdrop-filter: blur(16px) saturate(1.2);
	-webkit-font-smoothing: antialiased;
	opacity: 0;
	-webkit-transform: translateY(24px) scale(0.98);
	transform: translateY(24px) scale(0.98);
	transition:
		opacity 0.5s var(--sc-ease),
		-webkit-transform 0.7s var(--sc-ease),
		transform 0.7s var(--sc-ease);
}

#sante-cookie[hidden] {
	display: none;
}

#sante-cookie.is-visible {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

#sante-cookie *,
#sante-cookie *::before,
#sante-cookie *::after {
	box-sizing: border-box;
}

#sante-cookie .sante-cookie__head {
	display: flex;
	align-items: center;
	gap: 14px;
}

#sante-cookie .sante-cookie__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--sc-brown);
	background: var(--sc-badge);
	border-radius: 50%;
}

#sante-cookie .sante-cookie__title {
	margin: 0;
	padding: 0;
	color: var(--sc-navy);
	font-family: var(--sc-serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.01em;
}

#sante-cookie .sante-cookie__text {
	margin: 0;
	padding: 0;
	color: var(--sc-slate);
	font-family: var(--sc-sans);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
}

#sante-cookie .sante-cookie__link {
	color: var(--sc-navy);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--sc-gold);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.3s ease, text-decoration-color 0.3s ease;
}

#sante-cookie .sante-cookie__link:hover,
#sante-cookie .sante-cookie__link:focus-visible {
	color: var(--sc-brown);
	text-decoration-color: currentColor;
}

#sante-cookie .sante-cookie__actions {
	display: flex;
	gap: 10px;
	margin-top: 4px;
}

#sante-cookie .sante-cookie__btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin: 0;
	padding: 12px 18px;
	font-family: var(--sc-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	border: 1px solid transparent;
	border-radius: var(--sante-radius-pill, 100px);
	box-shadow: none;
	cursor: pointer;
	transition:
		background-color 0.3s ease,
		border-color 0.3s ease,
		color 0.3s ease,
		box-shadow 0.3s ease,
		-webkit-transform 0.3s var(--sc-ease),
		transform 0.3s var(--sc-ease);
}

#sante-cookie .sante-cookie__btn:focus-visible {
	outline: 2px solid var(--sc-gold);
	outline-offset: 3px;
}

#sante-cookie .sante-cookie__btn--primary {
	color: #FFFFFF;
	background: var(--sc-navy);
	border-color: var(--sc-navy);
	box-shadow: 0 10px 22px -12px rgba(15, 27, 45, 0.7);
}

#sante-cookie .sante-cookie__btn--primary:hover,
#sante-cookie .sante-cookie__btn--primary:focus {
	color: #FFFFFF;
	background: var(--sc-navy-dk);
	border-color: var(--sc-navy-dk);
	box-shadow: 0 14px 26px -12px rgba(15, 27, 45, 0.75);
	-webkit-transform: translateY(-1px);
	transform: translateY(-1px);
}

#sante-cookie .sante-cookie__btn--ghost {
	color: var(--sc-navy);
	background: transparent;
	border-color: var(--sc-border);
}

#sante-cookie .sante-cookie__btn--ghost:hover,
#sante-cookie .sante-cookie__btn--ghost:focus {
	color: var(--sc-navy);
	background: rgba(27, 42, 74, 0.05);
	border-color: var(--sc-navy);
}

@media (max-width: 600px) {
	#sante-cookie {
		left: 12px;
		right: 12px;
		bottom: max(12px, env(safe-area-inset-bottom));
		width: auto;
		max-width: none;
		padding: 20px;
		border-radius: 20px;
	}

	#sante-cookie .sante-cookie__title {
		font-size: 24px;
	}
}

@media (max-width: 380px) {
	#sante-cookie .sante-cookie__actions {
		flex-direction: column-reverse;
	}
}

@media (prefers-reduced-motion: reduce) {
	#sante-cookie,
	#sante-cookie .sante-cookie__btn {
		transition: none;
	}

	#sante-cookie {
		-webkit-transform: none;
		transform: none;
	}

	#sante-cookie .sante-cookie__btn--primary:hover,
	#sante-cookie .sante-cookie__btn--primary:focus {
		-webkit-transform: none;
		transform: none;
	}
}
