/* =========================================================
   MI MOTOR EDITORIAL · CONTENIDOS RELACIONADOS
   ========================================================= */

.mi-relacionados {
	--mi-rel-accent: #4f8f9e;
	--mi-rel-accent-dark: #275d69;
	--mi-rel-accent-rgb: 79, 143, 158;
	--mi-rel-ink: #18333d;
	--mi-rel-muted: #64757c;
	--mi-rel-border: rgba(var(--mi-rel-accent-rgb), 0.22);
	--mi-rel-shadow: 0 14px 34px rgba(25, 57, 68, 0.09);

	width: 100%;
	margin: clamp(34px, 6vw, 64px) auto 18px;
	padding: clamp(20px, 4vw, 32px);
	box-sizing: border-box;
	border: 1px solid var(--mi-rel-border);
	border-radius: 24px;
	color: var(--mi-rel-ink);
	background:
		radial-gradient(700px 220px at 8% 0%, rgba(var(--mi-rel-accent-rgb), 0.16), transparent 64%),
		linear-gradient(145deg, rgba(var(--mi-rel-accent-rgb), 0.08), rgba(255, 255, 255, 0.94) 48%, rgba(255, 255, 255, 0.86));
	overflow: hidden;
}

.mi-relacionados *,
.mi-relacionados *::before,
.mi-relacionados *::after {
	box-sizing: border-box;
}

.mi-relacionados--madrid-dia {
	--mi-rel-accent: #4f8f9e;
	--mi-rel-accent-dark: #275d69;
	--mi-rel-accent-rgb: 79, 143, 158;
}

.mi-relacionados--contraportada {
	--mi-rel-accent: #755b97;
	--mi-rel-accent-dark: #513d70;
	--mi-rel-accent-rgb: 117, 91, 151;
}

.mi-relacionados--cara-b {
	--mi-rel-accent: #8e5f7a;
	--mi-rel-accent-dark: #603b51;
	--mi-rel-accent-rgb: 142, 95, 122;
}

.mi-relacionados--guias {
	--mi-rel-accent: #5c9679;
	--mi-rel-accent-dark: #386b52;
	--mi-rel-accent-rgb: 92, 150, 121;
}

.mi-relacionados__header {
	position: relative;
	margin: 0 0 20px;
	padding-left: 16px;
}

.mi-relacionados__header::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	bottom: 3px;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--mi-rel-accent), var(--mi-rel-accent-dark));
}

.mi-relacionados__eyebrow {
	margin: 0 0 5px;
	color: var(--mi-rel-accent-dark);
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mi-relacionados__title {
	margin: 0;
	color: var(--mi-rel-ink);
	font-size: clamp(1.38rem, 2.5vw, 2rem);
	font-weight: 780;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.mi-relacionados__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.mi-relacionados--items-2 .mi-relacionados__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mi-relacionados--items-1 .mi-relacionados__grid {
	grid-template-columns: minmax(0, 420px);
}

.mi-relacionados-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid rgba(var(--mi-rel-accent-rgb), 0.18);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 8px 22px rgba(27, 57, 67, 0.07);
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.mi-relacionados-card:hover {
	transform: translateY(-3px);
	border-color: rgba(var(--mi-rel-accent-rgb), 0.4);
	box-shadow: var(--mi-rel-shadow);
}

.mi-relacionados-card__media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	background: rgba(var(--mi-rel-accent-rgb), 0.12);
	overflow: hidden;
}

.mi-relacionados-card__media::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 32%;
	background: linear-gradient(180deg, transparent, rgba(10, 29, 36, 0.18));
	pointer-events: none;
}

.mi-relacionados-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.mi-relacionados-card:hover .mi-relacionados-card__image {
	transform: scale(1.035);
}

.mi-relacionados-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	padding: 18px;
	color: var(--mi-rel-accent-dark);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
}

.mi-relacionados-card__body {
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	padding: 16px 17px 17px;
}

.mi-relacionados-card__category {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	margin: 0 0 9px;
	padding: 5px 9px;
	border: 1px solid rgba(var(--mi-rel-accent-rgb), 0.22);
	border-radius: 999px;
	color: var(--mi-rel-accent-dark);
	background: rgba(var(--mi-rel-accent-rgb), 0.09);
	font-size: 0.69rem;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
}

.mi-relacionados-card__category:hover {
	color: var(--mi-rel-accent-dark);
	background: rgba(var(--mi-rel-accent-rgb), 0.15);
}

.mi-relacionados-card__title {
	display: -webkit-box;
	margin: 0;
	color: var(--mi-rel-ink);
	font-size: clamp(1rem, 1.35vw, 1.13rem);
	font-weight: 760;
	line-height: 1.32;
	letter-spacing: -0.015em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.mi-relacionados-card__title a {
	color: inherit;
	text-decoration: none;
}

.mi-relacionados-card__title a:hover {
	color: var(--mi-rel-accent-dark);
}

.mi-relacionados-card__read-more {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	padding-top: 16px;
	color: var(--mi-rel-accent-dark);
	font-size: 0.79rem;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none;
}

.mi-relacionados-card__read-more span:last-child {
	font-size: 1.05em;
	transition: transform 160ms ease;
}

.mi-relacionados-card__read-more:hover {
	color: var(--mi-rel-accent-dark);
}

.mi-relacionados-card__read-more:hover span:last-child {
	transform: translateX(3px);
}

@media (max-width: 860px) {
	.mi-relacionados__grid,
	.mi-relacionados--items-2 .mi-relacionados__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.mi-relacionados {
		margin-top: 36px;
		padding: 19px 15px 16px;
		border-radius: 20px;
	}

	.mi-relacionados__header {
		margin-bottom: 16px;
		padding-left: 13px;
	}

	.mi-relacionados__grid,
	.mi-relacionados--items-2 .mi-relacionados__grid,
	.mi-relacionados--items-1 .mi-relacionados__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.mi-relacionados-card {
		display: grid;
		grid-template-columns: minmax(116px, 38%) minmax(0, 1fr);
		min-height: 128px;
		border-radius: 16px;
	}

	.mi-relacionados-card__media {
		height: 100%;
		min-height: 128px;
		aspect-ratio: auto;
	}

	.mi-relacionados-card__body {
		padding: 13px 13px 12px;
	}

	.mi-relacionados-card__category {
		margin-bottom: 7px;
		padding: 4px 7px;
		font-size: 0.61rem;
	}

	.mi-relacionados-card__title {
		font-size: 0.96rem;
		line-height: 1.27;
		-webkit-line-clamp: 3;
	}

	.mi-relacionados-card__read-more {
		padding-top: 10px;
		font-size: 0.72rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mi-relacionados-card,
	.mi-relacionados-card__image,
	.mi-relacionados-card__read-more span:last-child {
		transition: none;
	}
}
