/* =========================================================
   He Visto un Fantasma — Entrada individual del blog (single.php) y sus comentarios. Se carga solo en single de entrada.
   Depende de app.css (tokens y base). Las reglas conservan el orden relativo
   que tenían en el CSS monolítico.
   ========================================================= */

:root[data-hvuf-contrast="high"] .hvuf-comentarios__campo input[type="text"],
:root[data-hvuf-contrast="high"] .hvuf-comentarios__campo input[type="email"],
:root[data-hvuf-contrast="high"] .hvuf-comentarios__campo textarea {
	border-color: #ffffff;
}

/* ---------- Entradas de blog ---------- */

.hvuf-post__nav {
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-5) var(--space-7);
	border-top: 1px solid var(--color-border);
}

.hvuf-post__nav a {
	color: var(--color-text-muted);
	text-decoration: none;
}

.hvuf-post__nav a:hover {
	color: var(--color-accent-strong);
}

/* ---------- Comentarios del blog ---------- */

/* Misma columna de lectura que el cuerpo de la entrada (.entry-content: 68ch). */

.hvuf-comentarios {
	max-width: 68ch;
	padding-block: 0 var(--space-7);
}

.hvuf-comentarios__cuerpo {
	padding-top: var(--space-6);
	border-top: 1px solid var(--color-border);
}

.hvuf-comentarios__titulo {
	margin-bottom: var(--space-4);
}

.hvuf-comentarios__vacio,
.hvuf-comentarios__cerrado {
	color: var(--color-text-muted);
}

.hvuf-comentarios__aviso {
	margin: 0 0 var(--space-5);
	padding: var(--space-3) var(--space-4);
	border-left: 3px solid var(--color-accent-strong);
	background: var(--color-bg-alt);
}

.hvuf-comentarios__lista,
.hvuf-comentarios__lista .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hvuf-comentario__cuerpo {
	padding-block: var(--space-4);
	border-top: 1px solid var(--color-border);
}

.hvuf-comentarios__lista > .hvuf-comentario:last-child > .hvuf-comentario__cuerpo:last-child {
	border-bottom: 1px solid var(--color-border);
}

/* Respuestas: una sola sangría (2 niveles), con filete tenue. */

.hvuf-comentarios__lista .children {
	margin-left: var(--space-4);
	padding-left: var(--space-4);
	border-left: 1px solid var(--color-border);
}

.hvuf-comentarios__lista .children .hvuf-comentario__cuerpo:first-child {
	border-top: 0;
}

.hvuf-comentario__cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-1) var(--space-3);
	margin-bottom: var(--space-2);
}

.hvuf-comentario__autor {
	font-family: var(--font-serif);
	font-size: 1.1rem;
	overflow-wrap: anywhere;
}

.hvuf-comentario__fecha,
.hvuf-comentario__pendiente {
	color: var(--color-text-muted);
	font-size: 0.85rem;
}

.hvuf-comentario__pendiente {
	margin: 0 0 var(--space-2);
	font-style: italic;
}

.hvuf-comentario__texto {
	overflow-wrap: anywhere;
}

.hvuf-comentario__texto p {
	margin-bottom: var(--space-3);
}

.hvuf-comentario__texto p:last-child {
	margin-bottom: 0;
}

.hvuf-comentario__texto a {
	color: var(--color-accent-strong);
}

.hvuf-comentario__acciones {
	margin-top: var(--space-2);
}

.hvuf-comentario__acciones a,
.hvuf-comentarios__cancelar a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: var(--space-2);
	margin-left: calc(var(--space-2) * -1);
	color: var(--color-accent-strong);
	font-size: 0.9rem;
}

/* Formulario */

.hvuf-comentarios__form-titulo {
	margin: var(--space-6) 0 var(--space-3);
	font-size: 1.3rem;
}

.hvuf-comentarios__cancelar {
	margin-left: var(--space-3);
	font-family: var(--font-sans);
	font-size: 0.9rem;
	font-weight: 400;
}

.hvuf-comentarios__nota {
	color: var(--color-text-muted);
	font-size: 0.9rem;
}

.hvuf-comentarios__campo {
	margin: 0 0 var(--space-4);
}

.hvuf-comentarios__campo label {
	display: block;
	margin-bottom: var(--space-1);
	font-size: 0.9rem;
}

.hvuf-comentarios__req,
.hvuf-comentarios__ayuda {
	color: var(--color-text-muted);
	font-size: 0.8rem;
}

.hvuf-comentarios__ayuda {
	display: block;
	margin-top: var(--space-1);
}

.hvuf-comentarios__campo input[type="text"],
.hvuf-comentarios__campo input[type="email"],
.hvuf-comentarios__campo textarea {
	display: block;
	width: 100%;
	min-height: 44px;
	padding: var(--space-3);
	/* Borde de campo con contraste suficiente (WCAG 1.4.11, 3:1) frente al fondo. */
	border: 1px solid #6f7589;
	border-radius: var(--radius);
	background: var(--color-bg-alt);
	color: var(--color-text);
	font: inherit;
}

.hvuf-comentarios__campo textarea {
	resize: vertical;
}

.hvuf-comentarios__campo input:focus,
.hvuf-comentarios__campo textarea:focus {
	border-color: var(--color-accent-strong);
}

.hvuf-comentarios__envio {
	margin: var(--space-5) 0 0;
}

.hvuf-comentarios__enviar {
	min-height: 44px;
	cursor: pointer;
	font-family: inherit;
}

@media (max-width: 480px) {
	.hvuf-comentarios__lista .children {
		margin-left: var(--space-2);
		padding-left: var(--space-3);
	}
}
