/*
Theme Name:     Neve Child
Theme URI:      https://themeisle.com/themes/neve/
Template:       neve
Author:         ThemeIsle
Author URI:     https://themeisle.com
Description:    Child theme personalizado para Neve.
Version:        1.20.18
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
*/


/**
 * ==========================================================
 * SISTEMA VISUAL GLOBAL
 * ==========================================================
 *
 * Cambiando estas variables se actualiza el aspecto de todas
 * las tarjetas principales del artículo.
 */
:root {
	--st-card-background: #ffffff;
	--st-card-radius: 6px;
	--st-card-shadow: 0 0 9px 0 rgba(1, 1, 1, 0.10);
	--st-card-shadow-hover: 0 5px 16px rgba(0, 0, 0, 0.09);
}


/**
 * ==========================================================
 * ARTÍCULO INDIVIDUAL
 * ==========================================================
 */


/**
 * Cabecera.
 */
.st__head-post {
	background: var(--st-card-background);

	/* Separa visualmente la cabecera de la entrada de las migas de pan. */
	margin-top: 20px;

	padding: 14px;

	border-radius: var(--st-card-radius);

	box-shadow: var(--st-card-shadow);

	margin-bottom: 20px;
}


/**
 * Imagen destacada.
 */
.st__thumbnail {
	margin: 0 0 10px 0;
}


.st__featured-image {
	display: block;

	width: 100%;
	height: auto;
}


/**
 * Título.
 */
.st__head-content .entry-title {
	margin-top: 0;
	margin-bottom: 4px;

	color: #5e3fa6;
}


/**
 * Subtítulo.
 */
.st__subtitle {
	margin: 0;

	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;

	color: #555;
}


/**
 * ==========================================================
 * AUTOR
 * ==========================================================
 */

.content-author {
	display: flex;

	align-items: center;

	gap: 10px;

	margin: 18px 0;
}


.st__author-avatar {
	flex: 0 0 auto;
}


.st__author-avatar img {
	display: block;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	object-fit: cover;
}


.st__author-info {
	display: flex;
	flex-direction: column;

	line-height: 1.35;
}


.st__author-name {
	font-size: 14px;
	font-weight: 500;

	color: #5e3fa6;
}


.st__author-date {
	margin-top: 2px;

	font-size: 13px;

	color: #999;
}


.st__date-separator {
	margin: 0 4px;
}


/**
 * ==========================================================
 * CONTENIDO
 * ==========================================================
 */

.entry-content.st__content-card {
	background-color: var(--st-card-background);

	padding: 20px;

	border-radius: var(--st-card-radius);

	box-shadow: var(--st-card-shadow);
}

.entry-content.st__content-plain {
	background: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}


/**
 * Encabezados del contenido.
 */
h1,
h2,
h5,
h6 {
	color: #5e3fa6;
}


/**
 * ==========================================================
 * RESPONSIVE
 * ==========================================================
 */

@media (max-width: 768px) {

	.st__head-post {
		padding: 10px;
	}


	.st__head-content .entry-title {
		font-size: 26px;
		line-height: 1.2;
	}


	.st__subtitle {
		font-size: 14px;
	}


	.entry-content.st__content-card {
		padding: 16px;
	}

	.entry-content.st__content-plain {
		padding: 0;
	}

}


/**
 * ==========================================================
 * CONTENIDO DE PÁGINAS
 * ==========================================================
 * Reutiliza el mismo ajuste "Mostrar contenido en caja" de
 * Entrada individual también para las páginas estáticas.
 */
.page.st__page-content-card .nv-content-wrap.entry-content {
	background-color: var(--st-card-background);
	padding: 20px;
	border-radius: var(--st-card-radius);
	box-shadow: var(--st-card-shadow);
}

.page.st__page-content-plain .nv-content-wrap.entry-content {
	background: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}

@media (max-width: 768px) {
	.page.st__page-content-card .nv-content-wrap.entry-content {
		padding: 16px;
	}

	.page.st__page-content-plain .nv-content-wrap.entry-content {
		padding: 0;
	}
}

/*****/

/**
 * ==========================================================
 * ETIQUETAS
 * ==========================================================
 */

.st__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;

	margin-top: 28px;
	padding-top: 4px;
}


.st__tag {
	display: flex;
	align-items: center;

	padding: 6px 11px;

	border: 1px solid #5e3fa6;
	border-radius: 2px;

	background: transparent;

	color: #5e3fa6;

	font-size: 13px;
	font-weight: 400;
	line-height: 1.2;

	text-decoration: none;

	transition:
		background-color .2s ease,
		color .2s ease,
		border-color .2s ease;
}


.st__tag:hover {
	background: #5e3fa6;
	color: #fff;

	text-decoration: none;
}



/**
 * ==========================================================
 * CAJA DEL AUTOR
 * ==========================================================
 */

.st__author-box {
	display: flex;
	align-items: flex-start;

	gap: 24px;

	margin-top: 36px;

	padding: 28px 30px;

	background: var(--st-card-background);

	border-radius: var(--st-card-radius);

	box-shadow: var(--st-card-shadow);
}


.st__author-box-avatar {
	flex: 0 0 74px;
}


.st__author-box-avatar img {
	display: block;

	width: 74px;
	height: 74px;

	border-radius: 50%;

	object-fit: cover;
}


.st__author-box-content {
	flex: 1;

	min-width: 0;
}


.st__author-box-name {
	margin: 1px 0 8px;

	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
}


.st__author-box-name a {
	color: #5e3fa6;

	text-decoration: none;
}


.st__author-box-name a:hover {
	text-decoration: underline;
}


.st__author-box-description {
	color: #222;

	font-size: 15px;
	line-height: 1.65;
}


.st__author-box-description p {
	margin-top: 0;
	margin-bottom: 0;
}



/**
 * ==========================================================
 * NAVEGACIÓN ANTERIOR / SIGUIENTE
 * ==========================================================
 */

.st__post-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 32px 0;
}

.st__post-nav-card {
	min-width: 0;
}

