/**
 * Main Stylesheet for Serpia Theme
 * @package Serpia
 */

:root {
	--color-primary: #2563eb;
	--color-primary-dark: #1d4ed8;
	--color-secondary: #64748b;
	--color-text: #1e293b;
	--color-text-light: #475569;
	--color-text-muted: #64748b;
	--color-background: #ffffff;
	--color-background-alt: #f8fafc;
	--color-background-dark: #1e293b;
	--color-border: #e2e8f0;
	--color-border-light: #f1f5f9;
	--color-success: #10b981;
	--color-error: #ef4444;
	--font-primary: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-secondary: 'Merriweather', Georgia, serif;
	--font-size-xs: 0.75rem;
	--font-size-sm: 0.875rem;
	--font-size-base: 1rem;
	--font-size-lg: 1.125rem;
	--font-size-xl: 1.25rem;
	--font-size-2xl: 1.5rem;
	--font-size-3xl: 1.875rem;
	--font-size-4xl: 2.25rem;
	--spacing-xs: 0.25rem;
	--spacing-sm: 0.5rem;
	--spacing-md: 1rem;
	--spacing-lg: 1.5rem;
	--spacing-xl: 2rem;
	--spacing-2xl: 3rem;
	--spacing-3xl: 4rem;
	--radius-sm: 0.25rem;
	--radius-md: 0.5rem;
	--radius-lg: 0.75rem;
	--radius-xl: 1rem;
	--radius-full: 50px;
	--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
	--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
	--transition-fast: 150ms ease;
	--transition-normal: 300ms ease;
	--container-max: 1200px;
	--header-height: 70px;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-primary); font-size: var(--font-size-base); line-height: 1.5; color: var(--color-text); background-color: var(--color-background); padding-top: var(--header-height); }
body.menu-open { overflow: hidden; }

h1, h2, h3, h4, h5, h6 { font-family: var(--font-secondary); font-weight: 700; line-height: 1.25; margin: 0 0 var(--spacing-md); }
h1 { font-size: var(--font-size-4xl); }
h2 { font-size: var(--font-size-3xl); }
h3 { font-size: var(--font-size-2xl); }
h4 { font-size: var(--font-size-xl); }
p { margin: 0 0 var(--spacing-md); }
a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--color-primary-dark); }

/* Enlaces en contenido del artículo - subrayado para accesibilidad WCAG */
.article-body a:not(.tag):not(.button):not(.wp-block-button__link) {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.article-body a:not(.tag):not(.button):not(.wp-block-button__link):hover {
	text-decoration-thickness: 2px;
}

img { max-width: 100%; height: auto; display: block; }

/* Prevenir overflow horizontal en móvil */
body {
	overflow-x: hidden;
	width: 100%;
	max-width: 100vw;
}
.container,
.main-layout,
.article-body {
	max-width: 100%;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.article-body * {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.container { 
	width: 100%; 
	max-width: var(--container-max); 
	margin: 0 auto; 
	padding: 0 var(--spacing-md);
	overflow-x: hidden;
}
.main-layout { 
	display: grid; 
	grid-template-columns: 1fr; 
	gap: var(--spacing-2xl); 
	padding: var(--spacing-2xl) var(--spacing-md) var(--spacing-3xl);
	max-width: var(--container-max);
	margin: 0 auto;
	overflow-x: hidden;
}
@media (min-width: 992px) { 
	.main-layout { 
		grid-template-columns: 1fr 340px; 
	} 
}

.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute; height: 1px; width: 1px; overflow: hidden; }
.screen-reader-text:focus { clip: auto; position: relative; height: auto; width: auto; background: var(--color-background); padding: var(--spacing-md); z-index: 100000; }
.skip-link { background: var(--color-primary); color: white; padding: var(--spacing-sm) var(--spacing-md); position: fixed; top: -100px; left: 50%; transform: translateX(-50%); z-index: 100001; border-radius: var(--radius-md); }
.skip-link:focus { top: var(--spacing-md); color: white; }

/* Header base - Estilos movidos a sección OPTIMIZACIONES UX */

.mobile-menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; border: none; cursor: pointer; z-index: 1001; }
.hamburger-icon { position: relative; width: 24px; height: 2px; background: var(--color-text); }
.hamburger-icon::before, .hamburger-icon::after { content: ''; position: absolute; left: 0; width: 24px; height: 2px; background: var(--color-text); transition: transform var(--transition-fast); }
.hamburger-icon::before { top: -7px; }
.hamburger-icon::after { bottom: -7px; }
.mobile-menu-toggle[aria-expanded="true"] .hamburger-icon { background: transparent; }
.mobile-menu-toggle[aria-expanded="true"] .hamburger-icon::before { transform: translateY(7px) rotate(45deg); }
.mobile-menu-toggle[aria-expanded="true"] .hamburger-icon::after { transform: translateY(-7px) rotate(-45deg); }

.main-nav { position: fixed; top: var(--header-height); left: 0; right: 0; bottom: 0; background: var(--color-background); padding: var(--spacing-lg); transform: translateX(100%); transition: transform var(--transition-normal); overflow-y: auto; }
.main-nav.is-open { transform: translateX(0); }
.nav-list { list-style: none; margin: 0; padding: 0; }
.nav-item { margin-bottom: var(--spacing-sm); }
.nav-link { display: block; padding: var(--spacing-md); color: var(--color-text); font-weight: 500; border-radius: var(--radius-md); transition: background var(--transition-fast), color var(--transition-fast); }
.nav-link:hover, .nav-link.active { background: var(--color-background-alt); color: var(--color-primary); }
@media (min-width: 768px) {
	.mobile-menu-toggle { display: none; }
	.main-nav { position: static; transform: none; padding: 0; background: transparent; flex: 1; display: flex; justify-content: center; }
	.nav-list { display: flex; gap: var(--spacing-xs); }
	.nav-item { margin: 0; }
	.nav-link { padding: var(--spacing-sm) var(--spacing-md); }
}

/* Footer */
.site-footer { 
	background: var(--color-background-dark); 
	color: #ffffff; 
	padding-top: var(--spacing-3xl); 
}

/* Footer Widgets: 3 columnas */
.footer-widgets { 
	display: grid; 
	grid-template-columns: 1fr; 
	gap: var(--spacing-2xl); 
	padding-bottom: var(--spacing-2xl);
}
@media (min-width: 640px) { 
	.footer-widgets { 
		grid-template-columns: repeat(2, 1fr); 
	} 
}
@media (min-width: 992px) { 
	.footer-widgets { 
		grid-template-columns: repeat(3, 1fr); 
	} 
}

.footer-col h4 { 
	color: #ffffff; 
	font-size: var(--font-size-lg); 
	margin-bottom: var(--spacing-lg);
	font-weight: 700;
}
.footer-col p { 
	color: #e2e8f0; 
	font-size: var(--font-size-sm); 
	line-height: 1.6;
	font-weight: 400;
}
.footer-col a { 
	color: #ffffff; 
	transition: color var(--transition-fast);
	font-weight: 500;
}
.footer-col a:hover { 
	color: #60a5fa;
	text-decoration: underline;
}
.footer-col ul { 
	list-style: none; 
	padding: 0; 
	margin: 0; 
}
.footer-col li { 
	margin-bottom: var(--spacing-sm); 
}

/* Footer Legal Menu: Horizontal */
.footer-legal {
	border-top: 1px solid rgba(255,255,255,0.1);
	border-bottom: 1px solid rgba(255,255,255,0.1);
	padding: var(--spacing-lg) 0;
}
.legal-nav {
	display: flex;
	justify-content: center;
}
.legal-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-md) var(--spacing-xl);
	list-style: none;
	padding: 0;
	margin: 0;
}
.legal-menu li {
	margin: 0;
}
.legal-menu a {
	color: #e2e8f0;
	font-size: var(--font-size-sm);
	transition: color var(--transition-fast);
	font-weight: 500;
}
.legal-menu a:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* Footer Copyright */
.footer-bottom { 
	padding: var(--spacing-xl) 0; 
	text-align: center; 
}
.footer-bottom p { 
	margin: 0; 
	font-size: var(--font-size-sm); 
	color: #cbd5e1;
	font-weight: 500;
}

