/**
 * Simó Lorenzo Kit — Texto largo.
 *
 * Escala tipográfica propia, independiente de los títulos globales de la web:
 * H6 = tamaño del texto; cada nivel superior × la proporción (--slk-prose-ratio).
 * Las reglas usan la clase doble (.slk-prose.slk-prose) para ganar a los estilos de
 * título globales del kit de Elementor y del tema, que tienen la misma especificidad.
 */

.slk-prose {
	--slk-prose-size: 17px;
	--slk-prose-ratio: 1.2;
	--slk-prose-p-space: 1em;
	--slk-prose-h-above: 1.8em;
	--slk-prose-h-below: 0.5em;
	--slk-prose-heading-color: inherit;
	--slk-prose-link: currentColor;
	--slk-prose-rule: rgba(17, 27, 46, 0.15);
	--slk-prose-th-bg: rgba(17, 27, 46, 0.04);
	--slk-prose-marker: currentColor;

	/* Potencias de la proporción (r², r³...). */
	--slk-prose-r2: calc(var(--slk-prose-ratio) * var(--slk-prose-ratio));
	--slk-prose-r3: calc(var(--slk-prose-r2) * var(--slk-prose-ratio));
	--slk-prose-r4: calc(var(--slk-prose-r3) * var(--slk-prose-ratio));
	--slk-prose-r5: calc(var(--slk-prose-r4) * var(--slk-prose-ratio));

	max-width: 70ch;
	font-size: var(--slk-prose-size);
	line-height: 1.65;
	overflow-wrap: break-word;
}

/* --- Títulos --- */

.slk-prose.slk-prose :is(h1, h2, h3, h4, h5, h6) {
	margin: var(--slk-prose-h-above) 0 var(--slk-prose-h-below);
	padding: 0;
	color: var(--slk-prose-heading-color);
	line-height: 1.25;
	letter-spacing: normal;
	text-transform: none;
	text-wrap: balance;
}

.slk-prose.slk-prose h1 {
	font-size: calc(var(--slk-prose-size) * var(--slk-prose-r5));
}

.slk-prose.slk-prose h2 {
	font-size: calc(var(--slk-prose-size) * var(--slk-prose-r4));
}

.slk-prose.slk-prose h3 {
	font-size: calc(var(--slk-prose-size) * var(--slk-prose-r3));
}

.slk-prose.slk-prose h4 {
	font-size: calc(var(--slk-prose-size) * var(--slk-prose-r2));
}

.slk-prose.slk-prose h5 {
	font-size: calc(var(--slk-prose-size) * var(--slk-prose-ratio));
}

.slk-prose.slk-prose h6 {
	font-size: var(--slk-prose-size);
}

/* Dos títulos seguidos (p. ej. sección y subsección): menos aire entre ellos. */
.slk-prose.slk-prose :is(h1, h2, h3, h4, h5, h6) + :is(h1, h2, h3, h4, h5, h6) {
	margin-top: 0.6em;
}

/* --- Bloques --- */

.slk-prose.slk-prose :is(p, ul, ol, dl, table, blockquote, pre, figure) {
	margin: 0 0 var(--slk-prose-p-space);
}

.slk-prose.slk-prose > :first-child {
	margin-top: 0;
}

.slk-prose.slk-prose > :last-child {
	margin-bottom: 0;
}

/* --- Listas --- */

.slk-prose.slk-prose :is(ul, ol) {
	padding-left: 1.4em;
}

.slk-prose.slk-prose li {
	margin: 0.35em 0;
}

.slk-prose.slk-prose li::marker {
	color: var(--slk-prose-marker);
}

.slk-prose.slk-prose li > :is(ul, ol) {
	margin: 0.35em 0 0;
}

/* --- Enlaces --- */

.slk-prose.slk-prose a {
	color: var(--slk-prose-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	/* Correos y URLs largas no desbordan en móvil. */
	overflow-wrap: anywhere;
	transition: color 0.2s ease;
}

.slk-prose.slk-prose a:hover,
.slk-prose.slk-prose a:focus-visible {
	color: var(--slk-prose-link-hover, var(--slk-prose-link));
	text-decoration-thickness: 2px;
}

/* --- Tablas --- */

.slk-prose.slk-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94em;
}

.slk-prose.slk-prose :is(th, td) {
	padding: 0.6em 0.8em;
	border: 1px solid var(--slk-prose-rule);
	text-align: left;
	vertical-align: top;
}

.slk-prose.slk-prose th {
	background: var(--slk-prose-th-bg);
	font-weight: 600;
}

/* --- Otros --- */

.slk-prose.slk-prose hr {
	height: 0;
	margin: 2em 0;
	border: 0;
	border-top: 1px solid var(--slk-prose-rule);
}

.slk-prose.slk-prose blockquote {
	margin-left: 0;
	padding: 0.2em 0 0.2em 1em;
	border-left: 3px solid var(--slk-prose-rule);
}

.slk-prose.slk-prose :is(code, pre) {
	font-size: 0.9em;
	overflow-wrap: anywhere;
}

.slk-prose.slk-prose pre {
	overflow-x: auto;
	white-space: pre-wrap;
}

.slk-prose.slk-prose img {
	max-width: 100%;
	height: auto;
}

/* --- Editor: aviso cuando aún no hay texto --- */

.slk-prose--empty {
	padding: 16px;
	border: 1px dashed rgba(17, 27, 46, 0.35);
	border-radius: 8px;
	font-size: 14px;
	color: rgba(17, 27, 46, 0.7);
}
