/**
 * Pulxare — Sistema editorial para entradas individuales.
 *
 * La hoja se carga exclusivamente en is_singular( 'post' ).
 * Los selectores se limitan al contenido de la entrada para no alterar
 * páginas, plantillas de Elementor ni el grid del blog.
 */

body.single-post {
	--px-article-text: #f3f4f6;
	--px-article-muted: #a1a1aa;
	--px-article-accent: #facc15;
	--px-article-surface: #18181b;
	--px-article-border: rgba(255, 255, 255, 0.12);
}

/* Título principal generado por WordPress/Astra. */
body.single-post .entry-header .entry-title,
body.single-post h1.entry-title {
	margin: 0 0 28px;
	color: var(--px-article-text) !important;
	font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: clamp(40px, 5vw, 60px) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.035em !important;
	text-transform: none !important;
}

/* Base tipográfica del cuerpo del artículo. */
body.single-post .entry-content {
	color: var(--px-article-text);
	font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.75;
}

body.single-post .entry-content > :first-child {
	margin-top: 0;
}

body.single-post .entry-content > :last-child {
	margin-bottom: 0;
}

body.single-post .entry-content p {
	margin-top: 0;
	margin-bottom: 24px;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* H1 interior: se contempla por seguridad, aunque el cuerpo debe empezar en H2. */
body.single-post .entry-content h1 {
	margin: 0 0 28px;
	color: var(--px-article-text) !important;
	font-size: clamp(40px, 5vw, 60px) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.035em !important;
	text-transform: none !important;
}

body.single-post .entry-content h2 {
	margin: 60px 0 20px;
	color: var(--px-article-text) !important;
	font-size: clamp(28px, 3vw, 34px) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.025em !important;
	text-transform: none !important;
}

body.single-post .entry-content h3 {
	margin: 42px 0 16px;
	color: var(--px-article-text) !important;
	font-size: clamp(22px, 2vw, 25px) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.015em !important;
	text-transform: none !important;
}

body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
	margin: 34px 0 14px;
	color: var(--px-article-text) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
}

/* Listas: sangría y separación consistentes. */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
	margin: 0 0 28px !important;
	padding-inline-start: 1.75em !important;
	list-style-position: outside !important;
	color: inherit;
}

body.single-post .entry-content ul {
	list-style-type: disc;
}

body.single-post .entry-content ol {
	list-style-type: decimal;
}

body.single-post .entry-content ul ul,
body.single-post .entry-content ol ol,
body.single-post .entry-content ul ol,
body.single-post .entry-content ol ul {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

body.single-post .entry-content li {
	margin: 0 0 10px;
	padding-inline-start: 6px;
	line-height: 1.65;
}

body.single-post .entry-content li:last-child {
	margin-bottom: 0;
}

body.single-post .entry-content li::marker {
	color: var(--px-article-accent);
	font-weight: 700;
}

body.single-post .entry-content strong,
body.single-post .entry-content b {
	color: #ffffff;
	font-weight: 700;
}

body.single-post .entry-content a {
	color: var(--px-article-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

body.single-post .entry-content a:hover,
body.single-post .entry-content a:focus-visible {
	color: #fde047;
}

body.single-post .entry-content blockquote,
body.single-post .entry-content .wp-block-quote {
	margin: 38px 0;
	padding: 8px 0 8px 26px;
	border: 0;
	border-left: 3px solid var(--px-article-accent);
	color: var(--px-article-text);
	font-size: 1.12em;
	font-style: normal;
	line-height: 1.65;
}

body.single-post .entry-content blockquote p:last-child {
	margin-bottom: 0;
}

body.single-post .entry-content blockquote cite,
body.single-post .entry-content .wp-block-quote cite {
	display: block;
	margin-top: 14px;
	color: var(--px-article-muted);
	font-size: 14px;
	font-style: normal;
}

body.single-post .entry-content figure,
body.single-post .entry-content .wp-block-image,
body.single-post .entry-content .wp-block-gallery,
body.single-post .entry-content .wp-block-video,
body.single-post .entry-content .wp-block-embed {
	margin-top: 38px;
	margin-bottom: 38px;
}

body.single-post .entry-content img {
	border-radius: 12px;
}

body.single-post .entry-content figcaption,
body.single-post .entry-content .wp-element-caption {
	margin-top: 10px;
	color: var(--px-article-muted);
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

body.single-post .entry-content hr,
body.single-post .entry-content .wp-block-separator {
	width: 100%;
	margin: 48px 0;
	border: 0;
	border-top: 1px solid var(--px-article-border);
	background: transparent;
}

body.single-post .entry-content code,
body.single-post .entry-content kbd,
body.single-post .entry-content samp {
	padding: 0.15em 0.4em;
	border-radius: 5px;
	background: var(--px-article-surface);
	color: #ffffff;
	font-size: 0.88em;
}

body.single-post .entry-content pre,
body.single-post .entry-content .wp-block-code {
	margin: 32px 0;
	padding: 22px;
	border: 1px solid var(--px-article-border);
	border-radius: 12px;
	background: var(--px-article-surface);
	overflow-x: auto;
	color: #ffffff;
	font-size: 15px;
	line-height: 1.6;
}

body.single-post .entry-content pre code,
body.single-post .entry-content .wp-block-code code {
	padding: 0;
	background: transparent;
	font-size: inherit;
}

body.single-post .entry-content table,
body.single-post .entry-content .wp-block-table table {
	width: 100%;
	margin: 32px 0;
	border-collapse: collapse;
	color: var(--px-article-text);
	font-size: 16px;
}

body.single-post .entry-content th,
body.single-post .entry-content td {
	padding: 13px 15px;
	border: 1px solid var(--px-article-border);
	text-align: left;
	vertical-align: top;
}

body.single-post .entry-content th {
	background: var(--px-article-surface);
	font-weight: 700;
}

@media (max-width: 767px) {
	body.single-post .entry-header .entry-title,
	body.single-post h1.entry-title,
	body.single-post .entry-content h1 {
		font-size: clamp(34px, 10vw, 44px) !important;
	}

	body.single-post .entry-content {
		font-size: 17px;
		line-height: 1.72;
	}

	body.single-post .entry-content h2 {
		margin-top: 46px;
		font-size: clamp(26px, 8vw, 31px) !important;
	}

	body.single-post .entry-content h3 {
		margin-top: 34px;
		font-size: 22px !important;
	}

	body.single-post .entry-content ul,
	body.single-post .entry-content ol {
		padding-inline-start: 1.45em !important;
	}

	body.single-post .entry-content blockquote,
	body.single-post .entry-content .wp-block-quote {
		padding-left: 20px;
	}
}