.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-sm); padding: var(--spacing-md) var(--spacing-xl); font-family: var(--font-primary); font-size: var(--font-size-base); font-weight: 600; border-radius: var(--radius-md); border: 2px solid transparent; cursor: pointer; transition: all var(--transition-fast); }
.btn-primary { background: var(--color-primary); color: white; border-color: var(--color-primary); }
.btn-primary:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: white; }
.btn-outline { background: transparent; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline:hover { background: var(--color-primary); color: white; }

.cards-grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-xl); }
@media (min-width: 576px) { .cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .cards-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .main-layout .cards-grid { grid-template-columns: repeat(2, 1fr); } }
.card { background: var(--color-background); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--transition-normal), box-shadow var(--transition-normal); }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.card-link { display: block; color: inherit; }
.card-image { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.card:hover .card-image img { transform: scale(1.05); }
.card-category { position: absolute; top: var(--spacing-md); left: var(--spacing-md); padding: var(--spacing-xs) var(--spacing-sm); background: var(--color-primary); color: white; font-size: var(--font-size-xs); font-weight: 600; border-radius: var(--radius-sm); text-transform: uppercase; }
.card-body { padding: var(--spacing-lg); }
.card-title { font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); line-height: 1.25; }
.card-excerpt { color: var(--color-text-light); font-size: var(--font-size-sm); margin-bottom: var(--spacing-md); line-height: 1.75; }
.card-meta { display: flex; align-items: center; gap: var(--spacing-md); font-size: var(--font-size-xs); color: var(--color-text-muted); }

/* Featured Section - Hero */
.featured-section { padding: var(--spacing-2xl) 0; background: var(--color-background-alt); }
.featured-grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); }
@media (min-width: 992px) { 
	.featured-grid { 
		grid-template-columns: 2fr 1fr; 
		align-items: stretch;
	} 
}

/* Hero Principal */
.featured-main { 
	position: relative; 
	border-radius: var(--radius-xl); 
	overflow: hidden; 
	min-height: 450px;
}
@media (min-width: 992px) {
	.featured-main {
		min-height: 100%;
	}
}
.featured-link { display: block; height: 100%; }
.featured-image { position: absolute; inset: 0; }
.featured-image img { width: 100%; height: 100%; object-fit: cover; }
.featured-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 40%, transparent 70%);
}
.featured-content { 
	position: absolute; 
	bottom: 0; 
	left: 0; 
	right: 0; 
	padding: var(--spacing-xl) var(--spacing-xl) var(--spacing-2xl); 
	color: white;
	z-index: 1;
}
.featured-title { 
	font-size: var(--font-size-2xl); 
	color: white; 
	margin-bottom: var(--spacing-md);
	line-height: 1.2;
}
@media (min-width: 768px) {
	.featured-title {
		font-size: var(--font-size-3xl);
	}
}
.featured-excerpt { 
	font-size: var(--font-size-base); 
	opacity: 0.95; 
	margin: 0;
	line-height: 1.6;
	font-weight: 400;
}

/* Featured Meta (category + date overlay) */
.featured-meta { display: flex; align-items: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-sm); }
.featured-category { display: inline-block; padding: var(--spacing-xs) var(--spacing-md); background: var(--color-primary); color: white; font-size: var(--font-size-xs); font-weight: 600; border-radius: var(--radius-full); text-transform: uppercase; letter-spacing: 0.5px; }
.featured-date { font-size: var(--font-size-xs); color: rgba(255,255,255,0.8); }

/* Lista Lateral - Artículos Secundarios */
.featured-secondary { 
	display: flex; 
	flex-direction: column; 
	gap: 0;
	background: var(--color-background);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}
.featured-small { 
	background: var(--color-background); 
	border-bottom: 1px solid var(--color-border-light);
	transition: background var(--transition-fast), transform var(--transition-fast);
}
.featured-small:last-child {
	border-bottom: none;
}
.featured-small:hover {
	background: var(--color-background-alt);
}
.featured-small-link { 
	display: flex; 
	gap: var(--spacing-md); 
	padding: var(--spacing-lg); 
	color: inherit; 
}
.featured-small-image { 
	flex-shrink: 0; 
	width: 90px; 
	height: 70px; 
	border-radius: var(--radius-md); 
	overflow: hidden;
}
.featured-small-image img { width: 100%; height: 100%; object-fit: cover; }
.featured-small-content { 
	display: flex; 
	flex-direction: column; 
	justify-content: center;
	flex: 1;
}
.featured-small-title { 
	font-size: var(--font-size-base); 
	font-weight: 600; 
	margin-bottom: var(--spacing-xs); 
	line-height: 1.35;
	color: var(--color-text);
}
.featured-small .card-date {
	font-size: var(--font-size-xs);
	color: var(--color-text-muted);
}

/* Search Section */
.search-section { padding: var(--spacing-3xl) 0; }
.search-box { max-width: 700px; margin: 0 auto; text-align: center; }
.search-title { font-size: var(--font-size-2xl); margin-bottom: var(--spacing-sm); }
.search-subtitle { color: var(--color-text-light); margin-bottom: var(--spacing-xl); }
.search-input-wrapper { display: flex; background: var(--color-background); border: 2px solid var(--color-border); border-radius: var(--radius-full); overflow: hidden; transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.search-input-wrapper:focus-within { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }
.search-input { flex: 1; padding: var(--spacing-md) var(--spacing-lg); border: none; font-size: var(--font-size-base); background: transparent; outline: none; }
.search-btn { display: flex; align-items: center; justify-content: center; width: 50px; background: var(--color-primary); color: white; border: none; cursor: pointer; }
.search-btn:hover { background: var(--color-primary-dark); }
.search-tags { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--spacing-sm); font-size: var(--font-size-sm); }
.search-tags-label { color: var(--color-text-muted); }
.search-tag { padding: var(--spacing-xs) var(--spacing-md); background: var(--color-background-alt); border-radius: var(--radius-full); color: var(--color-text-light); }
.search-tag:hover { background: var(--color-primary); color: white; }

/* Section Headers */
.section-header { text-align: center; margin-bottom: var(--spacing-2xl); }
.section-title { font-size: var(--font-size-2xl); margin-bottom: var(--spacing-sm); }
.section-subtitle { color: var(--color-text-light); font-size: var(--font-size-lg); margin: 0; }
.news-section { padding: var(--spacing-3xl) 0; background: var(--color-background-alt); }
.load-more-wrapper { text-align: center; margin-top: var(--spacing-2xl); }

/* Sponsors & Collaborators */
.sponsors-section, .collaborators-section { padding: var(--spacing-3xl) 0; }
.collaborators-section { background: var(--color-background-alt); }
.sponsors-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-lg); }
.collaborators-grid { 
	display: grid; 
	grid-template-columns: 1fr;
	gap: var(--spacing-lg); 
}
@media (min-width: 640px) {
	.collaborators-grid { 
		grid-template-columns: repeat(2, 1fr); 
	}
}
@media (min-width: 992px) {
	.collaborators-grid { 
		grid-template-columns: repeat(3, 1fr); 
	}
}
.sponsor-card { background: var(--color-background); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.sponsor-link { display: block; color: inherit; }
.sponsor-image { aspect-ratio: 16/9; overflow: hidden; }
.sponsor-image img { width: 100%; height: 100%; object-fit: cover; }
.sponsor-content { padding: var(--spacing-lg); }
.sponsor-title { font-size: var(--font-size-base); margin-bottom: var(--spacing-sm); }
.sponsor-excerpt { font-size: var(--font-size-sm); color: var(--color-text-light); margin-bottom: var(--spacing-sm); }
.sponsor-source { font-size: var(--font-size-xs); color: var(--color-text-muted); }
.sponsor-disclaimer { text-align: center; margin-top: var(--spacing-xl); padding: var(--spacing-md); background: var(--color-background-alt); border-radius: var(--radius-md); }
.sponsor-disclaimer p { margin: 0; font-size: var(--font-size-sm); color: var(--color-text-muted); }
/* Collaborators Section - Artículos de Colaboradores */
.collaborator-card { 
	background: var(--color-background); 
	border-radius: var(--radius-lg); 
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}
.collaborator-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}
.collaborator-link {
	display: block;
	color: inherit;
}
.collaborator-image {
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
}
.collaborator-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}
.collaborator-card:hover .collaborator-image img {
	transform: scale(1.05);
}
.collaborator-content {
	padding: var(--spacing-lg);
}
.collaborator-title {
	font-size: var(--font-size-lg);
	margin-bottom: var(--spacing-md);
	line-height: 1.3;
	color: var(--color-text);
}
.collaborator-author {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
}
.collaborator-avatar {
	width: 32px;
	height: 32px;
	border-radius: var(--radius-full);
	flex-shrink: 0;
}
.collaborator-author-name {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	font-weight: 500;
}

/* Article Styles */
.article { max-width: none; }

