/**
 * Tipografía y ritmo compartidos del contenido editorial de claustros.
 * Aplica a páginas interiores (wp-admin) y paneles inline del hub.
 *
 * Tokens: Bitter (títulos) + Source Sans 3 (cuerpo) vía --font-* del tema.
 */

.jursoc-claustro-prose {
	--prose-color: #1e293b;
	--prose-muted: #64748b;
	--prose-border: #e2e8f0;
	--prose-link: var(--claustro-primary, var(--hub-primary-dark, #1a365d));
	--prose-link-hover: var(--claustro-dark, var(--hub-primary-dark, #0f2744));

	font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif);
	font-size: var(--jursoc-text-base, 1rem);
	font-weight: var(--jursoc-weight-regular, 400);
	line-height: var(--jursoc-leading-body, 1.55);
	color: var(--prose-color);
	overflow-wrap: anywhere;
	text-wrap: pretty;
}

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

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

.jursoc-claustro-prose p,
.jursoc-claustro-prose ul,
.jursoc-claustro-prose ol,
.jursoc-claustro-prose blockquote,
.jursoc-claustro-prose pre,
.jursoc-claustro-prose table,
.jursoc-claustro-prose figure,
.jursoc-claustro-prose .wp-block-group,
.jursoc-claustro-prose .wp-block-list {
	margin: 0 0 0.9rem;
}

.jursoc-claustro-prose h1,
.jursoc-claustro-prose h2,
.jursoc-claustro-prose h3,
.jursoc-claustro-prose h4,
.jursoc-claustro-prose h5,
.jursoc-claustro-prose h6 {
	font-family: var(--font-heading, "Bitter", Georgia, serif);
	font-weight: var(--jursoc-weight-bold, 700);
	line-height: var(--jursoc-leading-heading, 1.25);
	color: var(--prose-color);
	margin: 1.35rem 0 0.55rem;
	letter-spacing: 0;
}

.jursoc-claustro-prose h1 {
	font-size: var(--jursoc-text-3xl, 1.8125rem);
}

.jursoc-claustro-prose h2 {
	font-size: var(--jursoc-text-2xl, 1.5625rem);
}

.jursoc-claustro-prose h3 {
	font-size: var(--jursoc-text-xl, 1.4375rem);
}

.jursoc-claustro-prose h4,
.jursoc-claustro-prose h5,
.jursoc-claustro-prose h6 {
	font-size: var(--jursoc-text-lg, 1.125rem);
}

.jursoc-claustro-prose a {
	color: var(--prose-link);
	font-weight: var(--jursoc-weight-semibold, 600);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: from-font;
}

.jursoc-claustro-prose a:hover,
.jursoc-claustro-prose a:focus-visible {
	color: var(--prose-link-hover);
}

.jursoc-claustro-prose a:focus-visible {
	outline: 2px solid var(--prose-link);
	outline-offset: 2px;
}

.jursoc-claustro-prose ul,
.jursoc-claustro-prose ol {
	padding-left: 1.25rem;
}

.jursoc-claustro-prose li {
	margin: 0 0 0.35rem;
}

.jursoc-claustro-prose li:last-child {
	margin-bottom: 0;
}

.jursoc-claustro-prose strong,
.jursoc-claustro-prose b {
	font-weight: var(--jursoc-weight-bold, 700);
}

.jursoc-claustro-prose em,
.jursoc-claustro-prose i {
	font-style: italic;
}

.jursoc-claustro-prose img,
.jursoc-claustro-prose video,
.jursoc-claustro-prose iframe {
	max-width: 100%;
	height: auto;
}

.jursoc-claustro-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--jursoc-text-sm, 0.9375rem);
	line-height: 1.4;
}

.jursoc-claustro-prose th,
.jursoc-claustro-prose td {
	border: 1px solid var(--prose-border);
	padding: 0.5rem 0.65rem;
	text-align: left;
	vertical-align: top;
}

.jursoc-claustro-prose th {
	font-family: var(--font-heading, "Bitter", Georgia, serif);
	font-weight: var(--jursoc-weight-semibold, 600);
	background: #f8fafc;
}

.jursoc-claustro-prose blockquote {
	margin-left: 0;
	padding: 0.35rem 0 0.35rem 1rem;
	border-left: 3px solid var(--prose-link);
	color: var(--prose-muted);
	font-style: italic;
}

.jursoc-claustro-prose hr {
	border: 0;
	border-top: 1px solid var(--prose-border);
	margin: 1.25rem 0;
}

/* Puentes / CTA / índices generados por el import */
.jursoc-claustro-prose .jursoc-claustro-interior__bridge {
	padding: 1rem 1.15rem;
	border: 1px solid var(--prose-border);
	border-radius: 8px;
	background: #f8fafc;
	margin: 0 0 0.9rem;
}

.jursoc-claustro-prose .jursoc-claustro-interior__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 0.95rem;
	border-radius: 8px;
	background: var(--prose-link);
	color: #fff !important;
	font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif);
	font-size: var(--jursoc-text-sm, 0.9375rem);
	font-weight: var(--jursoc-weight-semibold, 600);
	line-height: 1.3;
	text-decoration: none !important;
}

.jursoc-claustro-prose .jursoc-claustro-interior__cta:hover,
.jursoc-claustro-prose .jursoc-claustro-interior__cta:focus-visible {
	background: var(--prose-link-hover);
	color: #fff !important;
}

.jursoc-claustro-prose .jursoc-claustro-interior__index {
	margin: 0.5rem 0 0;
	padding-left: 1.25rem;
}

.jursoc-claustro-prose .jursoc-claustro-interior__pdf {
	margin: 1rem 0 0;
}

.jursoc-claustro-prose .jursoc-claustro-interior__pdf iframe {
	width: 100%;
	min-height: 70vh;
	border: 1px solid var(--prose-border);
	border-radius: 6px;
	background: #fff;
}
