/* Páginas de prosa (page.php): legales y páginas sin fichero propio. Texto largo editado en
   WordPress: columna de lectura de 65ch, cuerpo 18 px, índice «On this page» con 4+ apartados
   (arriba en móvil, columna fija a la izquierda en escritorio) y hoja de impresión.
   Solo variables de tokens.css; las migas vienen de plantillas.css. */

/* ---------- Aviso solo para quien edita (página de servicio sin su page-{slug}.php) ---------- */
.prosa-pagina__aviso-editor {
	margin-block: var(--sp-16) 0;
	padding: var(--sp-12) var(--sp-16);
	border: 1px solid var(--arg-signal);
	border-radius: var(--radius-md);
	background: var(--arg-surface-card);
	color: var(--arg-aviso-text);
	font-size: var(--fs-16);
}

/* ---------- Cabecera ---------- */
.prosa-pagina__cabecera {
	padding-block: var(--sp-16) var(--sp-32);
	border-bottom: 1px solid var(--arg-border);
}
.prosa-pagina__titulo {
	font-size: var(--fs-h1-2);
	line-height: 1.05;
	letter-spacing: var(--ls-heading);
	max-width: 18em;
}
.prosa-pagina__fecha {
	margin-top: var(--sp-16);
	color: var(--arg-text-weak);
}
.prosa-pagina__fecha time { color: var(--arg-text); }
@media (min-width: 1024px) {
	.prosa-pagina__cabecera { padding-block: var(--sp-32) var(--sp-48); }
}

/* ---------- Rejilla: índice + cuerpo ---------- */
.prosa-pagina__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--sp-48);
	padding-block: var(--sp-48) var(--sp-64);
}
@media (min-width: 1100px) {
	.prosa-pagina__rejilla { padding-block: var(--sp-64) var(--sp-96); }
	.prosa-pagina__rejilla--con-indice {
		grid-template-columns: 264px minmax(0, var(--measure));
		column-gap: var(--sp-96);
		align-items: start;
	}
}

/* ---------- Índice «On this page» ---------- */
.prosa-indice {
	background: var(--arg-surface-card);
	border: 1px solid var(--arg-border);
	border-radius: var(--radius-md);
	padding: var(--sp-16) var(--sp-16) var(--sp-8);
}
.prosa-indice__titulo { color: var(--arg-link); padding-inline: var(--sp-8); margin-bottom: var(--sp-4); }
.prosa-indice__lista { display: grid; grid-template-columns: minmax(0, 1fr); }
.prosa-indice__lista a {
	display: flex;
	align-items: center;
	min-height: var(--target);
	padding: var(--sp-8);
	border-radius: var(--radius-sm);
	color: var(--arg-text);
	font-size: var(--fs-16);
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.prosa-indice__lista a:hover { background: var(--arg-lime-tint); text-decoration: underline; }
@media (min-width: 600px) and (max-width: 1099px) {
	.prosa-indice__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-16); }
}
@media (min-width: 1100px) {
	.prosa-indice {
		position: sticky;
		top: 112px; /* bajo la cabecera fija */
		max-height: calc(100vh - 136px);
		overflow-y: auto;
		background: transparent;
		border: 0;
		border-left: 1px solid var(--arg-border);
		border-radius: 0;
		padding: 0 0 0 var(--sp-16);
	}
	.prosa-indice__lista a { color: var(--arg-text-weak); }
	.prosa-indice__lista a:hover { color: var(--arg-text); }
}

/* ---------- Cuerpo ---------- */
.prosa-pagina__cuerpo {
	font-size: var(--fs-18);
	line-height: 1.65;
	overflow-wrap: break-word;
	min-width: 0;
}
.prosa-pagina__cuerpo > p:first-child { font-size: var(--fs-20); line-height: 1.55; }
.prosa-pagina__cuerpo h2 {
	margin-top: var(--sp-64);
	font-size: var(--fs-28);
	line-height: var(--lh-sub);
	letter-spacing: -0.02em;
	scroll-margin-top: 112px;
}
.prosa-pagina__cuerpo h2:first-child { margin-top: 0; }
.prosa-pagina__cuerpo h3 {
	margin-top: var(--sp-32);
	font-size: var(--fs-20);
	line-height: 1.3;
	letter-spacing: -0.01em;
	scroll-margin-top: 112px;
}
.prosa-pagina__cuerpo h4 { margin-top: var(--sp-24); font-family: var(--arg-font-sans); font-size: var(--fs-18); font-weight: 600; }
.prosa-pagina__cuerpo h2 + *, .prosa-pagina__cuerpo h3 + *, .prosa-pagina__cuerpo h4 + * { margin-top: var(--sp-12); }
@media (min-width: 1024px) {
	.prosa-pagina__cuerpo h2 { font-size: var(--fs-35); }
	.prosa-pagina__cuerpo h3 { font-size: var(--fs-28); line-height: var(--lh-sub); }
}
.prosa-pagina__cuerpo strong { font-weight: 600; }
.prosa-pagina__cuerpo a { overflow-wrap: anywhere; }