.st__post-nav-label {
	display: block;
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--st-post-nav-label, var(--nv-primary-accent, #5e3fa6));
}

.st__post-nav-card > a {
	display: grid;
	grid-template-columns: 108px minmax(0, 1fr);
	align-items: center;
	min-height: 108px;
	background: var(--st-post-nav-bg, #fff);
	border: 1px solid rgba(0, 0, 0, .10);
	border-radius: 8px;
	overflow: hidden;
	color: var(--st-post-nav-text, var(--nv-text-color, #202124));
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.st__post-nav-card > a:hover {
	border-color: rgba(94, 63, 166, .28);
	box-shadow: 0 7px 20px rgba(0, 0, 0, .08);
	transform: translateY(-1px);
}

.st__post-nav-thumb {
	display: block;
	width: 108px;
	height: 108px;
	background: #f0f0f0;
	overflow: hidden;
}

.st__post-nav-thumb img,
.st__post-nav-thumb-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.st__post-nav-thumb-placeholder {
	background: linear-gradient(135deg, #f0f0f0, #e3e3e3);
}

.st__post-nav-title {
	display: block;
	padding: 14px 16px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.st__nav-next .st__post-nav-label {
	text-align: right;
}

/* Si solamente existe anterior o siguiente, la tarjeta puede aprovechar el ancho. */
.st__post-navigation > .st__post-nav-card:only-child {
	grid-column: 1 / -1;
	max-width: calc(50% - 9px);
}

.st__post-navigation > .st__nav-next:only-child {
	justify-self: end;
	width: 100%;
}

@media (max-width: 640px) {
	.st__post-navigation {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.st__post-navigation > .st__post-nav-card:only-child {
		grid-column: auto;
		max-width: none;
	}

	.st__post-navigation > .st__nav-next:only-child {
		justify-self: stretch;
	}

	.st__nav-next .st__post-nav-label {
		text-align: left;
	}

	.st__post-nav-card > a {
		grid-template-columns: 92px minmax(0, 1fr);
		min-height: 92px;
	}

	.st__post-nav-thumb {
		width: 92px;
		height: 92px;
	}

	.st__post-nav-title {
		padding: 12px 14px;
		font-size: 15px;
	}
}

/********************/
/* =========================================================
   ARTÍCULOS RELACIONADOS
   ========================================================= */

.st__related-posts {
	margin-top: 35px;
	margin-bottom: 35px;
}

.st__related-posts .st__section-title {
	margin: 0 0 18px;

	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
}


/* Lista */

.st__related-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}


/* Tarjeta */

.st__related-card {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: space-between;

	min-height: 145px;

	padding: 18px 22px 18px 24px;

	background: var(--st-card-background);

	border-radius: var(--st-card-radius);

	box-shadow: var(--st-card-shadow);

	overflow: hidden;

	transition:
		transform .18s ease,
		box-shadow .18s ease;
}


/* Línea lateral inspirada en la referencia */

.st__related-card::before {
	content: "";

	position: absolute;

	left: 0;
	top: 0;
	bottom: 0;

	width: 5px;

	background: var(--st-category-color, #5e3fa6);
}


/* Toda la tarjeta es clicable */

.st__related-main-link {
	position: absolute;
	inset: 0;

	z-index: 1;
}


/* Hover */

.st__related-card:hover {
	transform: translateY(-2px);

	box-shadow: var(--st-card-shadow-hover);
}


/* Contenido principal */

.st__related-left {
	flex: 1;

	min-width: 0;
}


/* Tiempo superior */

.st__related-time {
	margin-bottom: 8px;

	font-size: 12px;
	font-weight: 500;

	color: #777;
}


/* Imagen + contenido */

.st__related-info {
	display: flex;
	align-items: flex-start;

	gap: 14px;
}


/* Imagen */

.st__related-thumbnail {
	flex: 0 0 72px;

	width: 72px;
	height: 55px;

	border-radius: 7px;

	overflow: hidden;

	background: #eee;
}


.st__related-thumbnail img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.st__related-placeholder {
	width: 100%;
	height: 100%;

	background: #eee;
}


/* Contenido */

.st__related-content {
	flex: 1;

	min-width: 0;
}


/* Título */

.st__related-title {
	margin: 0 0 4px;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;

	color: #161c42;
}


/* Meta */

.st__related-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 7px;

	margin-bottom: 7px;

	font-size: 12px;
}


.st__related-category {
	color: var(--st-category-color, #5e3fa6);

	font-weight: 600;
}


.st__related-category::after {
	content: "•";

	margin-left: 7px;

	color: #aaa;
}


.st__related-reading {
	color: #777;
}


/* Extracto */

.st__related-excerpt {
	max-width: 680px;

	color: #555;

	font-size: 13px;
	line-height: 1.45;

	display: -webkit-box;

	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;

	overflow: hidden;
}


/* Flecha */

.st__related-arrow {
	position: relative;

	z-index: 2;

	flex: 0 0 auto;

	margin-left: 20px;

	color: var(--st-category-color, #5e3fa6);

	font-size: 30px;
	font-weight: 300;
	line-height: 1;
}


/* Responsive */

@media (max-width: 768px) {

	.st__related-card {
		min-height: auto;

		padding:
			15px
			16px
			15px
			20px;
	}


	.st__related-info {
		gap: 11px;
	}


	.st__related-thumbnail {
		flex-basis: 60px;

		width: 60px;
		height: 50px;
	}


	.st__related-title {
		font-size: 14px;
	}


	.st__related-excerpt {
		font-size: 12px;

		-webkit-line-clamp: 2;
	}


	.st__related-arrow {
		margin-left: 8px;

		font-size: 24px;
	}

}

/**
 * ==========================================================
 * COMENTARIOS
 * ==========================================================
 *
 * Formulario limpio sobre el fondo del sitio + lista de
 * comentarios dentro de una tarjeta global.
 */

.st__comments-section {
	margin-top: 36px;
	margin-bottom: 36px;
}

/* El contenedor general no debe comportarse como tarjeta. */
.st__comments-section #comments,
.st__comments-section.comments-area {
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

/* ==========================================================
 * FORMULARIO
 * ========================================================== */

.st__comments-section .comment-respond,
.st__comments-section .comment-respond.nv-is-boxed {
	margin: 0 0 32px;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: inherit;
}

.st__comments-section .comment-reply-title {
	margin: 0 0 26px;
	padding: 0 0 9px;
	border-bottom: 1px solid var(--nv-primary-accent, #5e3fa6);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}

/*
 * Neve 4.2.11 define en escritorio:
 * #comments .comment-form { grid-template-columns: repeat(3, 1fr); }
 * Usamos #comments y !important para anular de forma estable esa regla.
 */
#comments.st__comments-section .comment-form,
.st__comments-section #comments .comment-form,
#comments .comment-form {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	column-gap: 22px !important;
	row-gap: 14px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Ocultar textos auxiliares que WordPress/otros plugins puedan añadir. */
.st__comments-section .comment-notes,
.st__comments-section .logged-in-as,
.st__comments-section .comment-form-url,
.st__comments-section .comment-form-cookies-consent {
	display: none !important;
}

.st__comments-section .st-comment-field {
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
}

/* Nombre y correo: dos columnas iguales y ocupando todo el ancho. */
#comments .comment-form .comment-form-author,
#comments .comment-form .comment-form-email {
	grid-column: auto !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
}

/* Comentario y botón: fila completa debajo de Nombre + Correo. */
#comments .comment-form .comment-form-comment,
#comments .comment-form .form-submit {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
}

.st__comments-section .comment-form input:not([type="submit"]):not([type="checkbox"]),
.st__comments-section .comment-form textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 10px 13px;
	background: var(--st-card-background);
	border: 2px solid var(--nv-primary-accent, #287cb5);
	border-radius: 9px;
	outline: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: 1.45;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.st__comments-section .comment-form input:not([type="submit"]):not([type="checkbox"]) {
	height: 38px;
}

.st__comments-section .comment-form textarea {
	min-height: 105px;
	resize: vertical;
}

.st__comments-section .comment-form input::placeholder,
.st__comments-section .comment-form textarea::placeholder {
	color: #666;
	opacity: 1;
}

.st__comments-section .comment-form input:not([type="submit"]):focus,
.st__comments-section .comment-form textarea:focus {
	border-color: var(--nv-primary-accent, #287cb5);
	box-shadow: 0 0 0 1px var(--nv-primary-accent, #287cb5);
}

.st__comments-section .form-submit {
	margin: 4px 0 0;
}

.st__comments-section .form-submit .submit,
.st__comments-section .comment-form input[type="submit"] {
	width: auto;
	min-height: 42px;
	margin: 0;
	padding: 10px 15px;
	border: 0;
	border-radius: 9px;
	cursor: pointer;
	font-weight: 600;
}

/* ==========================================================
 * LISTA DE COMENTARIOS
 * ========================================================== */

.st__comments-section .nv-comments-wrap {
	margin: 0 0 32px;
	padding: 26px;
	background: var(--st-card-background);
	border-radius: var(--st-card-radius);
	box-shadow: var(--st-card-shadow);
}

.st__comments-section .nv-comments-title-wrap .comments-title {
	margin: 0 0 28px;
}

.st__comments-section .nv-comments-list {
	margin-bottom: 0;
}

.st__comments-section .nv-comments-list > li + li {
	margin-top: 28px;
}

.st__comments-section .nv-comment-article {
	display: flex;
	gap: 14px;
}

.st__comments-section .nv-comment-avatar {
	flex: 0 0 50px;
}

.st__comments-section .nv-comment-header {
	margin-bottom: 10px;
}

.st__comments-section .nv-comment-content {
	padding: 12px 14px;
	background: #f4f4f4;
	border-radius: calc(var(--st-card-radius) - 1px);
}

.st__comments-section .nv-comment-content p:last-child {
	margin-bottom: 0;
}

.st__comments-section .nv-comments-list .children {
	margin-top: 24px;
	padding-left: 36px;
}

.st__comments-section .nv-comment-navigation {
	margin: -16px 0 32px;
}

@media (max-width: 768px) {
	.st__comments-section .comment-form {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.st__comments-section .comment-form-author,
	.st__comments-section .comment-form-email,
	.st__comments-section .comment-form-comment,
	.st__comments-section .form-submit {
		grid-column: 1;
	}

	.st__comments-section .nv-comments-wrap {
		padding: 18px;
	}

	.st__comments-section .nv-comments-list .children {
		padding-left: 18px;
	}

	.st__comments-section .nv-comment-article {
		gap: 10px;
	}
}



/* ==========================================================
 * FORMULARIO DE COMENTARIOS - OVERRIDE NEVE 4.2.11
 * ========================================================== */
@media (min-width: 769px) {
	#comments .comment-form {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	#comments .comment-form .comment-form-author,
	#comments .comment-form .comment-form-email {
		grid-column: auto !important;
		width: 100% !important;
		max-width: none !important;
	}

	#comments .comment-form .comment-form-comment,
	#comments .comment-form .form-submit {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 768px) {
	#comments .comment-form {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	#comments .comment-form .comment-form-author,
	#comments .comment-form .comment-form-email,
	#comments .comment-form .comment-form-comment,
	#comments .comment-form .form-submit {
		grid-column: 1 / -1 !important;
	}
}

/* ==========================================================
 * COMENTARIOS COMPACTOS - v1.3.3
 * ==========================================================
 * Lista más ligera: sin separadores, menos espacio vertical,
 * avatar reducido y comentario en burbuja gris suave.
 */

.st__comments-section .nv-comments-wrap {
	padding: 24px;
}

.st__comments-section .nv-comments-title-wrap .comments-title {
	margin: 0 0 22px;
	font-size: 22px;
	line-height: 1.3;
}

.st__comments-section .nv-comments-list,
.st__comments-section .nv-comments-list li {
	border: 0 !important;
}

.st__comments-section .nv-comments-list > li,
.st__comments-section .nv-comments-list > li + li {
	margin-top: 0;
	padding: 0;
	border: 0 !important;
}

.st__comments-section .nv-comments-list > li + li {
	margin-top: 20px;
}

.st__comments-section .nv-comment-article {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.st__comments-section .nv-comment-avatar {
	flex: 0 0 42px;
	width: 42px;
}

.st__comments-section .nv-comment-avatar img {
	display: block;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
}

.st__comments-section .comment-content {
	flex: 1;
	min-width: 0;
}

.st__comments-section .nv-comment-header {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 7px;
}

.st__comments-section .nv-comment-header .comment-author {
	min-width: 0;
}

.st__comments-section .nv-comment-header .vcard .author {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.st__comments-section .nv-comment-header .vcard time {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.35;
	color: #949494;
	opacity: 1;
}

.st__comments-section .nv-comment-header .edit-reply {
	margin-left: auto;
	font-size: 0;
	line-height: 1;
	text-transform: none;
}

.st__comments-section .nv-comment-header .edit-reply > a,
.st__comments-section .nv-comment-header .nv-reply-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 7px;
	background: var(--nv-primary-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none;
}

.st__comments-section .nv-comment-header .edit-reply > a:hover,
.st__comments-section .nv-comment-header .nv-reply-link a:hover {
	color: #fff;
	opacity: .9;
}

.st__comments-section .nv-comment-content {
	position: relative;
	margin: 0;
	padding: 10px 12px;
	background: #f4f4f4;
	border: 0 !important;
	border-radius: 6px;
	box-shadow: none !important;
	font-size: 13px;
	line-height: 1.55;
}

.st__comments-section .nv-comment-content::before {
	content: "";
	position: absolute;
	top: -6px;
	left: 12px;
	width: 12px;
	height: 12px;
	background: #f4f4f4;
	transform: rotate(45deg);
	border-radius: 2px 0 0 0;
}

.st__comments-section .nv-comment-content p {
	margin: 0;
}

.st__comments-section .nv-comment-content p + p {
	margin-top: 8px;
}

.st__comments-section .nv-comments-list .children {
	margin-top: 18px;
	padding-left: 52px;
	border: 0 !important;
}

.st__comments-section .nv-comments-list .children > li + li {
	margin-top: 18px;
}

@media (max-width: 768px) {
	.st__comments-section .nv-comments-wrap {
		padding: 18px;
	}

	.st__comments-section .nv-comments-title-wrap .comments-title {
		font-size: 19px;
	}

	.st__comments-section .nv-comment-avatar,
	.st__comments-section .nv-comment-avatar img {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.st__comments-section .nv-comments-list .children {
		padding-left: 24px;
	}

	.st__comments-section .nv-comment-header {
		gap: 6px;
	}

	.st__comments-section .nv-comment-header .nv-reply-link a {
		padding: 5px 8px;
		font-size: 11px;
	}
}


/**
 * ==========================================================
 * MIGAS DE PAN
 * ==========================================================
 * Barra editorial debajo del menú principal.
 */
.st__breadcrumbs-bar {
	width: 100%;
	background: #ffffff;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.st__breadcrumbs-inner {
	padding-top: 10px;
	padding-bottom: 10px;
}

.st__breadcrumbs {
	font-size: 13px;
	line-height: 1.5;
	color: #999999;
}

.st__breadcrumbs-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.st__breadcrumb-item {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.st__breadcrumb-item:not(:last-child)::after {
	content: "›";
	display: inline-block;
	margin: 0 6px;
	color: #b3b3b3;
}

.st__breadcrumb-item a {
	color: #999999;
	text-decoration: none;
	transition: color .18s ease;
}

.st__breadcrumb-item a:hover {
	color: #5e3fa6;
	text-decoration: none;
}

.st__breadcrumb-item.is-current {
	color: #777777;
}

.st__breadcrumb-item.is-current span {
	display: block;
	max-width: 520px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.st__breadcrumbs-inner {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.st__breadcrumbs {
		font-size: 12px;
		line-height: 1.4;
		overflow: hidden;
	}

	/*
	 * En móviles toda la ruta permanece en una sola línea.
	 * Los niveles anteriores conservan su ancho y el título
	 * actual utiliza el espacio restante con puntos suspensivos.
	 */
	.st__breadcrumbs-list {
		flex-wrap: nowrap;
		width: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	.st__breadcrumb-item:not(.is-current) {
		flex: 0 0 auto;
	}

	.st__breadcrumb-item.is-current {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
	}

	.st__breadcrumb-item.is-current span {
		display: block;
		width: 100%;
		max-width: none;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}


/**
 * ==========================================================
 * MENÚ CTA - v1.6.2
 * ==========================================================
 */
.st__cta-bar {
	width: 100%;
	background: var(--st-cta-background, #b574cc);
}

.st__cta-inner {
	padding-top: var(--st-cta-padding, 8px);
	padding-bottom: var(--st-cta-padding, 8px);
}

.st__cta-nav {
	width: 100%;
}

.st__cta-menu {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: var(--st-cta-gap, 8px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.st__cta-menu > li {
	position: relative;
	min-width: 0;
	margin: 0;
	padding: 0;
}

/*
 * Separadores del Menú CTA.
 * El centro del separador coincide exactamente con el centro del espacio
 * entre el botón actual y el siguiente, independientemente de su tamaño.
 */
.st__cta-has-separators .st__cta-menu > li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: calc(100% + (var(--st-cta-gap, 15px) / 2));
	top: 50%;
	background: var(--st-cta-separator-color, #fff);
	border-radius: 999px;
	pointer-events: none;
	z-index: 3;
}

/* Línea vertical. */
.st__cta-separator-line .st__cta-menu > li:not(:last-child)::after {
	width: var(--st-cta-separator-line-width, 2px);
	height: var(--st-cta-separator-line-height, 24px);
	transform: translate(-50%, -50%);
}

/* Punto circular. */
.st__cta-separator-dot .st__cta-menu > li:not(:last-child)::after {
	width: var(--st-cta-separator-dot-size, 6px);
	height: var(--st-cta-separator-dot-size, 6px);
	transform: translate(-50%, -50%);
}

.st__cta-menu > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 7px 18px;
	border: 1px solid var(--st-cta-button-border, #fff);
	border-radius: var(--st-cta-radius, 4px);
	background: var(--st-cta-item-color, var(--st-cta-button-background, #643f9b));
	color: var(--st-cta-button-text, #fff);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.st__cta-menu > li > a:hover,
.st__cta-menu > li.current-menu-item > a,
.st__cta-menu > li.current-menu-ancestor > a {
	background: var(--st-cta-item-hover, var(--st-cta-button-hover, #51317f));
	color: var(--st-cta-button-hover-text, #fff);
	text-decoration: none;
}

.st__cta-menu > li > a:hover {
	transform: translateY(-1px);
}

/* Escritorio: botones repartidos por igual. */
.st__cta-desktop-fit .st__cta-menu > li {
	flex: 1 1 0;
}

/* Escritorio: ancho según contenido y grupo centrado. */
.st__cta-desktop-auto .st__cta-menu > li {
	flex: 0 0 auto;
}

@media (max-width: 768px) {
	.st__cta-inner {
		padding-left: 0;
		padding-right: 0;
	}

	.st__cta-menu > li > a {
		min-height: 36px;
		padding: 7px 14px;
		font-size: 14px;
	}

	/* Móvil deslizable. */
	.st__cta-mobile-scroll .st__cta-nav {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-left: 12px;
		padding-right: 12px;
	}

	.st__cta-mobile-scroll .st__cta-nav::-webkit-scrollbar {
		display: none;
	}

	.st__cta-mobile-scroll .st__cta-menu {
		justify-content: flex-start;
		width: max-content;
		min-width: 100%;
		flex-wrap: nowrap;
	}

	.st__cta-mobile-scroll .st__cta-menu > li {
		flex: 0 0 auto;
	}

	/* Móvil adaptado: todos los botones se reparten el ancho. */
	.st__cta-mobile-fit .st__cta-menu {
		padding-left: 12px;
		padding-right: 12px;
	}

	.st__cta-mobile-fit .st__cta-menu > li {
		flex: 1 1 0;
	}

	.st__cta-mobile-fit .st__cta-menu > li > a {
		padding-left: 6px;
		padding-right: 6px;
		white-space: normal;
	}

	/* Móvil en varias filas. */
	.st__cta-mobile-wrap .st__cta-menu {
		flex-wrap: wrap;
		justify-content: center;
		padding-left: 12px;
		padding-right: 12px;
	}

	.st__cta-mobile-wrap .st__cta-menu > li {
		flex: 0 0 auto;
	}
}


/**
 * ==========================================================
 * MIGAS DE PAN CONFIGURABLES - v1.5.0
 * ==========================================================
 */
.st__breadcrumbs-bar {
	background: var(--st-breadcrumb-background, #fff);
}

.st__breadcrumb-item:not(:last-child)::after {
	color: var(--st-breadcrumb-separator, #b3b3b3);
}

.st__breadcrumb-item a {
	color: var(--st-breadcrumb-link-color, #999);
}

.st__breadcrumb-item.is-current {
	color: var(--st-breadcrumb-text-color, #777);
}


/**
 * ==========================================================
 * LISTADO DE ARTÍCULOS / ARCHIVOS
 * ==========================================================
 *
 * Configurable desde:
 * Opciones Tema Hijo → Listado de artículos.
 */

/*
 * El listado del child theme controla su propio grid. De este modo los controles
 * Lista / Portadas / Cuadrícula de Neve no pueden cambiar el ancho de las tarjetas.
 */
.archive-container .nv-index-posts .posts-wrapper,
.blog .nv-index-posts .posts-wrapper,
.search .nv-index-posts .posts-wrapper,
.category .nv-index-posts .posts-wrapper,
.tag .nv-index-posts .posts-wrapper,
.date .nv-index-posts .posts-wrapper,
.author .nv-index-posts .posts-wrapper {
	display: grid !important;
	grid-template-columns: repeat(var(--st-archive-columns-desktop, 1), minmax(0, 1fr)) !important;
	gap: 16px !important;
	width: 100% !important;
	max-width: none !important;
}

/* Neutraliza anchos/clases heredadas del diseño de tarjetas nativo de Neve. */
.nv-index-posts .posts-wrapper > article,
.nv-index-posts .posts-wrapper > .st__archive-card,
.nv-index-posts article.st__archive-card,
.nv-index-posts article.st__archive-card.layout-grid,
.nv-index-posts article.st__archive-card.layout-covers,
.nv-index-posts article.st__archive-card.layout-default {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
	flex-basis: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.nv-index-posts article.st__archive-card > .article-content-col,
.nv-index-posts article.st__archive-card > .article-content-col > .content {
	width: 100% !important;
	max-width: none !important;
}

.st__archive-card {
	position: relative;
	width: 100%;
	margin: 0 !important;
	padding: var(--st-archive-padding-top-desktop, 20px) var(--st-archive-padding-right-desktop, 20px) var(--st-archive-padding-bottom-desktop, 20px) calc(var(--st-archive-padding-left-desktop, 20px) + var(--st-archive-accent-offset, 0px));
	background: var(--st-card-background);
	border: 0 !important;
	border-radius: var(--st-card-radius);
	box-shadow: var(--st-card-shadow);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.st__archive-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	background: var(--st-category-color, #5e3fa6);
}


.st-use-category-accent { --st-archive-accent-offset: 5px; }
.st-no-category-accent { --st-archive-accent-offset: 0px; }


/* Modo neutro: sin franja lateral ni colores dinámicos por categoría. */
.st-no-category-accent::before {
	display: none;
}

.st-no-category-accent .st__archive-category,
.st-no-category-accent .st__archive-arrow {
	color: #5e3fa6;
}

.st__archive-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--st-card-shadow-hover);
}

.st__archive-main-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.st__archive-body {
	display: flex;
	align-items: stretch;
	gap: 20px;
	min-width: 0;
}

.st__archive-content-wrap {
	position: relative;
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.st-has-side-arrow .st__archive-content-wrap {
	padding-right: 42px;
}

.st__archive-category-row {
	margin-bottom: 7px;
	font-size: var(--st-archive-meta-size-desktop, 13px);
	line-height: 1.35;
	text-align: var(--st-archive-title-align-desktop, left);
}

.st__archive-thumbnail {
	flex: 0 0 var(--st-archive-image-width-desktop, 180px);
	width: var(--st-archive-image-width-desktop, 180px);
	border-radius: var(--st-archive-image-radius-desktop, 8px);
	overflow: hidden;
	background: #eee;
	height: var(--st-archive-image-height-desktop, auto);
	/* No estirar la miniatura a la altura de la tarjeta. Con altura 0,
	 * el aspect-ratio debe calcular la altura a partir del ancho. */
	align-self: flex-start;
}

.st-archive-ratio-16-9 .st__archive-thumbnail { aspect-ratio: 16 / 9; }
.st-archive-ratio-4-3 .st__archive-thumbnail { aspect-ratio: 4 / 3; }
.st-archive-ratio-square .st__archive-thumbnail { aspect-ratio: 1 / 1; }

.st-archive-ratio-original .st__archive-thumbnail {
	aspect-ratio: auto;
	align-self: flex-start;
}

.st__archive-image,
.st__archive-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
 * En relación original, una altura configurada debe seguir respetándose.
 * Cuando la variable de altura vale `auto`, el navegador conserva la
 * proporción natural de la imagen; con una altura fija usamos cover.
 */
.st-archive-ratio-original .st__archive-thumbnail img {
	object-fit: cover;
}

.st__archive-placeholder {
	width: 100%;
	height: 100%;
	min-height: 100px;
	background: #eee;
}

.st__archive-content {
	min-width: 0;
}

.st__archive-title {
	margin: 0 0 7px;
	font-size: var(--st-archive-title-size-desktop, 19px);
	font-weight: 700;
	line-height: 1.3;
	color: #161c42;
	text-align: var(--st-archive-title-align-desktop, left);
}

.st__archive-meta {
	display: flex;
	align-items: center;
	justify-content: var(--st-archive-meta-justify-desktop, flex-start);
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 10px;
	font-size: var(--st-archive-meta-size-desktop, 13px);
	line-height: 1.35;
	color: #777;
}

.st__archive-category {
	display: inline-block;
	color: var(--st-category-color, #5e3fa6);
	font-weight: 600;
}

.st__archive-author {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.st__archive-author-avatar,
.st__archive-author-image {
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
}

.st__archive-author-image {
	object-fit: cover;
}

.st__archive-author-name,
.st__archive-date,
.st__archive-comments {
	color: #777;
}

.st__archive-meta-separator {
	color: #aaa;
}

.st__archive-excerpt {
	max-width: 760px;
	font-size: var(--st-archive-excerpt-size-desktop, 14px);
	line-height: 1.55;
	color: #555;
	text-align: var(--st-archive-excerpt-align-desktop, left);
	display: block;
	overflow: visible;
}

.st__archive-read-more {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: max-content;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
	pointer-events: none;
}

.st-read-more-align-left .st__archive-read-more {
	margin-left: 0;
	margin-right: auto;
}

.st-read-more-align-center .st__archive-read-more {
	margin-left: auto;
	margin-right: auto;
}

.st-read-more-align-right .st__archive-read-more {
	margin-left: auto;
	margin-right: 0;
}

.st-read-more-align-justify .st__archive-read-more {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	text-align: center;
}

.st-read-more-text .st__archive-read-more {
	padding: 0;
	color: var(--st-archive-read-more-color, #5e3fa6);
}

.st-read-more-outline .st__archive-read-more {
	padding: 8px 12px;
	border: 1px solid var(--st-archive-read-more-color, #5e3fa6);
	border-radius: 4px;
	color: var(--st-archive-read-more-color, #5e3fa6);
	background: transparent;
}

.st-read-more-solid .st__archive-read-more {
	padding: 8px 12px;
	border: 1px solid var(--st-archive-read-more-color, #5e3fa6);
	border-radius: 4px;
	color: var(--st-archive-read-more-text-color, #fff);
	background: var(--st-archive-read-more-color, #5e3fa6);
}

.st-read-more-text:hover .st__archive-read-more {
	color: var(--st-archive-read-more-hover-color, #4d3289);
}

.st-read-more-outline:hover .st__archive-read-more {
	color: #fff;
	border-color: var(--st-archive-read-more-hover-color, #4d3289);
	background: var(--st-archive-read-more-hover-color, #4d3289);
}

.st-read-more-solid:hover .st__archive-read-more {
	border-color: var(--st-archive-read-more-hover-color, #4d3289);
	background: var(--st-archive-read-more-hover-color, #4d3289);
}

.st__archive-arrow {
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
	color: var(--st-category-color, #5e3fa6);
	font-size: var(--st-archive-side-arrow-size-desktop, 32px);
	font-weight: 300;
	line-height: 1;
	pointer-events: none;
}

.st-no-side-arrow .st__archive-arrow {
	display: none;
}

/* Diseño con imagen arriba. */
.st-archive-image-top .st__archive-body {
	flex-direction: column;
	gap: 0;
}

.st-archive-image-top .st__archive-thumbnail {
	flex: 0 0 auto;
	flex-basis: auto;
	width: 100%;
	max-width: 100%;
	height: var(--st-archive-image-height-desktop, auto);
	margin: 0;
	border-radius: var(--st-archive-image-radius-desktop, 8px);
	align-self: auto;
}


/* Imagen superior a sangre: el contenido conserva el padding de la tarjeta,
 * pero la imagen recupera ese espacio y llega hasta los bordes superior/laterales. */
.st-top-image-fullbleed.st-archive-image-top .st__archive-thumbnail {
	width: calc(100% + var(--st-archive-padding-right-desktop, 20px) + var(--st-archive-padding-left-desktop, 20px) + var(--st-archive-accent-offset, 0px));
	margin-top: calc(-1 * var(--st-archive-padding-top-desktop, 20px));
	margin-right: calc(-1 * var(--st-archive-padding-right-desktop, 20px));
	margin-left: calc(-1 * (var(--st-archive-padding-left-desktop, 20px) + var(--st-archive-accent-offset, 0px)));
	border-radius: var(--st-archive-image-radius-desktop, 8px);
	max-width: none;
}

.st-archive-image-top .st__archive-content-wrap {
	padding-top: 18px;
}

/* Cuando se oculta la imagen destacada, la tarjeta no reserva espacio para ella. */
.st-no-featured-image .st__archive-body {
	gap: 0;
}

.st-no-featured-image.st-archive-image-top .st__archive-content-wrap,
.st-no-featured-image.st-archive-mobile-image-top .st__archive-content-wrap,
.st-no-featured-image.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-content-wrap {
	padding-top: 0;
}

.st-archive-image-top.st-archive-ratio-original .st__archive-thumbnail {
	width: 100%;
}

/* Evita que estilos de los layouts grid/list de Neve deformen la tarjeta. */
.nv-index-posts .st__archive-card .article-content-col,
.nv-index-posts .st__archive-card .content,
.nv-index-posts .st__archive-card .non-grid-content {
	max-width: none;
}

@media (max-width: 960px) {
	.archive-container .nv-index-posts .posts-wrapper,
	.blog .nv-index-posts .posts-wrapper,
	.search .nv-index-posts .posts-wrapper,
	.category .nv-index-posts .posts-wrapper,
	.tag .nv-index-posts .posts-wrapper,
	.date .nv-index-posts .posts-wrapper,
	.author .nv-index-posts .posts-wrapper {
		grid-template-columns: repeat(var(--st-archive-columns-tablet, 1), minmax(0, 1fr)) !important;
	}

	.st__archive-card {
		padding: var(--st-archive-padding-top-tablet, 20px) var(--st-archive-padding-right-tablet, 20px) var(--st-archive-padding-bottom-tablet, 20px) calc(var(--st-archive-padding-left-tablet, 20px) + var(--st-archive-accent-offset, 0px));
	}


	/* Posición efectiva de imagen en Tablet. */
	.st-archive-tablet-image-top .st__archive-body {
		flex-direction: column;
		gap: 0;
	}

	.st-archive-tablet-image-top .st__archive-thumbnail {
		flex: 0 0 auto;
		flex-basis: auto;
		width: 100%;
		max-width: 100%;
		height: var(--st-archive-image-height-tablet, auto);
		margin: 0;
		border-radius: var(--st-archive-image-radius-tablet, 8px);
		align-self: auto;
	}

	.st-top-image-fullbleed.st-archive-tablet-image-top .st__archive-thumbnail {
		width: calc(100% + var(--st-archive-padding-right-tablet, 20px) + var(--st-archive-padding-left-tablet, 20px) + var(--st-archive-accent-offset, 0px));
		margin-top: calc(-1 * var(--st-archive-padding-top-tablet, 20px));
		margin-right: calc(-1 * var(--st-archive-padding-right-tablet, 20px));
		margin-left: calc(-1 * (var(--st-archive-padding-left-tablet, 20px) + var(--st-archive-accent-offset, 0px)));
		border-radius: var(--st-archive-image-radius-tablet, 8px);
		max-width: none;
	}

	.st-archive-tablet-image-top .st__archive-content-wrap {
		padding-top: 18px;
	}

	.st-has-side-arrow.st-archive-tablet-image-top .st__archive-content-wrap {
		padding-right: 42px;
	}

	.st-has-side-arrow.st-archive-tablet-image-top .st__archive-arrow {
		display: block !important;
		left: auto !important;
		right: 8px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
	}

	.st-archive-tablet-image-left .st__archive-body {
		flex-direction: row;
		gap: 16px;
	}

	.st-archive-tablet-image-left .st__archive-thumbnail {
		flex: 0 0 var(--st-archive-image-width-tablet, 140px);
		flex-basis: var(--st-archive-image-width-tablet, 140px);
		width: var(--st-archive-image-width-tablet, 140px);
		max-width: var(--st-archive-image-width-tablet, 140px);
		height: var(--st-archive-image-height-tablet, auto);
		margin: 0;
		border-radius: var(--st-archive-image-radius-tablet, 8px);
		align-self: flex-start;
	}

	.st-archive-tablet-image-left .st__archive-content-wrap {
		padding-top: 0;
	}

	.st-has-side-arrow.st-archive-tablet-image-left .st__archive-content-wrap {
		padding-right: 42px;
	}

	.st-has-side-arrow.st-archive-tablet-image-left .st__archive-arrow {
		display: block !important;
		left: auto !important;
		right: 8px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
	}

	.st-no-featured-image.st-archive-tablet-image-top .st__archive-content-wrap {
		padding-top: 0;
	}

	.st-top-image-fullbleed.st-archive-image-top .st__archive-thumbnail {
		width: calc(100% + var(--st-archive-padding-right-tablet, 20px) + var(--st-archive-padding-left-tablet, 20px) + var(--st-archive-accent-offset, 0px));
		margin-top: calc(-1 * var(--st-archive-padding-top-tablet, 20px));
		margin-right: calc(-1 * var(--st-archive-padding-right-tablet, 20px));
		margin-left: calc(-1 * (var(--st-archive-padding-left-tablet, 20px) + var(--st-archive-accent-offset, 0px)));
	}

	.st__archive-body {
		gap: 16px;
	}

	.st__archive-thumbnail {
		flex-basis: var(--st-archive-image-width-tablet, 140px);
		width: var(--st-archive-image-width-tablet, 140px);
		height: var(--st-archive-image-height-tablet, auto);
	}

	.st__archive-title {
		font-size: var(--st-archive-title-size-tablet, 17px);
		text-align: var(--st-archive-title-align-tablet, left);
	}

	.st__archive-meta,
	.st__archive-category-row {
		font-size: var(--st-archive-meta-size-tablet, 12px);
	}

	.st__archive-meta {
		justify-content: var(--st-archive-meta-justify-tablet, flex-start);
	}

	.st__archive-category-row {
		text-align: var(--st-archive-title-align-tablet, left);
	}

	.st__archive-excerpt {
		font-size: var(--st-archive-excerpt-size-tablet, 13px);
		text-align: var(--st-archive-excerpt-align-tablet, left);
	}

	.st-archive-image-top .st__archive-thumbnail {
		width: 100%;
		height: var(--st-archive-image-height-tablet, auto);
	}
}

@media (max-width: 768px) {
	.archive-container .nv-index-posts .posts-wrapper,
	.blog .nv-index-posts .posts-wrapper,
	.search .nv-index-posts .posts-wrapper,
	.category .nv-index-posts .posts-wrapper,
	.tag .nv-index-posts .posts-wrapper,
	.date .nv-index-posts .posts-wrapper,
	.author .nv-index-posts .posts-wrapper {
		grid-template-columns: repeat(var(--st-archive-columns-mobile, 1), minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	.st__archive-card {
		min-height: 0;
		padding: var(--st-archive-padding-top-mobile, 20px) var(--st-archive-padding-right-mobile, 20px) var(--st-archive-padding-bottom-mobile, 20px) calc(var(--st-archive-padding-left-mobile, 20px) + var(--st-archive-accent-offset, 0px));
	}



	.st__archive-body {
		gap: 13px;
	}

	/* Reserva espacio para la flecha solo cuando el layout móvil usa imagen a la izquierda. */
	.st-has-side-arrow.st-archive-mobile-image-left .st__archive-content-wrap,
	.st-has-side-arrow.st-archive-mobile-image-inherit.st-archive-image-left .st__archive-content-wrap {
		padding-right: 36px;
	}

	/* Con imagen arriba no se reserva espacio lateral para la flecha. */
	.st-archive-mobile-image-top .st__archive-content-wrap,
	.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-content-wrap {
		padding-right: 0 !important;
	}

	.st__archive-thumbnail {
		flex-basis: var(--st-archive-image-width-mobile, 92px);
		width: var(--st-archive-image-width-mobile, 92px);
		height: var(--st-archive-image-height-mobile, auto);
		border-radius: var(--st-archive-image-radius-mobile, 8px);
	}

	.st__archive-title {
		margin-bottom: 5px;
		font-size: var(--st-archive-title-size-mobile, 14px);
		line-height: 1.3;
		text-align: var(--st-archive-title-align-mobile, left);
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.st__archive-meta,
	.st__archive-category-row {
		font-size: var(--st-archive-meta-size-mobile, 11px);
	}

	.st__archive-category-row {
		margin-bottom: 5px;
		text-align: var(--st-archive-title-align-mobile, left);
	}

	.st__archive-meta {
		gap: 5px;
		margin-bottom: 7px;
		justify-content: var(--st-archive-meta-justify-mobile, flex-start);
	}

	.st__archive-author-avatar,
	.st__archive-author-image {
		width: 24px;
		height: 24px;
	}

	.st__archive-excerpt {
		font-size: var(--st-archive-excerpt-size-mobile, 12px);
		line-height: 1.45;
		text-align: var(--st-archive-excerpt-align-mobile, left);
		display: block;
		overflow: visible;
	}

	.st__archive-read-more {
		margin-top: 9px;
		font-size: 12px;
	}

	.st__archive-arrow {
		left: auto !important;
		right: 6px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		font-size: var(--st-archive-side-arrow-size-mobile, 24px);
	}

	/* Control independiente para mostrar/ocultar la flecha en móviles. */
	.st-mobile-side-arrow-disabled .st__archive-content-wrap {
		padding-right: 0 !important;
	}

	.st-mobile-side-arrow-disabled .st__archive-arrow {
		display: none !important;
	}

	.st-mobile-side-arrow-enabled .st__archive-content-wrap {
		padding-right: 36px !important;
	}

	.st-mobile-side-arrow-enabled .st__archive-arrow {
		display: block !important;
	}

	/* Móvil: heredar escritorio / izquierda / arriba. */

	.st-archive-mobile-image-left .st__archive-body {
		flex-direction: row;
		gap: 13px;
	}

	.st-archive-mobile-image-left .st__archive-thumbnail {
		width: var(--st-archive-image-width-mobile, 92px);
		flex-basis: var(--st-archive-image-width-mobile, 92px);
		height: var(--st-archive-image-height-mobile, auto);
		margin: 0;
		border-radius: var(--st-archive-image-radius-mobile, 8px);
		align-self: flex-start;
	}

	.st-archive-mobile-image-left .st__archive-content-wrap {
		padding-top: 0;
	}


	.st-archive-mobile-image-top .st__archive-body {
		flex-direction: column;
		gap: 0;
	}

	.st-archive-mobile-image-top .st__archive-thumbnail {
		flex: 0 0 auto;
		flex-basis: auto;
		width: 100%;
		height: var(--st-archive-image-height-mobile, auto);
		max-width: 100%;
		margin: 0;
		border-radius: var(--st-archive-image-radius-mobile, 8px);
		align-self: auto;
	}



	.st-top-image-fullbleed.st-archive-mobile-image-top .st__archive-thumbnail {
		width: calc(100% + var(--st-archive-padding-right-mobile, 20px) + var(--st-archive-padding-left-mobile, 20px) + var(--st-archive-accent-offset, 0px));
		margin-top: calc(-1 * var(--st-archive-padding-top-mobile, 20px));
		margin-right: calc(-1 * var(--st-archive-padding-right-mobile, 20px));
		margin-left: calc(-1 * (var(--st-archive-padding-left-mobile, 20px) + var(--st-archive-accent-offset, 0px)));
		border-radius: var(--st-archive-image-radius-mobile, 8px);
		max-width: none;
	}

	.st-archive-mobile-image-top .st__archive-content-wrap {
		padding-top: 14px;
	}

	/* Si se elige heredar, conserva el layout de escritorio. */

	.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-body {
		flex-direction: column;
		gap: 0;
	}

	.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-thumbnail {
		flex: 0 0 auto;
		flex-basis: auto;
		width: 100%;
		height: var(--st-archive-image-height-mobile, auto);
		margin: 0;
		border-radius: var(--st-archive-image-radius-mobile, 8px);
	}



	.st-top-image-fullbleed.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-thumbnail {
		width: calc(100% + var(--st-archive-padding-right-mobile, 20px) + var(--st-archive-padding-left-mobile, 20px) + var(--st-archive-accent-offset, 0px));
		margin-top: calc(-1 * var(--st-archive-padding-top-mobile, 20px));
		margin-right: calc(-1 * var(--st-archive-padding-right-mobile, 20px));
		margin-left: calc(-1 * (var(--st-archive-padding-left-mobile, 20px) + var(--st-archive-accent-offset, 0px)));
		border-radius: var(--st-archive-image-radius-mobile, 8px);
		max-width: none;
	}

	.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-content-wrap {
		padding-top: 14px;
	}
}

@media (max-width: 480px) {
	.st__archive-card {
		padding: var(--st-archive-padding-top-mobile, 20px) var(--st-archive-padding-right-mobile, 20px) var(--st-archive-padding-bottom-mobile, 20px) calc(var(--st-archive-padding-left-mobile, 20px) + var(--st-archive-accent-offset, 0px));
	}




	.st__archive-body,
	.st-archive-mobile-image-left .st__archive-body {
		gap: 11px;
	}

	.st-archive-mobile-image-top .st__archive-thumbnail,
	.st-archive-mobile-image-inherit.st-archive-image-top .st__archive-thumbnail {
		width: 100%;
		margin: 0;
	}


	.st-mobile-side-arrow-disabled .st__archive-arrow {
		display: none !important;
	}

	.st-mobile-side-arrow-enabled .st__archive-arrow {
		display: block !important;
	}
}


/* ==========================================================
 * ENTRADA INDIVIDUAL: diseño independiente de artículos relacionados
 * ========================================================== */
.st__related-archive-list {
	display: grid;
	grid-template-columns: repeat(var(--st-archive-columns-desktop, 1), minmax(0, 1fr));
	gap: 16px;
	width: 100%;
}
.st__related-archive-list > .st__archive-card {
	width: 100%;
	max-width: none;
	min-width: 0;
}
@media (max-width: 959px) {
	.st__related-archive-list {
		grid-template-columns: repeat(var(--st-archive-columns-tablet, 1), minmax(0, 1fr));
	}
}
@media (max-width: 575px) {
	.st__related-archive-list {
		grid-template-columns: repeat(var(--st-archive-columns-mobile, 1), minmax(0, 1fr));
	}
}


/* ==========================================================
 * v1.15.4 - Artículos relacionados: controles y flecha móvil
 * ========================================================== */
@media (max-width: 768px) {
	/* El estado móvil se controla además desde el contenedor de relacionados.
	 * Esto evita que una clase heredada de la tarjeta vuelva a mostrar la flecha. */
	.st__related-posts-archive-design.st-related-mobile-arrow-off .st__archive-arrow {
		display: none !important;
	}

	.st__related-posts-archive-design.st-related-mobile-arrow-off .st__archive-content-wrap {
		padding-right: 0 !important;
	}

	.st__related-posts-archive-design.st-related-mobile-arrow-on .st__archive-arrow {
		display: block !important;
		left: auto !important;
		right: 6px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
	}

	.st__related-posts-archive-design.st-related-mobile-arrow-on .st__archive-content-wrap {
		padding-right: 36px !important;
	}
}

/**
 * ==========================================================
 * NAVEGACIÓN DE ENTRADAS MULTIPÁGINA
 * ==========================================================
 * Reemplaza los enlaces numéricos generados por wp_link_pages
 * por un CTA claro para continuar leyendo.
 */
.st__multipage-nav {
	margin: 28px 0 8px;
	width: 100%;
}

.st__multipage-progress {
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
	color: #777;
}

.st__multipage-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 46px;
	padding: 10px 18px;
	border: 2px solid var(--st-multipage-bg, #08aa72);
	border-radius: 6px;
	background: var(--st-multipage-bg, #08aa72);
	color: var(--st-multipage-text, #ffffff);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.st__multipage-button:hover,
.st__multipage-button:focus-visible {
	background: var(--st-multipage-bg, #08aa72);
	border-color: var(--st-multipage-bg, #08aa72);
	color: var(--st-multipage-text, #ffffff);
	filter: brightness(.92);
	transform: translateY(-1px);
}

.st__multipage-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.st__multipage-button.is-last-page {
	background: var(--st-multipage-bg, #08aa72);
	border-color: var(--st-multipage-bg, #08aa72);
	color: var(--st-multipage-text, #ffffff);
}

.st__multipage-button.is-last-page:hover,
.st__multipage-button.is-last-page:focus-visible {
	background: var(--st-multipage-bg, #08aa72);
	border-color: var(--st-multipage-bg, #08aa72);
	color: var(--st-multipage-text, #ffffff);
	filter: brightness(.88);
}

.st__multipage-arrow {
	font-size: .95em;
	line-height: 1;
}

@media (max-width: 767px) {
	.st__multipage-nav {
		margin-top: 22px;
	}

	.st__multipage-button {
		min-height: 44px;
		font-size: 15px;
	}
}


/**
 * ==========================================================
 * CTA SECUNDARIO + CTA FLOTANTE DE ENTRADAS MULTIPÁGINA
 * ==========================================================
 */
.st__multipage-secondary {
	width: 100%;
	margin: 14px 0 18px;
}

.st__multipage-secondary .st__multipage-button {
	margin: 0;
}

.st__multipage-secondary-before-meta {
	margin: 14px 0 18px;
}

.st__multipage-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9998;
	padding: 14px 16px;
	border-top: 2px solid var(--st-multipage-bg, #08aa72);
	background: rgba(226, 247, 238, .97);
	box-shadow: 0 -4px 18px rgba(0, 0, 0, .08);
	backdrop-filter: blur(5px);
}

.st__multipage-sticky-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 46px;
	padding: 10px 18px;
	border: 2px solid var(--st-multipage-bg, #08aa72);
	border-radius: 6px;
	background: var(--st-multipage-bg, #08aa72);
	color: var(--st-multipage-text, #ffffff) !important;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.st__multipage-sticky-button:hover,
.st__multipage-sticky-button:focus-visible {
	background: var(--st-multipage-bg, #08aa72);
	border-color: var(--st-multipage-bg, #08aa72);
	color: var(--st-multipage-text, #ffffff) !important;
	filter: brightness(.88);
	transform: translateY(-1px);
}

.st__multipage-sticky-button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -5px;
}

.st__multipage-sticky-note {
	margin-top: 7px;
	color: #3f4b46;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
}

/* Evita que el CTA fijo cubra el final real del artículo. */
body.single-post:has(.st__multipage-sticky) {
	padding-bottom: 104px;
}

@media (max-width: 767px) {
	.st__multipage-secondary {
		margin: 12px 0 16px;
	}

	.st__multipage-sticky {
		padding: 10px 10px;
	}

	.st__multipage-sticky-button {
		min-height: 44px;
		font-size: 15px;
	}

	body.single-post:has(.st__multipage-sticky) {
		padding-bottom: 88px;
	}
}


/**
 * ==========================================================
 * TÍTULOS DE PÁGINAS Y ARCHIVOS
 * ==========================================================
 *
 * Mantiene el mismo lenguaje visual de la cabecera de una
 * entrada individual: fondo, radio y sombra de tarjeta.
 */
.page .nv-page-title-wrap,
.blog .nv-page-title-wrap,
.archive .nv-page-title-wrap,
.search .nv-page-title-wrap {
	background: var(--st-card-background);
	padding: 14px;
	border-radius: var(--st-card-radius);
	box-shadow: var(--st-card-shadow);
	margin-top: 20px;
	margin-bottom: 20px;
}

.page .nv-page-title-wrap .nv-page-title,
.blog .nv-page-title-wrap .nv-page-title,
.archive .nv-page-title-wrap .nv-page-title,
.search .nv-page-title-wrap .nv-page-title {
	margin: 0;
}

.page .nv-page-title-wrap h1,
.blog .nv-page-title-wrap h1,
.archive .nv-page-title-wrap h1,
.search .nv-page-title-wrap h1,
.page .nv-page-title-wrap .page-title,
.blog .nv-page-title-wrap .page-title,
.archive .nv-page-title-wrap .page-title,
.search .nv-page-title-wrap .page-title {
	margin: 0;
}


/**
 * ==========================================================
 * AJUSTE DE ESPACIADO EN ARCHIVOS
 * ==========================================================
 * Neve aplica margin-top: 60px directamente sobre
 * .nv-index-posts. Ese margen es el espacio grande que se
 * veía antes de la tarjeta del título en categorías/archivos.
 */
.archive .archive-container {
	padding-top: 0 !important;
}

.archive .nv-index-posts {
	margin-top: 20px !important;
}

.archive .nv-page-title-wrap {
	margin-top: 0;
}

@media (max-width: 767px) {
	.archive .nv-index-posts {
		margin-top: 16px !important;
	}
}


/**
 * ==========================================================
 * SIDEBAR / WIDGETS COMO TARJETAS
 * ==========================================================
 * Mantiene el mismo lenguaje visual del resto del tema hijo:
 * fondo, radio y sombra globales. Se limita a la barra lateral
 * de Neve para no alterar widgets del pie de página.
 */
.nv-sidebar-wrap {
	padding-top: 20px;
}

.nv-sidebar-wrap .widget {
	background: var(--st-card-background);
	padding: 20px;
	border-radius: var(--st-card-radius);
	box-shadow: var(--st-card-shadow);
	margin-bottom: 20px;
	overflow: hidden;
}

.nv-sidebar-wrap .widget:last-child {
	margin-bottom: 0;
}

/* Títulos de widgets clásicos y de bloques Gutenberg. */
.nv-sidebar-wrap .widget > .widget-title,
.nv-sidebar-wrap .widget > h2,
.nv-sidebar-wrap .widget > h3,
.nv-sidebar-wrap .widget .wp-block-heading,
.nv-sidebar-wrap .widget .wp-block-search__label {
	display: block;
	width: 100%;
	margin: 0 0 16px;
	padding: 0 0 10px;
	border-bottom: 2px solid rgba(94, 63, 166, 0.18);
	color: #5e3fa6;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

/* Busca mantener un aspecto compacto y coherente dentro de la tarjeta. */
.nv-sidebar-wrap .widget ul,
.nv-sidebar-wrap .widget ol {
	margin-top: 0;
	margin-bottom: 0;
}

.nv-sidebar-wrap .widget li {
	margin-top: 0;
	padding: 9px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.nv-sidebar-wrap .widget li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.nv-sidebar-wrap .widget li:first-child {
	padding-top: 0;
}

.nv-sidebar-wrap .widget a {
	text-decoration: none;
}

/* Buscador dentro de sidebar. */
.nv-sidebar-wrap .wp-block-search__inside-wrapper {
	gap: 8px;
}

.nv-sidebar-wrap .wp-block-search__input,
.nv-sidebar-wrap input[type="search"] {
	min-width: 0;
	border-radius: 5px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	background: #fff;
}

.nv-sidebar-wrap .wp-block-search__button,
.nv-sidebar-wrap .search-submit {
	border-radius: 5px;
}

@media (max-width: 959px) {
	.nv-sidebar-wrap {
		padding-top: 16px;
		padding-bottom: 20px;
	}

	.nv-sidebar-wrap .widget {
		padding: 16px;
		margin-bottom: 16px;
	}

	.nv-sidebar-wrap .widget > .widget-title,
	.nv-sidebar-wrap .widget > h2,
	.nv-sidebar-wrap .widget > h3,
	.nv-sidebar-wrap .widget .wp-block-heading,
	.nv-sidebar-wrap .widget .wp-block-search__label {
		font-size: 20px;
		margin-bottom: 14px;
	}
}


/**
 * ==========================================================
 * SIDEBAR / CORRECCIÓN DE SEPARACIÓN LATERAL
 * ==========================================================
 * Neve añade 45px de padding al sidebar derecho en escritorio.
 * Las tarjetas ya tienen su propio espaciado interno, por lo que
 * eliminamos ese desplazamiento extra para acercar el sidebar al
 * contenido principal.
 */
@media (min-width: 960px) {
	.neve-main .nv-sidebar-wrap.nv-right {
		padding-left: 0 !important;
	}

	.neve-main .nv-sidebar-wrap.nv-left {
		padding-right: 0 !important;
	}
}

/**
 * ==========================================================
 * PUBLICIDAD / GOOGLE ADSENSE
 * ==========================================================
 */
.st-ad-slot {
	width: 100%;
	margin: 30px 0;
	clear: both;
	text-align: center;
}


/* Bloque publicitario ubicado entre las migas de pan y la cabecera del artículo. */
.st-ad-header {
	margin-top: 20px;
	margin-bottom: 0;
}

.st-ad-header + .st__head-post {
	margin-top: 20px;
}

@media (max-width: 767px) {
	.st-ad-header {
		margin-top: 16px;
	}

	.st-ad-header + .st__head-post {
		margin-top: 16px;
	}
}

.st-ad-slot .adsbygoogle {
	width: 100%;
	min-width: 0;
}

/* Etiqueta opcional de anuncio: línea — texto — línea. */
.st-ad-label {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin: 0 0 10px;
	color: #777;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: none;
}

.st-ad-label__line {
	height: 1px;
	background: rgba(0, 0, 0, .16);
	flex: 1 1 auto;
	min-width: 20px;
}

.st-ad-label__text {
	flex: 0 0 auto;
	white-space: nowrap;
}


/* Línea inferior de cierre cuando se utiliza la etiqueta de anuncio. */
.st-ad-slot.st-ad-has-label::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	margin-top: 10px;
	background: rgba(0, 0, 0, .16);
}

.st-ad-placeholder {
	padding: 0;
	border: 0;
	background: transparent;
	color: #777;
	font-size: 12px;
	letter-spacing: .04em;
}

.st-ad-placeholder__content {
	min-height: 110px;
	padding: 24px 18px;
	border: 1px dashed rgba(0, 0, 0, 0.22);
	border-radius: var(--st-card-radius, 6px);
	background: rgba(255, 255, 255, 0.55);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.st-ad-placeholder__content > span {
	font-weight: 700;
	font-size: 13px;
	color: #555;
}

.st-ad-placeholder__content small {
	font-size: 11px;
	letter-spacing: 0;
}

.st-ad-archive-header {
	margin-bottom: 20px;
}

.st-ad-archive-before-first {
	grid-column: 1 / -1;
	margin: 0 0 18px;
}

.st-ad-archive-card {
	grid-column: 1 / -1;
	margin: 10px 0 18px;
}

.st-ad-archive-after-list {
	width: 100%;
	margin-top: 32px;
	margin-bottom: 20px;
}

@media (max-width: 767px) {
	.st-ad-archive-after-list {
		margin-top: 24px;
		margin-bottom: 16px;
	}
}

.st-ad-sidebar-card {
	padding: 18px;
	background: var(--st-card-background, #fff);
	border-radius: var(--st-card-radius, 6px);
	box-shadow: var(--st-card-shadow, 0 0 9px rgba(1, 1, 1, .10));
}

/* El anuncio superior comienza alineado con el primer widget/sidebar
 * y deja la misma separación vertical que existe entre tarjetas. */
.st-ad-sidebar-top {
	margin: 0 0 20px;
}

/* El anuncio inferior conserva separación respecto al último widget. */
.st-ad-sidebar-bottom {
	margin: 20px 0 0;
}

.st-ad-sidebar-card.st-ad-placeholder .st-ad-placeholder__content {
	min-height: 180px;
}

@media (max-width: 767px) {
	.st-ad-slot {
		margin: 22px 0;
	}

	.st-ad-placeholder__content {
		min-height: 90px;
		padding: 18px 14px;
	}

	.st-ad-label {
		gap: 6px;
		margin-bottom: 8px;
		font-size: 9px;
	}
}


/**
 * ==========================================================
 * METADATOS DE ENTRADA INDIVIDUAL
 * Fecha > tiempo de lectura > comentarios
 * ==========================================================
 */
.st__single-meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 12px;
	margin: 3px 0 0;
	color: #8a8f98;
	font-size: 13px;
	line-height: 1.35;
}

.st__single-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
}

.st__single-meta-icon {
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	color: currentColor;
}

@media (max-width: 576px) {
	.st__single-meta-row {
		gap: 10px 12px;
		font-size: 12px;
	}

	.st__single-meta-icon {
		width: 15px;
		height: 15px;
		flex-basis: 15px;
	}
}

/* v1.20.4: conserva avatar/nombre y coloca los nuevos metadatos en la segunda fila. */
.content-author .st__author-name {
	display: inline-block;
	text-decoration: none;
}
.content-author .st__author-name:hover {
	text-decoration: underline;
}
.content-author .st__author-info {
	min-width: 0;
}