/* Article Header: Ancho completo */
.article-header-wide { 
	margin-bottom: var(--spacing-3xl);
	background: var(--color-background-alt);
	padding: var(--spacing-2xl) 0;
}
.article-header-wide .container {
	max-width: 1200px;
	margin: 0 auto;
}
.article-title { 
	font-size: var(--font-size-3xl); 
	margin-bottom: var(--spacing-md); 
}
@media (min-width: 992px) {
	.article-title {
		font-size: 3rem;
	}
}
.article-subtitle { 
	font-size: var(--font-size-xl); 
	color: var(--color-text-light); 
	font-weight: 400; 
	margin-bottom: var(--spacing-lg); 
}
@media (min-width: 992px) {
	.article-subtitle {
		font-size: 1.5rem;
	}
}
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-lg); font-size: var(--font-size-sm); color: var(--color-text-muted); margin-bottom: var(--spacing-xl); }
.article-meta .meta-icon { 
	display: inline-block; 
	vertical-align: middle; 
	margin-right: 4px;
	flex-shrink: 0;
}
.article-date,
.reading-time {
	display: flex;
	align-items: center;
	gap: 4px;
}
.author-info { display: flex; align-items: center; gap: var(--spacing-sm); }
.author-avatar { width: 40px; height: 40px; border-radius: var(--radius-full); }
.author-name { font-weight: 600; color: var(--color-text); }
.article-featured-image-wrapper {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}
.article-featured-image { 
	position: relative;
	margin: 0 auto;
	overflow: hidden;
	max-height: 600px;
	width: 100%;
	border-radius: var(--radius-lg);
}
.article-featured-image img { 
	width: 100%; 
	height: auto; 
	display: block;
	object-fit: cover;
}
.article-featured-image .image-caption { 
	position: absolute;
	bottom: var(--spacing-md);
	right: var(--spacing-md);
	padding: var(--spacing-xs) var(--spacing-md);
	font-size: var(--font-size-xs);
	font-weight: 700;
	color: white;
	background: rgba(0,0,0,0.75);
	border-radius: var(--radius-sm);
	margin: 0;
	backdrop-filter: blur(4px);
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
/* Contenido centrado sin sidebar (para Sponsors/singular) */
.main-content-centered {
	max-width: 800px;
	margin: 0 auto;
	padding: var(--spacing-xl) var(--spacing-md);
}
.article-singular .article-body {
	font-size: var(--font-size-lg);
	line-height: 1.8;
}

/* Estilos para Definiciones (que_es) */
.article-header-definition {
	padding-top: var(--spacing-2xl);
	padding-bottom: var(--spacing-xl);
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-bg) 100%);
	border-bottom: 1px solid var(--color-border);
}
.definition-label {
	display: inline-block;
	background: var(--color-primary);
	color: white;
	font-size: var(--font-size-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: var(--spacing-xs) var(--spacing-md);
	border-radius: var(--radius-full);
	margin-bottom: var(--spacing-md);
}
.article-definition .article-title {
	font-size: clamp(2rem, 5vw, 3rem);
	margin-bottom: var(--spacing-md);
}
.article-definition .article-body {
	font-size: var(--font-size-lg);
	line-height: 1.9;
}

.article-featured-image .image-caption a {
	color: white;
	text-decoration: none;
	font-weight: 700;
}
.article-featured-image .image-caption a:hover {
	color: rgba(255,255,255,0.9);
}
.article-body { 
	font-family: var(--font-secondary); 
	font-size: var(--font-size-lg); 
	line-height: 1.75;
	padding: 0 var(--spacing-md);
}
@media (min-width: 992px) {
	.article-body {
		padding-left: 80px;
		padding-right: 0;
	}
}
.article-body p { margin-bottom: var(--spacing-lg); }
.article-body h2, .article-body h3, .article-body h4 { margin-top: var(--spacing-2xl); margin-bottom: var(--spacing-md); }
.article-body img { 
	border-radius: var(--radius-md); 
	margin: var(--spacing-xl) 0;
	max-width: 100%;
	height: auto;
}
.article-body blockquote { 
	margin: var(--spacing-xl) 0; 
	padding: var(--spacing-lg) var(--spacing-xl); 
	border-left: 4px solid var(--color-primary); 
	background: var(--color-background-alt); 
	font-style: italic;
	max-width: 100%;
	overflow-wrap: break-word;
}
.article-body ul, .article-body ol { margin-bottom: var(--spacing-lg); padding-left: var(--spacing-xl); }
.article-body li { margin-bottom: var(--spacing-sm); }
.article-body table {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	display: block;
	border-collapse: collapse;
	margin: var(--spacing-xl) 0;
}
.article-body pre,
.article-body code {
	max-width: 100%;
	overflow-x: auto;
	word-wrap: break-word;
	white-space: pre-wrap;
}
.article-body iframe,
.article-body embed,
.article-body object,
.article-body video {
	max-width: 100%;
	height: auto;
}
.article-footer { margin-top: var(--spacing-2xl); padding-top: var(--spacing-xl); border-top: 1px solid var(--color-border); }
.article-tags { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-xl); }
.tag-label { font-weight: 600; color: var(--color-text); }
.tag { padding: var(--spacing-xs) var(--spacing-md); background: var(--color-background-alt); border-radius: var(--radius-full); font-size: var(--font-size-sm); color: var(--color-text-light); }
a.tag:hover { background: var(--color-primary); color: white; }
/* Excluir header de tags del efecto hover */
.archive-header-section .tag,
.archive-header-section .tag:hover,
.archive-header-tag .tag,
.archive-header-tag .tag:hover {
	background: var(--color-background-alt) !important;
	color: var(--color-text-light) !important;
}

/* Social Share */
.social-share { display: flex; align-items: center; gap: var(--spacing-md); padding: var(--spacing-lg) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); margin: var(--spacing-xl) 0; }
.share-label { font-weight: 600; color: var(--color-text); }
.share-buttons { display: flex; gap: var(--spacing-sm); }
.share-btn { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-full); background: var(--color-background-alt); color: var(--color-text-light); border: none; cursor: pointer; }
.share-btn:hover { background: var(--color-primary); color: white; }
.share-btn.copied { background: var(--color-success); color: white; }

/* Article Citation */
.article-citation {
	background: #f0f7ff;
	border-left: 4px solid var(--color-primary);
	border-radius: var(--radius-lg);
	padding: var(--spacing-lg);
	margin: var(--spacing-xl) 0;
}
.citation-title {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	font-size: var(--font-size-lg);
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 var(--spacing-md);
}
.citation-title svg {
	flex-shrink: 0;
	color: var(--color-primary);
}
.citation-content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
}
.citation-text {
	font-size: var(--font-size-sm);
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
	padding: var(--spacing-md);
	background: rgba(255, 255, 255, 0.6);
	border-radius: var(--radius-md);
}
.citation-text em {
	font-style: italic;
}
.citation-copy-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-md) var(--spacing-lg);
	background: var(--color-primary);
	color: white;
	border: none;
	border-radius: var(--radius-md);
	font-size: var(--font-size-sm);
	font-weight: 600;
	cursor: pointer;
	transition: all var(--transition-fast);
	width: 100%;
}
.citation-copy-btn:hover {
	background: var(--color-primary-dark);
	transform: translateY(-1px);
	box-shadow: var(--shadow-md);
}
.citation-copy-btn .icon-check,
.citation-copy-btn .btn-text-copied {
	display: none;
}
.citation-copy-btn.copied .icon-copy,
.citation-copy-btn.copied .btn-text {
	display: none;
}
.citation-copy-btn.copied .icon-check,
.citation-copy-btn.copied .btn-text-copied {
	display: inline-flex;
}
.citation-copy-btn.copied {
	background: var(--color-success);
}

@media (min-width: 768px) {
	.article-citation {
		padding: var(--spacing-xl);
	}
	.citation-content {
		flex-direction: row;
		align-items: center;
	}
	.citation-text {
		flex: 1;
	}
	.citation-copy-btn {
		width: auto;
		flex-shrink: 0;
	}
}

/* Sidebar */
.sidebar { 
	position: relative;
	max-width: 100%;
	overflow-x: hidden;
}
@media (min-width: 992px) {
	.sidebar {
		position: relative;
		align-self: flex-start;
		min-width: 340px;
		width: 340px;
	}
}

