/* PP Santiago del Teide — banner claro, borde blanco, tipografía grande.
   Selectores reforzados para ganar a estilos globales Canvas. */

#legalConsentRoot {
	--legal-c-ink: #1a2b4a;
	--legal-c-ink-2: #ffffff;
	--legal-c-paper: #1a2b4a;
	--legal-c-paper-mute: #4a5d7a;
	--legal-c-rule: rgba(26, 43, 74, .12);
	--legal-c-accent: #1e4fd6;
	--legal-c-accent-strong: #003399;
	--legal-c-danger: #b42318;
	--legal-c-bg-overlay: rgba(15, 28, 55, .45);
	--legal-c-shadow: 0 20px 48px rgba(15, 28, 55, .18);
	font-family: "Lato", "Raleway", "Segoe UI", system-ui, sans-serif;
}

#legalConsentBanner.legal-consent-banner {
	right: 28px !important;
	bottom: 28px !important;
	width: min(460px, calc(100vw - 40px)) !important;
	padding: 28px 28px 22px !important;
	border-radius: 16px !important;
	background: #ffffff !important;
	color: #1a2b4a !important;
	border: 3px solid #ffffff !important;
	outline: 1px solid rgba(0, 51, 153, .18);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, .9),
		0 18px 44px rgba(15, 28, 55, .18) !important;
}

#legalConsentBanner .legal-consent-banner__kicker {
	display: inline-block !important;
	margin-bottom: 8px !important;
	font-size: .85rem !important;
	font-weight: 800 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: #003399 !important;
}

#legalConsentBanner .legal-consent-banner__title {
	margin: 0 0 10px !important;
	font-size: 1.55rem !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	color: #1a2b4a !important;
}

#legalConsentBanner .legal-consent-banner__text {
	margin: 0 !important;
	font-size: 1.12rem !important;
	line-height: 1.6 !important;
	color: #4a5d7a !important;
}

#legalConsentBanner .legal-consent-banner__text a {
	color: #003399 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

#legalConsentBanner .legal-consent-banner__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 20px !important;
}

#legalConsentBanner .legal-consent-btn,
#legalConsentPanel .legal-consent-btn {
	flex: 1 1 auto !important;
	min-width: 120px !important;
	min-height: 48px !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-family: inherit !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	cursor: pointer !important;
	text-shadow: none !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

#legalConsentBanner .legal-consent-btn--accept,
#legalConsentPanel .legal-consent-btn--accept {
	background: #003399 !important;
	color: #ffffff !important;
	border: 1px solid #003399 !important;
}
#legalConsentBanner .legal-consent-btn--accept:hover,
#legalConsentPanel .legal-consent-btn--accept:hover {
	background: #1e4fd6 !important;
	color: #ffffff !important;
	border-color: #1e4fd6 !important;
}

#legalConsentBanner .legal-consent-btn--config,
#legalConsentPanel .legal-consent-btn--config {
	background: #ffffff !important;
	color: #003399 !important;
	border: 2px solid #003399 !important;
}
#legalConsentBanner .legal-consent-btn--config:hover,
#legalConsentPanel .legal-consent-btn--config:hover {
	background: #eef2fb !important;
	color: #002266 !important;
	border-color: #002266 !important;
}

#legalConsentBanner .legal-consent-btn--reject,
#legalConsentPanel .legal-consent-btn--reject {
	background: #f4f6fa !important;
	color: #1a2b4a !important;
	border: 1px solid rgba(26, 43, 74, .22) !important;
}
#legalConsentBanner .legal-consent-btn--reject:hover,
#legalConsentPanel .legal-consent-btn--reject:hover {
	background: #e8ecf4 !important;
	color: #0f1a2e !important;
}

/* Panel configurar */
#legalConsentPanel .legal-consent-panel__dialog {
	background: #ffffff !important;
	color: #1a2b4a !important;
	border: 3px solid #ffffff !important;
	outline: 1px solid rgba(0, 51, 153, .16);
	border-radius: 18px !important;
	box-shadow: 0 24px 60px rgba(15, 28, 55, .22) !important;
	padding: 30px !important;
}
#legalConsentPanel .legal-consent-panel__title {
	color: #1a2b4a !important;
	font-size: 1.55rem !important;
}
#legalConsentPanel .legal-consent-panel__intro,
#legalConsentPanel .legal-consent-category__desc {
	color: #4a5d7a !important;
	font-size: 1.08rem !important;
}
#legalConsentPanel .legal-consent-category__title {
	color: #1a2b4a !important;
	font-size: 1.15rem !important;
}
#legalConsentPanel .legal-consent-panel__close {
	color: #4a5d7a !important;
	background: transparent !important;
}
#legalConsentPanel .legal-consent-category {
	border-top: 1px solid rgba(26, 43, 74, .12) !important;
}

#legalConsentIcon.legal-consent-icon {
	background: #ffffff !important;
	border: 2px solid #ffffff !important;
	outline: 1px solid rgba(0, 51, 153, .2);
	box-shadow: 0 10px 24px rgba(15, 28, 55, .14) !important;
}
#legalConsentIcon.legal-consent-icon svg {
	fill: #003399 !important;
}

@media (min-width: 961px) {
	#legalConsentBanner.legal-consent-banner {
		right: 36px !important;
		bottom: 36px !important;
		width: 440px !important;
	}
	#legalConsentBanner .legal-consent-banner__actions {
		flex-wrap: nowrap !important;
	}
	#legalConsentBanner .legal-consent-btn {
		flex: 1 1 0 !important;
		min-width: 0 !important;
	}
}

@media (max-width: 640px) {
	#legalConsentBanner.legal-consent-banner {
		right: 10px !important;
		bottom: 10px !important;
		width: calc(100vw - 20px) !important;
		padding: 20px 18px 16px !important;
	}
	#legalConsentBanner .legal-consent-banner__title {
		font-size: 1.3rem !important;
	}
	#legalConsentBanner .legal-consent-banner__text {
		font-size: 1.02rem !important;
	}
	#legalConsentBanner .legal-consent-btn {
		font-size: 1rem !important;
		min-height: 46px !important;
	}
}
