/* ==========================================
  PÁGINA - FEED SOCIAL
========================================== */
.hero-section-social {
	position: relative;
	min-height: 50vh;
	background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(30, 41, 59, 0.7) 100%),
	url('https://images.unsplash.com/photo-1611162617474-5b21e879e113?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding-top: 100px;
	display: flex;
	align-items: center;
	transition: all var(--transition-base);
}

.hero-section-social::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center, transparent 0%, rgba(30, 42, 74, 0.4) 100%);
	pointer-events: none;
}

.hero-section-social > * {
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.hero-section-social {
		background-attachment: scroll;
		min-height: 35vh !important;
	}
}

/* Post Cards */
.post-card {
	background: white;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: all var(--transition-base);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.post-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .post-card {
	background: var(--card-bg);
	border: 1px solid rgba(255, 255, 255, 0.05);
}

.post-header {
	padding: 1.25rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .post-header {
	border-bottom-color: rgba(255, 255, 255, 0.05);
}

.post-avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 0.75rem;
	border: 2px solid var(--voz-cyan);
	flex-shrink: 0;
}

.post-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-info {
	flex: 1;
}

.post-author {
	font-size: 1rem;
	font-weight: 700;
	color: var(--voz-navy);
	margin-bottom: 0.25rem;
}

[data-theme="dark"] .post-author {
	color: var(--card-text);
}

.post-time {
	font-size: 0.8rem;
	color: #65676b;
	font-weight: 500;
}

[data-theme="dark"] .post-time {
	color: var(--text-muted);
}

.post-link {
	color: var(--voz-cyan);
	font-size: 1.5rem;
	transition: all var(--transition-base);
	padding: 0.5rem;
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
}

.post-link:hover {
	background: rgba(0, 156, 217, 0.1);
	transform: scale(1.1);
	color: #1877f2;
}

.post-content {
	padding: 1.25rem;
	flex: 1;
}

.post-text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #050505;
	margin: 0;
	word-wrap: break-word;
}

[data-theme="dark"] .post-text {
	color: var(--card-text);
}

.post-image {
	position: relative;
	overflow: hidden;
	background: #f0f2f5;
	aspect-ratio: 4/3;
}

.post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.post-card:hover .post-image img {
	transform: scale(1.05);
}

.post-video {
	position: relative;
	cursor: pointer;
}

.video-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.3);
	transition: all var(--transition-base);
	z-index: 1;
}

.video-overlay i {
	font-size: 4rem;
	color: white;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
	transition: all var(--transition-base);
}

.post-video:hover .video-overlay {
	background: rgba(0, 0, 0, 0.5);
}

.post-video:hover .video-overlay i {
	transform: scale(1.2);
}

.post-footer {
	padding: 1rem 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	margin-top: auto;
}

[data-theme="dark"] .post-footer {
	border-top-color: rgba(255, 255, 255, 0.05);
}

.post-stats {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	flex-wrap: wrap;
}

.stat-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: #65676b;
	transition: all var(--transition-base);
}

[data-theme="dark"] .stat-item {
	color: var(--text-muted);
}

.stat-item i {
	font-size: 1.1rem;
}

.post-card:hover .stat-item {
	color: var(--voz-navy);
}

[data-theme="dark"] .post-card:hover .stat-item {
	color: var(--voz-cyan);
}

.post-skeleton {
	background: white;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	height: 450px;
}

[data-theme="dark"] .post-skeleton {
	background: var(--card-bg);
}

.post-skeleton-header {
	padding: 1.25rem;
	display: flex;
	gap: 0.75rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

@media (max-width: 768px) {
	.post-header,
	.post-content,
	.post-footer {
		padding: 1rem;
	}

	.post-stats {
		gap: 1rem;
	}

	.video-overlay i {
		font-size: 3rem;
	}
}

/* Galería de fotos */
.post-gallery {
	background: #f0f2f5;
}

.gallery-grid {
	display: grid;
	gap: 2px;
	grid-template-columns: 1fr 1fr;
}

/* Solo si soporta :has() */
@supports selector(:has(*)) {
	/* 1 imagen */
	.gallery-grid:has(.gallery-item:only-child) {
		grid-template-columns: 1fr;
	}
	/* 2 imágenes */
	.gallery-grid:has(.gallery-item:nth-child(2):last-child) {
		grid-template-columns: 1fr 1fr;
	}
	/* 3 imágenes */
	.gallery-grid:has(.gallery-item:nth-child(3):last-child) {
		grid-template-columns: 1fr 1fr;
	}
	.gallery-grid:has(.gallery-item:nth-child(3):last-child) .gallery-item:first-child {
		grid-column: 1 / -1;
	}
	/* 4+ imágenes */
	.gallery-grid:has(.gallery-item:nth-child(4)) {
		grid-template-columns: 1fr 1fr;
	}
}

.gallery-item {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: #e4e6eb;
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transition-slow);
}

.post-card:hover .gallery-item img {
	transform: scale(1.05);
}

.gallery-more-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.gallery-more-text {
	color: white;
	font-size: 2.5rem;
	font-weight: 700;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .post-gallery {
	background: #18191a;
}

[data-theme="dark"] .gallery-item {
	background: #242526;
}

/* Dark mode adicional */
[data-theme="dark"] .post-image {
	background: #18191a;
}