/*
Cookie consent banner.
Version: v7 blue gradient + accented primary button.
*/

.serg-cookie-consent,
.serg-cookie-consent * {
	box-sizing: border-box;
}

.serg-cookie-consent {
	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 10020;
	width: min(520px, calc(100vw - 48px));
	font-family: inherit;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px);
	transition:
		opacity 0.24s ease,
		visibility 0.24s ease,
		transform 0.24s ease;
}

.serg-cookie-consent.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.serg-cookie-consent__inner {
	padding: 20px;
	background:
		radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.78) 0, rgba(255, 255, 255, 0) 34%),
		linear-gradient(135deg, rgba(225, 244, 255, 0.98) 0%, rgba(198, 232, 255, 0.98) 48%, rgba(235, 248, 255, 0.98) 100%);
	border: 1px solid rgba(11, 150, 198, 0.24);
	border-radius: 18px;
	box-shadow:
		0 20px 46px rgba(7, 31, 99, 0.20),
		0 8px 18px rgba(11, 150, 198, 0.12),
		0 1px 0 rgba(255, 255, 255, 0.72) inset;
	backdrop-filter: blur(10px);
}

.serg-cookie-consent__content {
	display: grid;
	gap: 8px;
}

.serg-cookie-consent__title {
	margin: 0;
	color: #071f63;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
}

.serg-cookie-consent__text {
	margin: 0;
	color: rgba(21, 27, 42, 0.86);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
}

.serg-cookie-consent__actions {
	margin-top: 16px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.serg-cookie-consent__button {
	border-radius: 999px;
	border: 1px solid transparent;
	font-family: inherit;
	line-height: 1.15;
	cursor: pointer;
	transition:
		background 0.18s ease,
		background-color 0.18s ease,
		border-color 0.18s ease,
		color 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease;
}

.serg-cookie-consent__button:focus-visible {
	outline: 2px solid rgba(11, 150, 198, 0.40);
	outline-offset: 2px;
}

.serg-cookie-consent__button--primary {
	min-height: 48px;
	padding: 13px 24px;
	flex: 1 1 190px;
	color: #ffffff;
	background: linear-gradient(135deg, #0b96c6 0%, #006ba1 100%);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.01em;
	box-shadow:
		0 12px 24px rgba(11, 150, 198, 0.26),
		0 2px 0 rgba(255, 255, 255, 0.22) inset;
}

.serg-cookie-consent__button--primary:hover,
.serg-cookie-consent__button--primary:focus-visible {
	color: #ffffff;
	background: linear-gradient(135deg, #18b0df 0%, #007cba 52%, #005f95 100%);
	box-shadow:
		0 17px 30px rgba(11, 150, 198, 0.34),
		0 6px 14px rgba(7, 31, 99, 0.14),
		0 2px 0 rgba(255, 255, 255, 0.26) inset;
	transform: translateY(-2px);
}

.serg-cookie-consent__button--primary:active {
	transform: translateY(0);
	box-shadow:
		0 8px 18px rgba(11, 150, 198, 0.24),
		0 1px 0 rgba(255, 255, 255, 0.20) inset;
}

.serg-cookie-consent__button--secondary {
	min-height: 36px;
	padding: 8px 13px;
	flex: 0 0 auto;
	color: rgba(7, 31, 99, 0.82);
	background: rgba(255, 255, 255, 0.58);
	border-color: rgba(7, 31, 99, 0.10);
	font-size: 12.8px;
	font-weight: 650;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.54) inset;
}

.serg-cookie-consent__button--secondary:hover,
.serg-cookie-consent__button--secondary:focus-visible {
	color: #071f63;
	background: rgba(250, 253, 255, 0.86);
	border-color: rgba(11, 150, 198, 0.16);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.64) inset;
	transform: none;
}

.serg-cookie-consent__button--secondary:active {
	background: rgba(242, 250, 255, 0.94);
	transform: none;
}

.serg-cookie-consent__link {
	color: #087ba9;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
}

.serg-cookie-consent__link:hover,
.serg-cookie-consent__link:focus-visible {
	color: #071f63;
	text-decoration: underline;
	outline: none;
}

@media (max-width: 768px) {
	.serg-cookie-consent {
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
	}

	.serg-cookie-consent__inner {
		padding: 16px;
		border-radius: 16px;
	}

	.serg-cookie-consent__title {
		font-size: 17px;
	}

	.serg-cookie-consent__text {
		font-size: 13px;
		line-height: 1.42;
	}

	.serg-cookie-consent__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.serg-cookie-consent__button--primary {
		width: 100%;
		min-height: 50px;
		padding: 14px 20px;
		font-size: 15px;
	}

	.serg-cookie-consent__button--secondary {
		width: auto;
		min-width: 184px;
		min-height: 38px;
		padding: 9px 14px;
		justify-self: center;
		font-size: 12.8px;
	}

	.serg-cookie-consent__button--primary:hover,
	.serg-cookie-consent__button--primary:focus-visible {
		transform: translateY(-1px);
	}

	.serg-cookie-consent__link {
		justify-self: center;
		margin-top: 2px;
	}
}

@media (max-width: 420px) {
	.serg-cookie-consent {
		left: 10px;
		right: 10px;
		bottom: 10px;
	}

	.serg-cookie-consent__inner {
		padding: 14px;
	}

	.serg-cookie-consent__text {
		font-size: 12.5px;
	}

	.serg-cookie-consent__button--primary {
		min-height: 49px;
	}

	.serg-cookie-consent__button--secondary {
		min-width: 176px;
		min-height: 37px;
	}
}
