/**
 * UNIPAC – Publicaciones recomendadas
 * Autor: VisorLab en unión con Claude
 * Versión: 1.0.0
 *
 * Tarjeta "UI Card Publicacion" de Figma (300 px de ancho, columna flex).
 * Columnas: 4 escritorio / 3 tablet / 1 móvil (editables desde Elementor).
 */

.unipac-pubs {
	--unipac-pub-cols:         4;
	--unipac-pub-gap-x:        70px;
	--unipac-pub-gap-y:        70px;
	--unipac-pub-ratio:        6 / 5;
	--unipac-pub-morado:       #7E4292;
	--unipac-pub-gris:         #656565;
	--unipac-pub-naranja:      #EE7326;
	--unipac-pub-boton-hover:  #7E4292;
	--unipac-pub-dur:          .35s;

	width: 100%;
}

@media (max-width: 1024px) {
	.unipac-pubs { --unipac-pub-cols: 3; --unipac-pub-gap-x: 40px; }
}
@media (max-width: 767px) {
	.unipac-pubs { --unipac-pub-cols: 1; --unipac-pub-gap-y: 50px; }
}

.unipac-pubs__grid {
	display: grid;
	grid-template-columns: repeat(var(--unipac-pub-cols), minmax(0, 1fr));
	gap: var(--unipac-pub-gap-y) var(--unipac-pub-gap-x);
	align-items: stretch;
}

/* ------------------------------------------------------------------ */
/* Tarjeta                                                             */
/* ------------------------------------------------------------------ */

.unipac-pub-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
	min-width: 0;
}

.unipac-pub-card__media {
	display: block;
	width: 100%;
	aspect-ratio: var(--unipac-pub-ratio);
	overflow: hidden;
	background: #DDE0D1;
}

.unipac-pub-card__media img,
.unipac-pub-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform .6s cubic-bezier(.45, 0, .25, 1);
}

.unipac-pub-card:hover .unipac-pub-card__media img {
	transform: scale(1.04);
}

.unipac-pub-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	width: 100%;
	padding-top: 30px;
}

.unipac-pub-card__title {
	margin: 0 0 12px;
	font-family: "Montserrat", sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .02em;
	color: var(--unipac-pub-morado);
}

.unipac-pub-card__title a {
	color: inherit;
	text-decoration: none;
}

.unipac-pub-card__title a:hover,
.unipac-pub-card__title a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.unipac-pub-card__autor {
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--unipac-pub-morado);
}

.unipac-pub-card__fecha {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .04em;
	color: var(--unipac-pub-morado);
}

.unipac-pub-card__sep {
	display: block;
	margin: 18px 0;
	line-height: 0;
	color: var(--unipac-pub-gris);
}

.unipac-pub-card__extracto {
	margin: 0 0 30px;
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--unipac-pub-gris);
}

.unipac-pub-card__ellipsis {
	color: var(--unipac-pub-naranja);
	font-weight: 600;
}

.unipac-pub-card__leer {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto; /* alinea "Leer más" al fondo en toda la fila */
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	color: var(--unipac-pub-naranja);
	text-decoration: none;
}

.unipac-pub-card__leer svg {
	transition: transform var(--unipac-pub-dur) ease;
}

.unipac-pub-card__leer:hover,
.unipac-pub-card__leer:focus-visible {
	color: var(--unipac-pub-naranja);
}

.unipac-pub-card__leer:hover svg,
.unipac-pub-card__leer:focus-visible svg {
	transform: translateX(5px);
}

/* Aparición de las tarjetas que llegan con "Ver más" */
.unipac-pub-card.is-nueva {
	animation: unipacPubEntra .6s cubic-bezier(.45, 0, .25, 1) both;
}

@keyframes unipacPubEntra {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: none; }
}

/* ------------------------------------------------------------------ */
/* Botón "Ver más publicaciones"                                       */
/* ------------------------------------------------------------------ */

.unipac-pubs__acciones {
	display: flex;
	justify-content: center;
	margin-top: 70px;
}

.unipac-pubs__mas {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 25px 30px;
	border: 0;
	border-radius: 0;
	background: var(--unipac-pub-naranja);
	color: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background-color var(--unipac-pub-dur) ease, opacity var(--unipac-pub-dur) ease;
}

.unipac-pubs__mas:hover,
.unipac-pubs__mas:focus-visible {
	background: var(--unipac-pub-boton-hover);
	color: #FFFFFF;
}

.unipac-pubs__mas[disabled] {
	opacity: .7;
	cursor: progress;
}

.unipac-pubs__mas.is-cargando::after {
	content: "";
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: unipacPubGira .7s linear infinite;
}

@keyframes unipacPubGira { to { transform: rotate(360deg); } }

.unipac-pubs__error {
	margin: 16px 0 0;
	text-align: center;
	color: var(--unipac-pub-gris);
	font-size: 14px;
}

.unipac-pubs__vacio {
	padding: 24px;
	border: 1px dashed #c3c4c7;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	color: #50575e;
}

@media (prefers-reduced-motion: reduce) {
	.unipac-pub-card.is-nueva,
	.unipac-pub-card__media img,
	.unipac-pub-card__leer svg { animation: none; transition: none; }
}

/* ------------------------------------------------------------------ */
/* Página interna de la publicación                                    */
/* ------------------------------------------------------------------ */

.unipac-pub-single {
	max-width: 900px;
	margin: 0 auto;
	padding: 80px 20px 120px;
}

.unipac-pub-single__volver {
	display: inline-flex;
	gap: 8px;
	margin-bottom: 40px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #EE7326;
	text-decoration: none;
}

.unipac-pub-single__head {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 50px;
	align-items: start;
	margin-bottom: 50px;
}

.unipac-pub-single__head img {
	width: 100%;
	height: auto;
	display: block;
}

.unipac-pub-single__title {
	margin: 0 0 16px;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	line-height: 1.15;
	color: #7E4292;
}

.unipac-pub-single__meta {
	margin: 0 0 20px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #7E4292;
}

.unipac-pub-single__meta time {
	display: block;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
}

.unipac-pub-single__temas a {
	display: inline-block;
	margin: 0 6px 6px 0;
	padding: 4px 10px;
	background: #DDE0D1;
	color: #333;
	font-size: 13px;
	text-decoration: none;
}

.unipac-pub-single__content {
	font-family: "Roboto", sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: #656565;
}

.unipac-pub-single__content a { color: #EE7326; }

@media (max-width: 767px) {
	.unipac-pub-single__head { grid-template-columns: 1fr; gap: 30px; }
	.unipac-pub-single__head img { max-width: 260px; }
}
