/*
 * IG Feed Èmfasi — tarjetas del shortcode [ig_feed].
 * Breakpoints alineados con el theme: tablet ≥ 768px, escritorio ≥ 1024px.
 * Tipografía heredada del theme (no se carga ninguna fuente).
 */

/* Móvil: scroll horizontal con snap, 1,5 tarjetas visibles. */
.igfe-feed {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 16px) / 1.5);
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.igfe-feed::-webkit-scrollbar {
	display: none;
}

.igfe-card {
	position: relative;
	display: block;
	aspect-ratio: 9 / 16;
	border-radius: 8px;
	overflow: hidden;
	background-color: #ececec;
	scroll-snap-align: start;
	color: #fff;
	text-decoration: none;
}

.igfe-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Zoom base: las portadas de los reels traen cantos negros; así quedan fuera de la tarjeta. */
	transform: scale(1.04);
	transition: transform 0.4s ease;
}

/* Degradado oscuro sutil solo abajo, para que se lea el usuario. */
.igfe-card::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 30%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0));
	pointer-events: none;
}

.igfe-card__users {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 2px 10px;
	font-size: 11px;
	line-height: 1.3;
	color: #fff;
}

/* Hover solo en los reels, que son lo único interactivo. */
.igfe-card--video:hover .igfe-card__img,
.igfe-card--video:focus-visible .igfe-card__img {
	transform: scale(1.08);
}

/* Tablet: una fila de 3. */
@media only screen and (min-width: 768px) {
	.igfe-feed {
		grid-auto-flow: row;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		overflow: visible;
	}

	.igfe-card:nth-child(n + 4) {
		display: none;
	}
}

/* Escritorio: una fila con todas las tarjetas (5 por defecto). */
@media only screen and (min-width: 1024px) {
	.igfe-feed {
		grid-template-columns: repeat(var(--igfe-cols, 5), minmax(0, 1fr));
	}

	.igfe-card:nth-child(n + 4) {
		display: block;
	}
}

/* Botón de play de los reels: aparece al hacer hover (o foco con teclado). */
.igfe-card--video::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5.5v13l10.5-6.5z'/%3E%3C/svg%3E") no-repeat 55% 50% / 24px 24px;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.9);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

.igfe-card--video:hover::before,
.igfe-card--video:focus-visible::before {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* En pantallas táctiles no hay hover: el play se ve siempre para que se sepa que es un vídeo. */
@media (hover: none) {
	.igfe-card--video::before {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

/* Reel reproduciéndose en la tarjeta: el vídeo tapa portada, play, degradado y usuarios. */
.igfe-card.is-playing::before {
	display: none;
}

.igfe-card__video {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.04);
	background-color: #000;
}

.igfe-card.is-playing::after,
.igfe-card.is-playing .igfe-card__users {
	display: none;
}

.igfe-card.is-playing .igfe-card__img {
	transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
	.igfe-card__img {
		transition: none;
	}
}
