/*
 * MiRed Artículos Recientes — Grilla de tarjetas de posts
 * Diseño: título coloreado → imagen redondeada → extracto → meta + botón flecha.
 */

/* ─── Variables ──────────────────────────────────────────────────────────── */
.mired-recent-articles {
	--mra-columns:      3;
	--mra-card-bg:      #f4f4f4;
	--mra-btn-color:    #1253ed;
	--mra-text-dark:    #161616;
	--mra-text-muted:   #8a8a8a;
	--mra-excerpt:      #444444;
	--mra-title-color:  #f09420;
	--mra-radius:       16px;
	--mra-img-radius:   12px;
	--mra-btn-radius:   12px;
	--mra-font:         'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--mra-gap:          24px;

	width: 100%;
	font-family: var(--mra-font);
	box-sizing: border-box;
}

.mired-recent-articles *,
.mired-recent-articles *::before,
.mired-recent-articles *::after {
	box-sizing: border-box;
}

/* ─── Grilla ─────────────────────────────────────────────────────────────── */
.mired-ra-grid {
	display: grid;
	grid-template-columns: repeat(var(--mra-columns), minmax(0, 1fr));
	gap: var(--mra-gap);
	width: 100%;
}

/* ─── Tarjeta ────────────────────────────────────────────────────────────── */
.mired-ra-card {
	display: flex;
	flex-direction: column;
	background-color: var(--mra-card-bg);
	border-radius: var(--mra-radius);
	padding: 16px;
	height: 100%;
	min-width: 0;
}

/* ─── Título ─────────────────────────────────────────────────────────────── */
.mired-ra-title {
	margin: 0 0 14px;
	font-size: 1.25rem;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.01em;

	/* Reserva 2 líneas para alinear las imágenes entre tarjetas */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mired-ra-title a {
	color: var(--mra-title-color);
	text-decoration: none;
}

.mired-ra-title a:focus-visible {
	text-decoration: none;
}

/* ─── Imagen destacada ───────────────────────────────────────────────────── */
.mired-ra-image-link {
	display: block;
	margin-bottom: 16px;
	border-radius: var(--mra-img-radius);
	overflow: hidden;
}

.mired-ra-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 11;
	object-fit: cover;
	border-radius: var(--mra-img-radius);
	background-color: #e6e6e6;
}

.mired-ra-image--placeholder {
	display: flex;
	width: 100%;
	aspect-ratio: 16 / 11;
	background:
		linear-gradient(135deg, #ececec 0%, #dcdcdc 100%);
}

/* ─── Extracto ───────────────────────────────────────────────────────────── */
.mired-ra-excerpt {
	margin: 0 0 18px;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--mra-excerpt);
	font-weight: 500;

	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ─── Footer: meta + botón ───────────────────────────────────────────────── */
.mired-ra-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 4px;
}

.mired-ra-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--mra-text-muted);
	min-width: 0;
}

.mired-ra-meta a.mired-ra-cat {
	color: inherit;
	text-decoration: none;
}

.mired-ra-meta a.mired-ra-cat:hover,
.mired-ra-meta a.mired-ra-cat:focus-visible {
	text-decoration: underline;
}

.mired-ra-sep {
	opacity: 0.7;
}

/* ─── Botón flecha ───────────────────────────────────────────────────────── */
.mired-ra-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--mra-btn-radius);
	background-color: var(--mra-btn-color);
	text-decoration: none;
}

.mired-ra-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}

.mired-ra-more-label {
	font-weight: 700;
	font-size: 14px;
	color: #000000;
}

.mired-ra-btn svg {
	stroke: #ffffff;
}

/* Foco visible accesible */
.mired-ra-btn:focus-visible,
.mired-ra-title a:focus-visible,
.mired-ra-meta a:focus-visible {
	outline: 2px solid var(--mra-btn-color);
	outline-offset: 2px;
}

/* ─── Estado vacío ───────────────────────────────────────────────────────── */
.mired-ra-empty {
	margin: 0;
	padding: 24px;
	text-align: center;
	color: var(--mra-text-muted);
	background-color: var(--mra-card-bg);
	border-radius: var(--mra-radius);
	font-weight: 600;
}

/* ─── Responsive: tablet ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.mired-ra-title {
		font-size: 1.15rem;
	}
}

/* ─── Responsive: mobile ─────────────────────────────────────────────────── */
@media (max-width: 767px) {
	.mired-recent-articles {
		--mra-gap: 16px;
	}

	.mired-ra-card {
		padding: 14px;
	}

	.mired-ra-title {
		font-size: 1.125rem;
	}

	/* Modo carrusel deslizable opcional */
	.mired-ra-grid--carousel {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 82%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 6px;
		scrollbar-width: thin;
	}

	.mired-ra-grid--carousel .mired-ra-card {
		scroll-snap-align: start;
	}

	.mired-ra-grid--carousel::-webkit-scrollbar {
		height: 6px;
	}

	.mired-ra-grid--carousel::-webkit-scrollbar-thumb {
		background: rgba(22, 22, 22, 0.18);
		border-radius: 999px;
	}
}

/* ─── Accesibilidad: reduce motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.mired-ra-card,
	.mired-ra-btn,
	.mired-ra-title a {
		transition: none;
	}
}