/* Widget Sticky - Solo para widgets de ads que deben ser sticky */
@media (min-width: 992px) {
	.widget-sticky {
		position: -webkit-sticky;
		position: sticky;
		top: calc(var(--header-height) + var(--spacing-md));
		z-index: 10;
	}
	/* Último widget sticky (ad-sidebar-2) se queda fijo al final */
	.widget-sticky:last-child,
	.widget-sticky.sticky-final {
		top: calc(var(--header-height) + var(--spacing-md));
	}
}
.sidebar-content { 
	display: flex; 
	flex-direction: column; 
	gap: var(--spacing-xl);
	max-width: 100%;
	overflow-x: hidden;
}
.sidebar-widget, .widget { 
	background: var(--color-background); 
	border: 1px solid var(--color-border); 
	border-radius: var(--radius-lg); 
	padding: var(--spacing-lg); 
	margin-bottom: var(--spacing-xl);
	max-width: 100%;
	overflow-x: hidden;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.sidebar-widget h3, .widget-title { font-size: var(--font-size-lg); margin-bottom: var(--spacing-md); padding-bottom: var(--spacing-sm); border-bottom: 2px solid var(--color-primary); }
.subscribe-form { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.subscribe-form input { padding: var(--spacing-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); font-size: var(--font-size-sm); }
.subscribe-form button { padding: var(--spacing-md); background: var(--color-primary); color: white; border: none; border-radius: var(--radius-md); font-weight: 600; cursor: pointer; }
.subscribe-form button:hover { background: var(--color-primary-dark); }

/* Archive Pages - Hero con Gradiente (estilo autor) */
.archive-hero-section {
	position: relative;
	padding: var(--spacing-3xl) 0;
	overflow: visible;
	border-radius: 0;
}
.archive-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%);
	z-index: -1;
}
.archive-hero-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	opacity: 0.5;
}
.archive-hero-content {
	position: relative;
	text-align: center;
	color: white;
}
.archive-hero-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	background: rgba(255,255,255,0.15);
	border-radius: 50%;
	margin-bottom: var(--spacing-lg);
}
.archive-hero-icon svg {
	width: 40px;
	height: 40px;
	stroke: white;
}
.archive-hero-label {
	display: inline-block;
	padding: var(--spacing-xs) var(--spacing-md);
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-full);
	font-size: var(--font-size-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: var(--spacing-sm);
	color: white;
}
.archive-hero-title {
	font-size: var(--font-size-3xl);
	font-weight: 700;
	margin: 0 0 var(--spacing-md);
	text-shadow: 0 2px 10px rgba(0,0,0,0.2);
	color: white;
}
.archive-hero-description {
	max-width: 700px;
	font-size: var(--font-size-base);
	line-height: 1.75;
	opacity: 0.9;
	margin: 0 auto var(--spacing-lg);
	color: white;
}
.archive-hero-stats {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-sm) var(--spacing-lg);
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-full);
	font-size: var(--font-size-sm);
	color: white;
}
.archive-hero-stats svg {
	width: 18px;
	height: 18px;
	opacity: 0.8;
}

/* Search Hero específico */
.search-hero-section {
	position: relative;
	padding: var(--spacing-3xl) 0;
	overflow: hidden;
}
.search-hero-section .archive-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%);
	z-index: -1;
}
.search-hero-section .archive-hero-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	opacity: 0.5;
}
.search-hero-content {
	position: relative;
	text-align: center;
	color: white;
}
.search-hero-title {
	font-size: var(--font-size-2xl);
	font-weight: 600;
	margin: 0 0 var(--spacing-lg);
	color: white;
}
.search-form-hero {
	max-width: 600px;
	margin: 0 auto var(--spacing-lg);
}
.search-form-hero .search-input-wrapper {
	display: flex;
	background: white;
	border-radius: var(--radius-full);
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}
.search-form-hero input {
	flex: 1;
	padding: var(--spacing-md) var(--spacing-lg);
	border: none;
	font-size: var(--font-size-base);
	outline: none;
}
.search-form-hero button {
	padding: var(--spacing-md) var(--spacing-xl);
	background: var(--color-primary);
	color: white;
	border: none;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--transition-fast);
}
.search-form-hero button:hover {
	background: var(--color-primary-dark);
}
.search-hero-stats {
	font-size: var(--font-size-base);
	color: rgba(255,255,255,0.9);
}
.search-hero-stats strong {
	color: white;
}

/* Error 404 Hero */
.error-hero-section {
	position: relative;
	padding: var(--spacing-3xl) 0;
	overflow: hidden;
	min-height: 60vh;
	display: flex;
	align-items: center;
}
.error-hero-section .archive-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%);
	z-index: -1;
}
.error-hero-section .archive-hero-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	opacity: 0.5;
}
.error-hero-content {
	position: relative;
	text-align: center;
	color: white;
	width: 100%;
}
.error-hero-icon {
	margin-bottom: var(--spacing-lg);
}
.error-hero-icon svg {
	width: 120px;
	height: 120px;
	stroke: rgba(255,255,255,0.8);
}
.error-hero-code {
	font-size: 8rem;
	font-weight: 800;
	line-height: 1;
	margin: 0;
	text-shadow: 0 4px 20px rgba(0,0,0,0.3);
	color: white;
}
.error-hero-title {
	font-size: var(--font-size-2xl);
	font-weight: 600;
	margin: var(--spacing-md) 0;
	color: white;
}
.error-hero-description {
	max-width: 500px;
	margin: 0 auto var(--spacing-xl);
	opacity: 0.9;
	line-height: 1.7;
	color: white;
}
.error-hero-search {
	max-width: 500px;
	margin: 0 auto var(--spacing-xl);
}
.error-hero-search p {
	margin-bottom: var(--spacing-sm);
	opacity: 0.9;
	color: white;
}
.error-hero-search form {
	display: flex;
	background: white;
	border-radius: var(--radius-full);
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}
.error-hero-search input {
	flex: 1;
	padding: var(--spacing-md) var(--spacing-lg);
	border: none;
	font-size: var(--font-size-base);
	outline: none;
}
.error-hero-search button {
	padding: var(--spacing-md) var(--spacing-lg);
	background: var(--color-primary);
	color: white;
	border: none;
	cursor: pointer;
	transition: background var(--transition-fast);
}
.error-hero-search button:hover {
	background: var(--color-primary-dark);
}
.error-hero-actions {
	display: flex;
	justify-content: center;
	gap: var(--spacing-md);
	flex-wrap: wrap;
}
.error-hero-actions .btn {
	padding: var(--spacing-md) var(--spacing-xl);
	border-radius: var(--radius-full);
	font-weight: 600;
	text-decoration: none;
	transition: all var(--transition-fast);
}
.error-hero-actions .btn-primary {
	background: white;
	color: var(--color-primary);
}
.error-hero-actions .btn-primary:hover {
	background: rgba(255,255,255,0.9);
	transform: translateY(-2px);
}
.error-hero-actions .btn-outline {
	background: transparent;
	color: white;
	border: 2px solid rgba(255,255,255,0.5);
}
.error-hero-actions .btn-outline:hover {
	background: rgba(255,255,255,0.1);
	border-color: white;
}

@media (max-width: 576px) {
	.archive-hero-title,
	.error-hero-title {
		font-size: var(--font-size-2xl);
	}
	.error-hero-code {
		font-size: 5rem;
	}
	.archive-hero-icon {
		width: 60px;
		height: 60px;
	}
	.archive-hero-icon svg {
		width: 30px;
		height: 30px;
	}
}

/* Archive Pages - Fallback (estilo original gris) */
.archive-header-section { 
	padding: var(--spacing-2xl) 0; 
	background-color: #f8fafc !important;
}
.archive-header-section,
.archive-header-section:hover,
.archive-header-section:focus,
.archive-header-section:active,
.archive-header-tag,
.archive-header-tag:hover,
.archive-header-tag:focus,
.archive-header-tag:active {
	background-color: #f8fafc !important;
}
.archive-header-section .container,
.archive-header-section .archive-header-content,
.archive-header-tag .container,
.archive-header-tag .archive-header-content {
	background-color: transparent !important;
}
.archive-header-content { text-align: center; }
.archive-label { 
	display: inline-block; 
	padding: var(--spacing-xs) var(--spacing-md); 
	background-color: #2563eb !important; 
	color: #ffffff !important;
	font-size: var(--font-size-xs); 
	font-weight: 600; 
	border-radius: var(--radius-full); 
	text-transform: uppercase; 
	margin-bottom: var(--spacing-md); 
}
.archive-title,
.archive-title:hover,
.archive-title:focus,
.archive-title:active { 
	font-size: var(--font-size-3xl); 
	margin-bottom: var(--spacing-sm);
	color: #1e293b !important;
	background-color: transparent !important;
}
.archive-description,
.archive-description:hover,
.archive-description:focus,
.archive-description:active { 
	color: #64748b !important; 
	max-width: 600px; 
	margin: 0 auto var(--spacing-md);
	background-color: transparent !important;
}
.archive-description a,
.archive-description a:hover,
.archive-description a:focus,
.archive-description a:active {
	color: #2563eb !important;
	background-color: transparent !important;
}
.archive-stats,
.archive-stats:hover,
.archive-count,
.archive-count:hover { 
	font-size: var(--font-size-sm); 
	color: #94a3b8 !important;
	background-color: transparent !important;
}
.archive-content-section { padding: var(--spacing-2xl) 0 var(--spacing-3xl); }
.archive-layout { display: grid; grid-template-columns: 1fr; gap: var(--spacing-2xl); }
@media (min-width: 992px) { .archive-layout { grid-template-columns: 1fr 300px; } }

/* Archive Main - Mejorado */
.archive-main {
	background: var(--color-background);
	padding: var(--spacing-xl);
	border-radius: var(--radius-lg);
}

/* Posts Destacados */
.archive-featured {
	margin-bottom: var(--spacing-2xl);
}
.section-subtitle {
	font-size: var(--font-size-xl);
	margin-bottom: var(--spacing-lg);
	color: var(--color-text);
	font-weight: 600;
}

/* Featured Grid - Artículos Recientes */
.archive-featured .featured-grid {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
}

/* Card Destacada - Horizontal en desktop/tablet, vertical en móvil */
.archive-featured .card {
	display: flex;
	flex-direction: column;
}
.archive-featured .card-link {
	display: flex;
	flex-direction: column;
}
.archive-featured .card-image {
	aspect-ratio: 16/9;
}

