/**
 * Páginas legales — banner y contenido del editor.
 */

.es-legal-page {
	font-family: "Urbanist", sans-serif;
	font-optical-sizing: auto;
}

/* Hero */
.es-legal-hero {
	position: relative;
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #2A2E65;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

@media (min-width: 768px) {
	.es-legal-hero {
		min-height: 360px;
	}
}

.es-legal-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(120deg, rgba(225, 56, 51, 0.5) 0%, rgba(225, 56, 51, 0.12) 32%, rgba(0, 33, 87, 0.55) 100%),
		rgba(15, 28, 42, 0.4);
}

.es-legal-hero-inner {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 72px 0 64px;
}

.es-legal-hero-title {
	margin: 0 0 14px;
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.15;
	color: #fff;
	letter-spacing: -0.02em;
}

.es-legal-breadcrumb {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 10px;
	font-size: 14px;
}

.es-legal-breadcrumb a {
	color: #fff;
	opacity: 0.92;
	text-decoration: none;
}

.es-legal-breadcrumb a:hover {
	opacity: 1;
}

.es-legal-breadcrumb span {
	color: rgba(255, 255, 255, 0.72);
}

.es-legal-breadcrumb-current {
	color: rgba(255, 255, 255, 0.85);
}

/* Contenido */
.es-legal-main {
	padding: 56px 0 88px;
}

.es-legal-content {
	padding: 40px 36px;
	color: #4a5560;
	font-size: 16px;
	line-height: 1.75;
}

.es-legal-content > :first-child {
	margin-top: 0;
}

.es-legal-content > :last-child {
	margin-bottom: 0;
}

.es-legal-content h2,
.es-legal-content h3,
.es-legal-content h4 {
	margin: 2rem 0 1rem;
	font-weight: 800;
	line-height: 1.25;
	color: #2A2E65;
	letter-spacing: -0.02em;
}

.es-legal-content h2 {
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	padding-bottom: 10px;
	border-bottom: 2px solid #E62020;
}

.es-legal-content h2:first-child {
	margin-top: 0;
}

.es-legal-content h3 {
	font-size: 1.15rem;
}

.es-legal-content p {
	margin: 0 0 1.15em;
}

.es-legal-content ul,
.es-legal-content ol {
	margin: 0 0 1.15em 1.25em;
	padding: 0;
}

.es-legal-content li {
	margin-bottom: 0.5em;
}

.es-legal-content a {
	color: #E62020;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.es-legal-content a:hover {
	color: #c9302c;
}

.es-legal-content strong {
	color: #2A2E65;
	font-weight: 700;
}

@media (max-width: 575px) {
	.es-legal-main {
		padding: 40px 0 64px;
	}

	.es-legal-content {
		padding: 28px 22px;
	}
}