.prosa-pagina__cuerpo ul, .prosa-pagina__cuerpo ol { padding-left: 1.4em; }
.prosa-pagina__cuerpo li + li { margin-top: var(--sp-8); }
.prosa-pagina__cuerpo li > ul, .prosa-pagina__cuerpo li > ol { margin-top: var(--sp-8); }
.prosa-pagina__cuerpo li::marker { color: var(--arg-leaf); }
.prosa-pagina__cuerpo ol li::marker { font-family: var(--arg-font-mono); font-size: var(--fs-16); }

.prosa-pagina__cuerpo blockquote {
	border-left: 3px solid var(--arg-lime);
	padding-left: var(--sp-16);
	color: var(--arg-text-weak);
}
.prosa-pagina__cuerpo hr { border: 0; border-top: 1px solid var(--arg-border); margin-block: var(--sp-48); }
.prosa-pagina__cuerpo code { font-family: var(--arg-font-mono); font-size: 0.9em; overflow-wrap: anywhere; }

/* Tablas: se desplazan dentro de su caja, nunca empujan la página. */
.prosa-pagina__cuerpo table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	font-size: var(--fs-16);
	line-height: 1.45;
	background: var(--arg-surface-card);
	border: 1px solid var(--arg-border);
	border-radius: var(--radius-md);
}
.prosa-pagina__cuerpo th, .prosa-pagina__cuerpo td {
	text-align: left;
	vertical-align: top;
	padding: var(--sp-12) var(--sp-16);
	border-bottom: 1px solid var(--arg-border);
	min-width: 8em;
}
.prosa-pagina__cuerpo tr:last-child td { border-bottom: 0; }
.prosa-pagina__cuerpo th { font-weight: 600; background: var(--arg-neutral-100); }

/* ---------- Cierre ---------- */
.prosa-pagina__cierre {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-16) var(--sp-32);
	padding-block: var(--sp-32) var(--sp-64);
	border-top: 1px solid var(--arg-border);
}
.prosa-pagina__lema {
	font-family: var(--arg-font-display);
	font-weight: 600;
	font-size: var(--fs-28);
	line-height: var(--lh-sub);
	letter-spacing: -0.02em;
}
@media (min-width: 1100px) {
	.prosa-pagina__cierre { padding-block: var(--sp-48) var(--sp-96); }
}

@media (prefers-reduced-motion: no-preference) {
	html:has(.prosa-indice) { scroll-behavior: smooth; }
}

/* ---------- Impresión: solo el documento, en negro, con las URL de los enlaces ---------- */
@media print {
	@page { margin: 18mm 16mm; }
	.saltar, .aviso-sitio, .cabecera, .pie, .pag-migas, .prosa-indice, .prosa-pagina__cierre { display: none !important; }
	html, body { background: #fff !important; color: #000 !important; overflow: visible !important; }
	body { font-size: 11pt; line-height: 1.5; }
	.contenedor { width: auto; margin: 0; }
	.prosa-pagina__cabecera { padding: 0 0 8pt; border-bottom: 1pt solid #000; }
	.prosa-pagina__titulo { font-size: 22pt; max-width: none; color: #000; }
	.prosa-pagina__fecha, .prosa-pagina__fecha time { color: #000; }
	.prosa-pagina__rejilla { display: block; padding: 12pt 0 0; }
	.prosa-pagina__cuerpo { max-width: none; font-size: 11pt; line-height: 1.5; color: #000; }
	.prosa-pagina__cuerpo > p:first-child { font-size: 12pt; }
	.prosa-pagina__cuerpo h2 { font-size: 15pt; margin-top: 18pt; break-after: avoid; }
	.prosa-pagina__cuerpo h3 { font-size: 12.5pt; margin-top: 12pt; break-after: avoid; }
	.prosa-pagina__cuerpo p, .prosa-pagina__cuerpo li { orphans: 3; widows: 3; }
	.prosa-pagina__cuerpo a { color: #000; text-decoration: underline; }
	.prosa-pagina__cuerpo a[href^="http"]::after,
	.prosa-pagina__cuerpo a[href^="/"]::after { content: " (" attr(href) ")"; font-size: 9pt; overflow-wrap: anywhere; }
	.prosa-pagina__cuerpo a[href^="#"]::after { content: none; }
	.prosa-pagina__cuerpo li::marker { color: #000; }
	.prosa-pagina__cuerpo table { display: table; border: 1pt solid #000; background: #fff; }
	.prosa-pagina__cuerpo th { background: #fff; }
	.prosa-pagina__cuerpo th, .prosa-pagina__cuerpo td { border-color: #000; }
	.prosa-pagina__cuerpo blockquote { color: #000; border-left-color: #000; }
}