@media (min-width: 768px) {
	.archive-featured .card {
		flex-direction: row;
	}
	.archive-featured .card-link {
		flex-direction: row;
		width: 100%;
	}
	.archive-featured .card-image {
		flex-shrink: 0;
		width: 40%;
		max-width: 350px;
		aspect-ratio: 16/10;
	}
	.archive-featured .card-body {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: var(--spacing-xl);
	}
	.archive-featured .card-title {
		font-size: var(--font-size-2xl);
	}
	.archive-featured .card-excerpt {
		font-size: var(--font-size-base);
		-webkit-line-clamp: 3;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}

.archive-divider {
	height: 1px;
	background: var(--color-border);
	margin: var(--spacing-2xl) 0 var(--spacing-xl);
}

/* Archive List - Todos los Artículos */
.archive-list { 
	display: flex; 
	flex-direction: column; 
	gap: var(--spacing-lg); 
}

/* Archive Item - Vertical en móvil, horizontal en tablet/desktop */
.archive-item { 
	background: var(--color-background); 
	border: 1px solid var(--color-border); 
	border-radius: var(--radius-lg); 
	overflow: hidden; 
}
.archive-item:hover { box-shadow: var(--shadow-md); }

/* Móvil: Layout vertical */
.archive-item-link { 
	display: flex; 
	flex-direction: column;
	color: inherit; 
}
.archive-item-image { 
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden; 
}
.archive-item-image img { 
	width: 100%; 
	height: 100%; 
	object-fit: cover; 
}
.archive-item-content { 
	flex: 1; 
	min-width: 0;
	padding: var(--spacing-lg);
}
.archive-item-title { 
	font-size: var(--font-size-lg); 
	margin-bottom: var(--spacing-sm); 
	line-height: 1.25; 
}
.archive-item-excerpt { 
	font-size: var(--font-size-sm); 
	color: var(--color-text-light); 
	margin-bottom: var(--spacing-sm);
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.archive-item-meta { 
	display: flex; 
	flex-wrap: wrap;
	gap: var(--spacing-sm); 
	font-size: var(--font-size-xs); 
	color: var(--color-text-muted); 
}

/* Tablet y Desktop: Layout horizontal */
@media (min-width: 768px) {
	.archive-item-link {
		flex-direction: row;
		gap: var(--spacing-lg);
		padding: var(--spacing-lg);
	}
	.archive-item-image {
		flex-shrink: 0;
		width: 220px;
		height: 150px;
		aspect-ratio: auto;
		border-radius: var(--radius-md);
	}
	.archive-item-content {
		padding: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.archive-item-title {
		font-size: var(--font-size-xl);
	}
	.archive-item-excerpt {
		-webkit-line-clamp: 3;
	}
	.archive-item-meta {
		gap: var(--spacing-md);
	}
}
.archive-sidebar { display: flex; flex-direction: column; gap: var(--spacing-xl); }
.category-list { list-style: none; padding: 0; margin: 0; }
.category-list li { margin-bottom: var(--spacing-sm); }
.category-list a { display: flex; justify-content: space-between; padding: var(--spacing-sm) 0; color: var(--color-text); border-bottom: 1px solid var(--color-border-light); }
.category-list a:hover { color: var(--color-primary); }
.category-list span { color: var(--color-text-muted); }
.tag-cloud { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); }
.popular-list { list-style: none; padding: 0; margin: 0; }
.popular-list li { margin-bottom: var(--spacing-md); }
.popular-list a { display: flex; align-items: flex-start; gap: var(--spacing-sm); color: var(--color-text); }
.popular-list a:hover { color: var(--color-primary); }
.popular-number { flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; background: var(--color-background-alt); border-radius: var(--radius-sm); font-size: var(--font-size-xs); font-weight: 600; color: var(--color-text-muted); }
.popular-title { font-size: var(--font-size-sm); line-height: 1.25; }

/* Pagination - Estilo barra continua */
.pagination { 
	margin-top: var(--spacing-2xl); 
	padding: var(--spacing-lg) 0;
}
.pagination .nav-links, 
.pagination ul { 
	display: inline-flex; 
	justify-content: center; 
	align-items: center; 
	gap: 0; 
	list-style: none; 
	padding: 0; 
	margin: 0 auto;
	background: var(--color-background-alt);
	border-radius: var(--radius-full);
	overflow: hidden;
}
.pagination { 
	text-align: center; 
}
.pagination li {
	display: flex;
}
.pagination .page-numbers, 
.pagination a, 
.pagination span { 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	min-width: 44px; 
	height: 44px; 
	padding: 0 var(--spacing-sm); 
	background: transparent; 
	border: none;
	font-size: var(--font-size-sm); 
	font-weight: 500;
	color: var(--color-text-muted); 
	transition: all var(--transition-fast);
}
.pagination a:hover { 
	background: rgba(0, 0, 0, 0.05);
	color: var(--color-text); 
}
.pagination .current { 
	background: var(--color-primary); 
	color: white; 
	font-weight: 600;
}
.pagination .dots {
	min-width: auto;
	padding: 0 var(--spacing-xs);
	color: var(--color-text-muted);
}
.pagination .prev,
.pagination .next {
	padding: 0 var(--spacing-md);
	color: var(--color-text-muted);
}
.pagination .prev:hover,
.pagination .next:hover {
	background: rgba(0, 0, 0, 0.05);
	color: var(--color-text);
}
.pagination .prev svg,
.pagination .next svg {
	flex-shrink: 0;
}

/* Móvil: ajustar tamaño */
@media (max-width: 480px) {
	.pagination .page-numbers, 
	.pagination a, 
	.pagination span {
		min-width: 38px;
		height: 38px;
		padding: 0 var(--spacing-xs);
		font-size: var(--font-size-xs);
	}
}

/* Search Results */
.search-header-section { padding: var(--spacing-2xl) 0; background: var(--color-background-alt); }
.search-header-box { max-width: 700px; margin: 0 auto; text-align: center; }
.search-page-title { font-size: var(--font-size-xl); color: var(--color-text-light); font-weight: 400; margin-bottom: var(--spacing-md); }
.search-form-large { margin-bottom: var(--spacing-lg); }
.search-input-large { display: flex; background: var(--color-background); border: 2px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.search-input-large input { flex: 1; padding: var(--spacing-lg); border: none; font-size: var(--font-size-lg); outline: none; }
.search-input-large button { display: flex; align-items: center; justify-content: center; width: 60px; background: var(--color-primary); color: white; border: none; cursor: pointer; }
.search-stats { font-size: var(--font-size-sm); color: var(--color-text-muted); }
.search-results-section { padding: var(--spacing-2xl) 0 var(--spacing-3xl); }
.search-results-list { display: flex; flex-direction: column; gap: var(--spacing-lg); }
.search-result-item { background: var(--color-background); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.search-result-item:hover { box-shadow: var(--shadow-md); }
/* Móvil: imagen arriba, texto abajo */
.search-result-link { display: flex; flex-direction: column; gap: var(--spacing-md); padding: var(--spacing-md); color: inherit; }
.search-result-image { width: 100%; height: 180px; border-radius: var(--radius-md); overflow: hidden; }
.search-result-image img { width: 100%; height: 100%; object-fit: cover; }
.search-result-content { flex: 1; }

/* Desktop: imagen izquierda, texto derecha */
@media (min-width: 768px) {
	.search-result-link {
		flex-direction: row;
		gap: var(--spacing-lg);
		padding: var(--spacing-lg);
	}
	.search-result-image {
		flex-shrink: 0;
		width: 180px;
		height: 120px;
	}
}
.search-result-category { display: inline-block; font-size: var(--font-size-xs); color: var(--color-primary); font-weight: 600; text-transform: uppercase; margin-bottom: var(--spacing-xs); }
.search-result-title { font-size: var(--font-size-xl); margin-bottom: var(--spacing-sm); }
.search-result-excerpt { font-size: var(--font-size-sm); color: var(--color-text-light); margin-bottom: var(--spacing-md); }
.search-result-meta { display: flex; gap: var(--spacing-md); font-size: var(--font-size-xs); color: var(--color-text-muted); }
.search-no-results { text-align: center; padding: var(--spacing-3xl) 0; }
.no-results-content svg { color: var(--color-text-muted); margin-bottom: var(--spacing-lg); }
.no-results-content h2 { margin-bottom: var(--spacing-sm); }
.no-results-content p { color: var(--color-text-light); margin-bottom: var(--spacing-xl); }
.search-suggestions { text-align: left; max-width: 400px; margin: 0 auto var(--spacing-xl); }
.search-suggestions h3 { font-size: var(--font-size-base); margin-bottom: var(--spacing-sm); }
.search-suggestions ul { color: var(--color-text-light); font-size: var(--font-size-sm); }
.search-categories h3 { font-size: var(--font-size-base); margin-bottom: var(--spacing-md); }
.category-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--spacing-sm); }
.category-tag { padding: var(--spacing-sm) var(--spacing-md); background: var(--color-background-alt); border-radius: var(--radius-full); font-size: var(--font-size-sm); color: var(--color-text); }
.category-tag:hover { background: var(--color-primary); color: white; }
.related-searches-section { padding: var(--spacing-2xl) 0; background: var(--color-background-alt); }
.related-searches-title { text-align: center; font-size: var(--font-size-lg); margin-bottom: var(--spacing-lg); }
.related-searches-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--spacing-sm); }
.related-search-tag { padding: var(--spacing-sm) var(--spacing-lg); background: var(--color-background); border: 1px solid var(--color-border); border-radius: var(--radius-full); font-size: var(--font-size-sm); color: var(--color-text); }
.related-search-tag:hover { background: var(--color-primary); border-color: var(--color-primary); color: white; }

