/**
 * Fase 2 y 3 · el artículo y la ficha de término, a sangre.
 *
 * El diseño da por hecho que <article class="pg articulo"> ocupa el ancho de
 * la ventana: .k-hero y .gl-carril son width:100% y los bloques de lectura
 * —.k-head, .k-col, .gl-afines, .k-fin— traen su propio max-width y su propio
 * gutter. En WordPress el padre es la envoltura de Salient, que limita
 * .container.main-content a 1425 px con 40 px de padding y deja la .row en
 * 1345.
 *
 * Salient hace esto mismo para las fichas de portfolio desde su portfolio.css
 * (body.single-portfolio .container-wrap …), pero no para las entradas ni para
 * el CPT glossary.
 *
 * Acotado a esas dos plantillas: ni el hub, ni las páginas, ni el resto del
 * sitio se tocan.
 */
body.single-post .container-wrap .container.main-content,
body.single-post .container-wrap .container.main-content > .row,
body.single-glossary .container-wrap .container.main-content,
body.single-glossary .container-wrap .container.main-content > .row {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

/**
 * El cuerpo de los artículos y de las fichas de término.
 *
 * fj-v2.css resetea los márgenes dentro de .pg y el diseño los devuelve por
 * sus clases —.k-p, .k-sub, .k-cap—. Los cuerpos vienen de WPBakery y no las
 * llevan, así que se quedaban con el reset: párrafos pegados, listas sin
 * viñeta y titulares con la tipografía de Salient.
 *
 * Los párrafos NO se tocan aquí: la clase .k-p se la pone la plantilla, y con
 * ella heredan de fj-v2.css los 16/26 y los 22 de separación. Esto es para
 * todo lo demás, con los mismos valores que el diseño usa en sus clases.
 *
 * Acotado a .ac-cuerpo, y solo cuando ese cuerpo NO trae ya la maqueta:
 * `:not(:has(.k-cap))`. Los cuerpos de Actualidad se sembraron con las clases
 * del diseño —k-cap, k-sub, k-voz, k-fig, k-res, k-dl— y ahí estas reglas
 * estorban: le añadían al h2 de cada capítulo 96 px de margen sobre los 152 de
 * padding que ya trae .k-cap, y le pisaban el ancho y el margen inferior.
 *
 * Quedan, por tanto, para lo que sigue viniendo del editor sin clases: hoy los
 * cuerpos de las fichas del glosario.
 */

/* El maquetador mete 21 px bajo cada fila y bajo cada bloque de texto, y eso
   se suma a los 22 del párrafo: el ritmo lo marca el texto, no la fila. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) .wpb_row,
body.single-post .ac-cuerpo:not(:has(.k-cap)) .wpb_content_element,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) .wpb_row,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) .wpb_content_element {
	margin-bottom: 0;
}

/* Los capítulos. En el artículo van a la izquierda: es lo que hace la regla
   .articulo:not(.termino) .k-cap h2 de fj-v2.css. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) h2,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) h2 {
	font-family: var(--serif);
	font-weight: 300;
	font-size: var(--fs-h2);
	line-height: 1.33;
	text-align: left;
	text-wrap: balance;
	color: var(--ink);
	margin: var(--sp-bloque) 0 clamp(24px, 2.6vw, 32px);
}

/* Los subtítulos, con los valores de .k-sub. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) h3,
body.single-post .ac-cuerpo:not(:has(.k-cap)) h4,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) h3,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) h4 {
	font-family: var(--serif);
	font-weight: 300;
	font-size: var(--fs-h3);
	line-height: 1.36;
	text-wrap: balance;
	color: var(--ink);
	margin: 36px 0 14px;
}

/* Las listas: el reset les quita la viñeta y la sangría. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) ul,
body.single-post .ac-cuerpo:not(:has(.k-cap)) ol,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) ul,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) ol {
	margin: 0 0 22px;
	padding-left: 1.15em;
}

body.single-post .ac-cuerpo:not(:has(.k-cap)) ul { list-style: disc; }
body.single-post .ac-cuerpo:not(:has(.k-cap)) ol { list-style: decimal; }
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) ul { list-style: disc; }
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) ol { list-style: decimal; }

body.single-post .ac-cuerpo:not(:has(.k-cap)) li,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) li {
	font-size: 16px;
	line-height: 26px;
	color: var(--cuerpo);
	margin-bottom: 8px;
}

/* Las citas dentro del cuerpo, en la voz del diseño. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) blockquote,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) blockquote {
	font-family: var(--serif);
	font-weight: 300;
	font-style: italic;
	font-size: clamp(1.125rem, 1.02rem + .4vw, 1.3125rem);
	line-height: 1.5;
	color: var(--ink);
	border: 0;
	margin: var(--sp-bloque) 0;
	padding: 0;
}

/* Los enlaces del texto: subrayado fino, no el color del tema. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) a,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
	text-decoration-color: color-mix(in srgb, currentColor 38%, transparent);
}

body.single-post .ac-cuerpo:not(:has(.k-cap)) a:hover,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) a:hover {
	text-decoration-color: currentColor;
}

/* Las imágenes sueltas del cuerpo, con el aire de un bloque. */
body.single-post .ac-cuerpo:not(:has(.k-cap)) img,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: var(--sp-bloque) auto;
}

body.single-post .ac-cuerpo:not(:has(.k-cap)) strong,
body.single-glossary .ac-cuerpo:not(:has(.k-cap)) strong {
	font-weight: 500;
}
