.cookieConsent[hidden],
.cookiePreferences[hidden],
.cookieSettingsButton[hidden] {
	display: none !important;
}

.cookieConsent *,
.cookiePreferences * {
	box-sizing: border-box;
}

.cookieConsent {
	position: fixed;
	inset: auto 20px 20px;
	z-index: 100000;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.cookieConsent__card {
	width: min(1080px, 100%);
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 22px 24px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 18px;
	background: linear-gradient(83deg, #0c39a8 3.96%, #249bff 98.69%);
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.32);
	color: #fff;
	pointer-events: auto;
}

.cookieConsent__intro { flex: 1; }
.cookieConsent h2, .cookiePreferences h2 { margin: 0 0 8px; font: 700 22px/1.2 Montserrat, sans-serif; }
.cookieConsent p, .cookiePreferences p { margin: 0; font: 400 14px/1.55 'PT Sans Caption', sans-serif; }
.cookieConsent__links { margin-top: 8px !important; }
.cookieConsent a, .cookiePreferences a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cookieConsent__links span { margin: 0 7px; opacity: .65; }
.cookieConsent__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.cookieButton, .footerCookieSettings {
	font: 700 13px/1 Montserrat, sans-serif;
	cursor: pointer;
}

.cookieButton {
	min-height: 44px;
	padding: 0 18px;
	border: 2px solid #fff;
	border-radius: 10px;
}

.cookieButton--primary { background: #fff; color: #0c39a8; }
.cookieButton--secondary { background: transparent; color: #fff; }
.cookieButton:hover { transform: translateY(-1px); }
.cookieButton:focus-visible, .cookieSettingsButton:focus-visible, .footerCookieSettings:focus-visible, .cookiePreferences__close:focus-visible { outline: 3px solid #72d5ff; outline-offset: 3px; }

.cookiePreferences { position: fixed; inset: 0; z-index: 100001; display: grid; place-items: center; padding: 20px; }
.cookiePreferences__backdrop { position: absolute; inset: 0; background: rgba(8, 10, 18, .68); backdrop-filter: blur(3px); }
.cookiePreferences__panel { position: relative; width: min(600px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; padding: 30px; border-radius: 18px; background: #fff; box-shadow: 0 20px 80px rgba(0, 0, 0, .35); color: #171923; }
.cookiePreferences__close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f0f1f5; font-size: 26px; cursor: pointer; }
.cookiePreferences__panel > p { margin-bottom: 22px; padding-right: 32px; color: #555b6c; }
.cookiePreference { display: flex; align-items: center; gap: 20px; padding: 18px 0; border-top: 1px solid #e6e8ef; }
.cookiePreference__copy { display: flex; flex: 1; flex-direction: column; gap: 5px; }
.cookiePreference__copy strong { font: 700 15px/1.3 Montserrat, sans-serif; }
.cookiePreference__copy span, .cookieSwitch span { color: #626879; font: 400 13px/1.45 'PT Sans Caption', sans-serif; }
.cookieSwitch { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.cookieSwitch input { width: 20px; height: 20px; accent-color: #0c39a8; }
.cookiePreferences__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 20px; border-top: 1px solid #e6e8ef; }
.cookiePreferences__footer a { color: #0c39a8; font-size: 13px; }
.cookiePreferences .cookieButton--primary { border-color: #0c39a8; background: #0c39a8; color: #fff; }
.cookieModalOpen { overflow: hidden; }

.cookieSettingsButton { position: fixed; right: 10px; bottom: 10px; z-index: 99990; display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 1px solid #0c39a8; border-radius: 50%; background: #0c39a8; box-shadow: 0 3px 12px rgba(12,57,168,.24); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.footerCookieSettings { padding: 0; border: 0; background: transparent; color: inherit; text-decoration: underline; }

@media (max-width: 820px) {
	.cookieConsent { inset: auto 10px 10px; }
	.cookieConsent__card { display: block; padding: 20px; border-radius: 15px; }
	.cookieConsent__actions { display: grid; grid-template-columns: 1fr; margin-top: 18px; }
	.cookieConsent__actions .cookieButton { width: 100%; }
	.cookiePreferences { padding: 10px; }
	.cookiePreferences__panel { max-height: calc(100vh - 20px); padding: 24px 18px; border-radius: 15px; }
	.cookiePreference { align-items: flex-start; }
	.cookiePreferences__footer { align-items: stretch; flex-direction: column; }
	.cookiePreferences__footer .cookieButton { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.cookieButton { transition: none; }
}