/* Search Author Card — Tarjeta de autor encontrado en búsqueda */
.search-author-section {
	padding: var(--spacing-lg) 0 0;
}
.search-author-card {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
	background: var(--color-background);
	border: 1px solid var(--color-primary);
	border-left: 4px solid var(--color-primary);
	border-radius: var(--radius-lg);
	padding: var(--spacing-lg);
	box-shadow: var(--shadow-sm);
}
.search-author-avatar img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: var(--shadow-sm);
}
.search-author-info {
	flex: 1;
}
.search-author-label {
	display: inline-block;
	font-size: var(--font-size-xs);
	color: var(--color-primary);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: var(--spacing-xs);
}
.search-author-name {
	font-size: var(--font-size-xl);
	margin: 0 0 var(--spacing-xs);
}
.search-author-name a {
	color: var(--color-text);
}
.search-author-name a:hover {
	color: var(--color-primary);
}
.search-author-bio {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	line-height: 1.6;
	margin-bottom: var(--spacing-sm);
}
.search-author-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	font-size: var(--font-size-sm);
	font-weight: 600;
	color: var(--color-primary);
}
.search-author-link:hover {
	gap: var(--spacing-sm);
}
.search-author-link svg {
	transition: transform var(--transition-fast);
}
.search-author-link:hover svg {
	transform: translateX(4px);
}
@media (max-width: 576px) {
	.search-author-card {
		flex-direction: column;
		text-align: center;
	}
	.search-author-link {
		justify-content: center;
	}
}

/* 404 Page */
.error-section { padding: var(--spacing-3xl) 0; text-align: center; }
.error-content { max-width: 600px; margin: 0 auto; }
.error-icon { color: var(--color-text-muted); margin-bottom: var(--spacing-lg); }
.error-title { font-size: 8rem; font-weight: 700; color: var(--color-primary); line-height: 1; margin-bottom: var(--spacing-md); }
.error-subtitle { font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); }
.error-description { color: var(--color-text-light); margin-bottom: var(--spacing-xl); }
.error-search { margin-bottom: var(--spacing-xl); }
.error-search p { font-size: var(--font-size-sm); color: var(--color-text-muted); margin-bottom: var(--spacing-md); }
.error-search-form { display: flex; max-width: 400px; margin: 0 auto; background: var(--color-background); border: 2px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.error-search-form input { flex: 1; padding: var(--spacing-md); border: none; outline: none; }
.error-search-form button { display: flex; align-items: center; justify-content: center; width: 50px; background: var(--color-primary); color: white; border: none; cursor: pointer; }
.error-actions { display: flex; justify-content: center; gap: var(--spacing-md); flex-wrap: wrap; }
.suggested-section { padding: var(--spacing-3xl) 0; background: var(--color-background-alt); }
.error-categories { margin-top: var(--spacing-2xl); text-align: center; }
.error-categories h3 { font-size: var(--font-size-lg); margin-bottom: var(--spacing-md); }

/* Breadcrumb */
.breadcrumb { 
	margin-top: var(--spacing-xl); 
	margin-bottom: var(--spacing-lg); 
}
.breadcrumb ol { 
	display: flex; 
	flex-wrap: wrap; 
	align-items: center; 
	gap: var(--spacing-xs); 
	list-style: none; 
	padding: 0; 
	margin: 0; 
	font-size: var(--font-size-sm); 
}
.breadcrumb li { 
	display: flex; 
	align-items: center; 
	gap: var(--spacing-xs);
}
.breadcrumb li:not(:last-child)::after { 
	content: '›'; 
	margin-left: var(--spacing-xs); 
	color: var(--color-text-muted); 
	font-size: var(--font-size-lg);
	font-weight: 300;
}
.breadcrumb a { 
	color: var(--color-text-muted); 
	transition: color var(--transition-fast);
	display: inline-flex;
	align-items: center;
}
.breadcrumb a:hover { 
	color: var(--color-primary); 
}
.breadcrumb-home svg {
	width: 16px;
	height: 16px;
	display: block;
}
.breadcrumb li[aria-current="page"] { 
	color: var(--color-text); 
	font-weight: 500; 
}

/* Comments */
.comments-area { margin-top: var(--spacing-2xl); padding-top: var(--spacing-2xl); border-top: 1px solid var(--color-border); }
.comments-title { font-size: var(--font-size-xl); margin-bottom: var(--spacing-xl); }
.comment-list { list-style: none; padding: 0; margin: 0 0 var(--spacing-2xl); }
.comment-item { margin-bottom: var(--spacing-xl); }
.comment-body { background: var(--color-background-alt); border-radius: var(--radius-lg); padding: var(--spacing-lg); }
.comment-meta { margin-bottom: var(--spacing-md); }
.comment-author { display: flex; align-items: center; gap: var(--spacing-md); }
.comment-avatar { border-radius: var(--radius-full); }
.comment-author-info { display: flex; flex-direction: column; }
.comment-author-info .fn { font-weight: 600; }
.comment-author-info time { font-size: var(--font-size-xs); color: var(--color-text-muted); }
.comment-content { font-size: var(--font-size-sm); line-height: 1.75; }
.comment-content p:last-child { margin-bottom: 0; }
.comment-actions { display: flex; gap: var(--spacing-md); margin-top: var(--spacing-md); font-size: var(--font-size-sm); }
.comment-awaiting-moderation { font-size: var(--font-size-sm); color: #f59e0b; font-style: italic; }
.comment-respond { background: var(--color-background-alt); border-radius: var(--radius-lg); padding: var(--spacing-xl); }
.comment-form label { display: block; font-weight: 600; margin-bottom: var(--spacing-xs); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: var(--spacing-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); font-family: inherit; font-size: var(--font-size-base); margin-bottom: var(--spacing-md); }
.comment-form textarea { min-height: 150px; resize: vertical; }
.no-comments { text-align: center; color: var(--color-text-muted); font-style: italic; }

/* Related Posts */
.related-posts-section { padding: var(--spacing-3xl) 0; background: var(--color-background-alt); }

/* Ad Containers - Responsivos */
.ad-container { 
	background: var(--color-background-alt); 
	border-radius: var(--radius-md); 
	padding: var(--spacing-md); 
	text-align: center;
	margin: 0 auto;
}

/* Ad Header & Footer - Sin restricciones de tamaño */
.ad-header,
.ad-footer { 
	padding: var(--spacing-md) 0;
}
.ad-header .ad-widget,
.ad-footer .ad-widget {
	margin: 0 auto;
	display: inline-block;
}

/* Ad Sidebar - Sin restricciones de tamaño */
.ad-sidebar { 
	margin-bottom: var(--spacing-xl);
	text-align: center;
}
.ad-sidebar-1,
.ad-sidebar-2 {
	margin: 0 auto;
}
.ad-sidebar-1 .ad-widget,
.ad-sidebar-2 .ad-widget {
	margin: 0 auto;
	display: inline-block;
}

/* Ad After Article - Sin restricciones de tamaño */
.ad-article-end { 
	margin-top: var(--spacing-xl);
	text-align: center;
}
.ad-article-end .ad-widget {
	margin: 0 auto;
	display: inline-block;
}

/* Page Styles */
.page-header { margin-bottom: var(--spacing-xl); }
.page-title { font-size: var(--font-size-3xl); margin-bottom: var(--spacing-xl); }
.page-featured-image {
	margin: var(--spacing-xl) 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.page-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}
.page-image-caption {
	padding: var(--spacing-sm) var(--spacing-md);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
	text-align: center;
	background: var(--color-background-alt);
}
.page-content { font-family: var(--font-secondary); font-size: var(--font-size-lg); line-height: 1.75; }
.page-content p { margin-bottom: var(--spacing-lg); }
.page-content-wrapper { max-width: 800px; margin: 0 auto; }

/* Reading Progress */
.reading-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; background: var(--color-border-light); z-index: 1001; }
.reading-progress-bar { height: 100%; background: var(--color-primary); width: 0; transition: width 100ms ease-out; }

/* Widget Styles */
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget li { margin-bottom: var(--spacing-sm); padding-bottom: var(--spacing-sm); border-bottom: 1px solid var(--color-border-light); }
.widget li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.widget a { color: var(--color-text); }
.widget a:hover { color: var(--color-primary); }

/* Forms */
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], textarea, select { width: 100%; padding: var(--spacing-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); font-family: inherit; font-size: var(--font-size-base); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }

/* Tag Icon for Tag Archive */
.archive-header-tag .tag-icon,
.archive-header-tag .tag-icon:hover { 
	margin-bottom: var(--spacing-md);
	background-color: transparent !important;
}
.archive-header-tag .tag-icon svg,
.archive-header-tag .tag-icon svg:hover { 
	color: #2563eb !important;
	background-color: transparent !important;
}
.archive-header-tag .archive-count,
.archive-header-tag .archive-count:hover {
	color: #94a3b8 !important;
	background-color: transparent !important;
}
/* Prevenir cualquier cambio de color en el header de tags */
.archive-header-tag *,
.archive-header-tag *:hover,
.archive-header-tag *:focus,
.archive-header-tag *:active {
	background-color: transparent !important;
}
.archive-header-tag .archive-label,
.archive-header-tag .archive-label:hover {
	background-color: #2563eb !important;
	color: #ffffff !important;
}
/* Fix específico para el problema de hover en la página de tags - Usando ID */
#tag-header,
#tag-header:hover,
#tag-header:focus,
#tag-header:active {
	background-color: #f8fafc !important;
}
#tag-header *,
#tag-header *:hover,
#tag-header *:focus,
#tag-header *:active {
	background-color: transparent !important;
}
#tag-header .archive-title,
#tag-header .archive-title:hover {
	color: #1e293b !important;
}
#tag-header .archive-description,
#tag-header .archive-description:hover {
	color: #64748b !important;
}
#tag-header .archive-label,
#tag-header .archive-label:hover {
	background-color: #2563eb !important;
	color: #ffffff !important;
}
#tag-header .archive-count,
#tag-header .archive-count:hover,
#tag-header .archive-stats,
#tag-header .archive-stats:hover {
	color: #94a3b8 !important;
}
#tag-header .tag-icon svg,
#tag-header .tag-icon svg:hover {
	color: #2563eb !important;
}

/* Author Hero Section - Diseño espectacular */
.author-hero-section {
	position: relative;
	padding: var(--spacing-3xl) 0;
	overflow: hidden;
}
.author-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 50%, #3b82f6 100%);
	z-index: -1;
}
.author-hero-bg::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	opacity: 0.5;
}
.author-hero-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: white;
}
.author-hero-avatar {
	position: relative;
	margin-bottom: var(--spacing-lg);
}
.author-hero-photo {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 5px solid rgba(255,255,255,0.3);
	box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}
.author-hero-badge {
	position: absolute;
	bottom: 5px;
	right: 5px;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, #fbbf24, #f59e0b);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}
.author-hero-badge svg {
	color: white;
	fill: white;
	stroke: white;
}
.author-hero-label {
	display: inline-block;
	padding: var(--spacing-xs) var(--spacing-md);
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-full);
	font-size: var(--font-size-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: var(--spacing-sm);
}
.author-hero-name {
	font-size: var(--font-size-3xl);
	font-weight: 700;
	margin: 0 0 var(--spacing-md);
	text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.author-hero-bio {
	max-width: 700px;
	font-size: var(--font-size-base);
	line-height: 1.75;
	opacity: 0.9;
	margin: 0 0 var(--spacing-lg);
}
.author-hero-meta {
	display: flex;
	gap: var(--spacing-lg);
	margin-bottom: var(--spacing-lg);
}
.author-hero-stat {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-sm) var(--spacing-lg);
	background: rgba(255,255,255,0.1);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-full);
	font-size: var(--font-size-sm);
}
.author-hero-stat svg {
	opacity: 0.8;
}
.author-hero-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-sm);
}
.author-hero-social-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	padding: var(--spacing-sm) var(--spacing-md);
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
	border-radius: var(--radius-full);
	color: white;
	font-size: var(--font-size-sm);
	font-weight: 500;
	transition: all var(--transition-fast);
}
.author-hero-social-link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.author-hero-social-website:hover { background: rgba(255,255,255,0.25); }
.author-hero-social-facebook:hover { background: #1877f2; }
.author-hero-social-linkedin:hover { background: #0a66c2; }
.author-hero-social-twitter:hover { background: #000000; }
.author-hero-social-instagram:hover { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }

@media (min-width: 768px) {
	.author-hero-content {
		flex-direction: row;
		text-align: left;
		gap: var(--spacing-2xl);
	}
	.author-hero-avatar {
		margin-bottom: 0;
	}
	.author-hero-info {
		flex: 1;
	}
	.author-hero-social {
		justify-content: flex-start;
	}
}

@media (max-width: 576px) {
	.author-hero-name {
		font-size: var(--font-size-2xl);
	}
	.author-hero-photo {
		width: 120px;
		height: 120px;
	}
	.author-hero-social-link span {
		display: none;
	}
	.author-hero-social-link {
		width: 44px;
		height: 44px;
		padding: 0;
		justify-content: center;
	}
}

/* Author widget en sidebar */
.author-widget .author-card {
	text-align: center;
}
.author-widget .author-card-avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	margin-bottom: var(--spacing-sm);
}
.author-widget .author-card-name {
	font-size: var(--font-size-base);
	margin-bottom: var(--spacing-xs);
}
.author-widget .author-card-link {
	font-size: var(--font-size-sm);
	color: var(--color-primary);
}

/* Author Box - Card de biografía al final del artículo */
.author-box {
	background: var(--color-background-alt);
	border-radius: var(--radius-xl);
	padding: var(--spacing-xl);
	margin-top: var(--spacing-2xl);
	border: 1px solid var(--color-border);
}
.author-box-header {
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-lg);
	margin-bottom: var(--spacing-lg);
}
.author-box-avatar-link {
	flex-shrink: 0;
}
.author-box-avatar {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 3px solid var(--color-background);
	box-shadow: var(--shadow-md);
	transition: transform var(--transition-fast);
}
.author-box-avatar-link:hover .author-box-avatar {
	transform: scale(1.05);
}
.author-box-info {
	flex: 1;
}
.author-box-label {
	font-size: var(--font-size-xs);
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: block;
	margin-bottom: var(--spacing-xs);
}
.author-box-name {
	font-size: var(--font-size-xl);
	margin: 0 0 var(--spacing-sm);
}
.author-box-name a {
	color: var(--color-text);
}
.author-box-name a:hover {
	color: var(--color-primary);
}
.author-box-social {
	display: flex;
	gap: var(--spacing-sm);
	flex-wrap: wrap;
}
.author-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--color-background);
	color: var(--color-text-light);
	transition: all var(--transition-fast);
}
.author-social-link:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}
.author-social-link:hover svg {
	color: white;
}
.author-social-facebook:hover { background: #1877f2; }
.author-social-linkedin:hover { background: #0a66c2; }
.author-social-twitter:hover { background: #000000; }
.author-social-instagram:hover { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.author-box-bio {
	color: var(--color-text-light);
	line-height: 1.75;
	margin-bottom: var(--spacing-lg);
}
.author-box-bio p {
	margin: 0;
}
.author-box-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-sm);
	font-weight: 600;
	color: var(--color-primary);
}
.author-box-link:hover {
	gap: var(--spacing-md);
}
.author-box-link svg {
	transition: transform var(--transition-fast);
}
.author-box-link:hover svg {
	transform: translateX(4px);
}

/* Author avatar link en article-meta */
.author-avatar-link {
	display: flex;
	flex-shrink: 0;
}
.author-avatar-link .author-avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	transition: transform var(--transition-fast);
}
.author-avatar-link:hover .author-avatar {
	transform: scale(1.05);
}
.author-name-link {
	color: var(--color-text);
}
.author-name-link:hover {
	color: var(--color-primary);
}

@media (max-width: 576px) {
	.author-box-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.author-box-social {
		justify-content: center;
	}
	.author-box-bio {
		text-align: center;
	}
	.author-box-link {
		display: flex;
		justify-content: center;
	}
}

/* ============================================================================
 * OPTIMIZACIONES UX - HEADER MEJORADO
 * ============================================================================ */

/* Reading Progress Bar - Barra de progreso de lectura */
#reading-progress-bar {
	position: fixed;
	top: 0;
	left: 0;
	height: 4px;
	width: 0;
	background: #2c5aa0;
	z-index: 10001;
	transition: width 150ms ease-out;
	box-shadow: 0 0 10px rgba(44, 90, 160, 0.5);
}

/* Header Optimizado */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: var(--color-background);
	border-bottom: 1px solid var(--color-border);
	transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1), 
	            box-shadow 300ms ease,
	            background-color 300ms ease;
}

.site-header.is-sticky {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(10px);
}

.site-header.header-hidden {
	transform: translateY(-100%);
}

/* Logo con nombre del sitio */
.logo-link {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
	color: var(--color-text);
	font-weight: 700;
	transition: opacity var(--transition-fast);
}

.logo-link:hover {
	opacity: 0.8;
}

.site-logo-icon {
	width: 50px;
	height: 50px;
	flex-shrink: 0;
}

.site-name {
	font-family: var(--font-secondary);
	font-size: var(--font-size-xl);
	color: #2c5aa0;
	font-weight: 700;
	line-height: 1.2;
	display: none;
}

@media (min-width: 576px) {
	.site-name {
		display: block;
	}
}

/* Header Layout - Distribución en 3 bloques */
.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-height);
	gap: var(--spacing-md);
}

/* Bloque Izquierdo: Logo */
.logo {
	flex-shrink: 0;
}

/* Bloque Derecho: Acciones */
.header-actions {
	display: flex;
	align-items: center;
	gap: var(--spacing-xs);
	flex-shrink: 0;
}

.search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: none;
	color: var(--color-text-light);
	cursor: pointer;
	border-radius: var(--radius-full);
	transition: background var(--transition-fast), color var(--transition-fast);
}

.search-toggle:hover {
	background: var(--color-background-alt);
	color: #2c5aa0;
}

.search-toggle svg {
	width: 20px;
	height: 20px;
}

/* ============================================================================
 * MODAL DE BÚSQUEDA
 * ============================================================================ */

.search-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 15vh;
	opacity: 0;
	visibility: hidden;
	transition: opacity 300ms ease, visibility 300ms ease;
}

.search-modal.is-active {
	opacity: 1;
	visibility: visible;
}

.search-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(4px);
}

.search-modal-content {
	position: relative;
	width: 90%;
	max-width: 600px;
	background: var(--color-background);
	border-radius: var(--radius-xl);
	padding: var(--spacing-xl);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	transform: translateY(-20px) scale(0.95);
	transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

.search-modal.is-active .search-modal-content {
	transform: translateY(0) scale(1);
}

.search-modal-close {
	position: absolute;
	top: var(--spacing-md);
	right: var(--spacing-md);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: none;
	color: var(--color-text-muted);
	border-radius: var(--radius-full);
	cursor: pointer;
	transition: background var(--transition-fast), color var(--transition-fast);
}

.search-modal-close:hover {
	background: var(--color-background-alt);
	color: var(--color-text);
}

.search-modal-form {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	margin-top: var(--spacing-md);
}

.search-modal-input {
	flex: 1;
	padding: var(--spacing-md) var(--spacing-lg);
	border: 2px solid var(--color-border);
	border-radius: var(--radius-full);
	font-size: var(--font-size-lg);
	background: var(--color-background);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.search-modal-input:focus {
	outline: none;
	border-color: #2c5aa0;
	box-shadow: 0 0 0 4px rgba(44, 90, 160, 0.15);
}

.search-modal-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	background: #2c5aa0;
	color: white;
	border: none;
	border-radius: var(--radius-full);
	cursor: pointer;
	transition: background var(--transition-fast), transform var(--transition-fast);
}

.search-modal-submit:hover {
	background: #234a85;
	transform: scale(1.05);
}

.search-modal-hint {
	margin: var(--spacing-md) 0 0;
	text-align: center;
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}

/* Bloquear scroll cuando modal está abierto */
body.search-open {
	overflow: hidden;
}

/* Animación suave del header */
@media (prefers-reduced-motion: reduce) {
	.site-header,
	.header-search,
	#reading-progress-bar {
		transition: none;
	}
}

/* ============================================================================
   OPTIMIZACIÓN GEO - Estilos para motores de IA
   Clases especiales para contenido que las IAs pueden extraer fácilmente
   ============================================================================ */

/* Caja de Resumen / Key Takeaways (BLUF - Bottom Line Up Front) */
.geo-summary,
.key-takeaways,
.article-body .geo-summary,
.article-body .key-takeaways {
	background-color: var(--color-background-alt);
	border-left: 5px solid var(--color-primary);
	padding: var(--spacing-lg);
	margin: var(--spacing-xl) 0;
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	font-family: var(--font-primary);
}
.geo-summary > strong:first-child,
.key-takeaways > strong:first-child,
.geo-summary > h4:first-child,
.key-takeaways > h4:first-child {
	display: block;
	color: var(--color-primary);
	font-size: var(--font-size-lg);
	margin-bottom: var(--spacing-sm);
	font-family: var(--font-secondary);
}
.geo-summary ul,
.key-takeaways ul {
	margin: var(--spacing-md) 0 0;
	padding-left: var(--spacing-lg);
}
.geo-summary li,
.key-takeaways li {
	margin-bottom: var(--spacing-sm);
	line-height: 1.6;
}

/* Caja de Definición (para términos psicológicos) */
.definition-box,
.article-body .definition-box {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: var(--spacing-lg);
	background: var(--color-background);
	box-shadow: var(--shadow-sm);
	margin: var(--spacing-xl) 0;
}
.definition-box strong:first-child,
.definition-box .definition-term {
	display: block;
	color: var(--color-text);
	font-size: var(--font-size-xl);
	margin-bottom: var(--spacing-sm);
	font-family: var(--font-secondary);
}
.definition-box p,
.definition-box .definition-text {
	margin: 0;
	font-size: var(--font-size-base);
	color: var(--color-text-light);
	line-height: 1.7;
}
.definition-box cite,
.definition-box .definition-source {
	display: block;
	margin-top: var(--spacing-md);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
	font-style: italic;
}

/* Sección de Referencias / Fuentes */
.references-section,
.article-body .references-section,
.sources-section,
.article-body .sources-section {
	margin-top: var(--spacing-2xl);
	padding-top: var(--spacing-xl);
	border-top: 2px solid var(--color-border);
}
.references-section h3,
.references-section h4,
.sources-section h3,
.sources-section h4 {
	font-size: var(--font-size-lg);
	color: var(--color-text);
	margin-bottom: var(--spacing-md);
}
.references-section ol,
.sources-section ol {
	padding-left: var(--spacing-lg);
	margin: 0;
}
.references-section li,
.sources-section li {
	margin-bottom: var(--spacing-sm);
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	line-height: 1.6;
}
.references-section a,
.sources-section a {
	word-break: break-word;
}

/* Fecha de actualización (GEO - información fresca) */
.article-updated {
	display: flex;
	align-items: center;
	gap: 4px;
	color: var(--color-success);
	font-weight: 500;
}

/* Tablas con zebra striping (mejor legibilidad para IAs) */
.article-body table {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.article-body table thead {
	background: var(--color-background-alt);
}
.article-body table th {
	padding: var(--spacing-md);
	text-align: left;
	font-weight: 600;
	color: var(--color-text);
	border-bottom: 2px solid var(--color-border);
}
.article-body table td {
	padding: var(--spacing-md);
	border-bottom: 1px solid var(--color-border-light);
}
.article-body table tbody tr:nth-child(even) {
	background: var(--color-background-alt);
}
.article-body table tbody tr:hover {
	background: rgba(37, 99, 235, 0.05);
}

/* Listas con mejor espaciado para GEO */
.article-body ul li,
.article-body ol li {
	padding-bottom: var(--spacing-sm);
	line-height: 1.7;
}

/* Blockquote mejorado para citas textuales */
.article-body blockquote {
	font-size: var(--font-size-lg);
	position: relative;
}
.article-body blockquote cite {
	display: block;
	margin-top: var(--spacing-md);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
	font-style: normal;
}
.article-body blockquote cite::before {
	content: "— ";
}

/* ==========================================================================
   FIX: Eliminar efectos de borde curvo no deseados en hero y footer
   Esto corrige un problema donde aparece un medio círculo solo en tags
   ========================================================================== */

/* Asegurar bordes rectos en hero de archivo - GLOBAL */
.archive-hero-section,
.archive-hero-bg {
	border-radius: 0 !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
}

/* Eliminar pseudo-elementos que puedan crear formas curvas */
.archive-hero-section::before,
.archive-hero-section::after,
.archive-hero-bg::after {
	border-radius: 0 !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
}

/* Asegurar bordes rectos en footer - GLOBAL */
.site-footer {
	border-radius: 0 !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
}

.site-footer::before,
.site-footer::after {
	content: none !important;
	display: none !important;
}

/* Específico para body.tag (página de etiquetas) - máxima especificidad */
body.tag .archive-hero-section,
body.tag .archive-hero-bg,
body.tag .site-footer,
body.tag #site-footer {
	border-radius: 0 !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	overflow: visible !important;
}

body.tag .archive-hero-section::before,
body.tag .archive-hero-section::after,
body.tag .archive-hero-bg::before,
body.tag .archive-hero-bg::after,
body.tag .site-footer::before,
body.tag .site-footer::after,
body.tag #site-footer::before,
body.tag #site-footer::after {
	content: none !important;
	display: none !important;
	border-radius: 0 !important;
}
