/**
 * Impresión / “Guardar como PDF” desde el navegador.
 *
 * A4 + márgenes: conviven con Chrome headless ( --print-to-pdf ) y con Imprimir → Guardar como PDF.
 * Lo que NO puede el CSS: que el diálogo elija la impresora “PDF”, ni la escala (el usuario: “Más ajustes”).
 */

/*
 * Fuente embebida para PDF (Liberation Sans ≈ métricas Arial, SIL OFL).
 * En Linux Chrome no tiene Arial; al justificar, la “l” minúscula se comprime a 0 px.
 */
@font-face {
	font-family: "CGCE Print Sans";
	src: url("../fonts/LiberationSans-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "CGCE Print Sans";
	src: url("../fonts/LiberationSans-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "CGCE Print Sans";
	src: url("../fonts/LiberationSans-Italic.ttf") format("truetype");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "CGCE Print Sans";
	src: url("../fonts/LiberationSans-BoldItalic.ttf") format("truetype");
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

body.cgce-integridad-doc #brx-content,
body.cgce-integridad-doc #brx-content :where(
	p, span, li, td, th, a, strong, b, em, i,
	h1, h2, h3, h4, h5, h6,
	.brxe-text, .brxe-heading, .brxe-button
) {
	font-family: "CGCE Print Sans", Arial, "Helvetica Neue", sans-serif !important;
}

/*
 * Se mantiene text-align:justify de Bricks.
 * inter-word evita que Chrome justifique entre letras y “se coma” la l/i.
 */
body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text,
body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text p,
body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text span,
body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text li {
	text-justify: inter-word !important;
	font-kerning: none !important;
	font-variant-ligatures: none !important;
	text-rendering: geometricPrecision !important;
	letter-spacing: 0.01em !important;
}

/*
 * Portada (vista previa ?cgce_imprimir=1): replica Bricks template
 * (#brxe-dyeujf flex + justify-content:center; height 927px → altura de pantalla).
 */
@media screen {
	body.cgce-imprimir-mode.cgce-integridad-doc {
		--cgce-cover-height: max(927px, 100vh);
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-first-page,
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:first-of-type:has(> .brxe-section) {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: stretch !important;
		min-height: var(--cgce-cover-height) !important;
		height: var(--cgce-cover-height) !important;
		max-height: var(--cgce-cover-height) !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-rhfigo {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		flex: 1 1 auto !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-dyeujf {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		flex: 1 1 auto !important;
		background-size: cover !important;
		background-position: bottom left !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-dyeujf > .brxe-block {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		flex-shrink: 0 !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-vcoqkw {
		height: 40% !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-uwqivn {
		height: 30% !important;
	}

	/*
	 * Bricks simula “páginas” en pantalla con márgenes/alturas fijas (p. ej. #brxe-wyxukn
	 * margin-bottom: 800px). En vista previa no deben dejar huecos enormes entre secciones.
	 */
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(.cgce-print-first-page) .brxe-section,
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(:first-of-type):has(> .brxe-section) .brxe-section,
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(.cgce-print-first-page) > .brxe-section,
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(:first-of-type):has(> .brxe-section) > .brxe-section {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(.cgce-print-first-page) .brxe-container:not(#brxe-dyeujf),
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(:first-of-type):has(> .brxe-section) .brxe-container:not(#brxe-dyeujf) {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	/* Mensaje de la Gerencia: caja con borde (altura/márgenes de maquetación Bricks) */
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-fvpsro,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-tuompk,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-dnkfty,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-qxrtdl {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		box-sizing: border-box !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-fvpsro .brxe-container,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-fvpsro .brxe-block,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-tuompk .brxe-container,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-tuompk .brxe-block,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-dnkfty .brxe-container,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-dnkfty .brxe-block,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-qxrtdl .brxe-container,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-qxrtdl .brxe-block {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-klmttx {
		padding: 24px !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-jgsoja,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-qnvhst {
		padding: 20px !important;
	}

	/* Tipografía documento (vista previa) */
	body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text,
	body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text p,
	body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text li,
	body.cgce-imprimir-mode.cgce-integridad-doc .brxe-text span {
		font-size: 13px !important;
		line-height: 1.45 !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc h3.brxe-heading {
		font-size: 44px !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-zusych,
	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-bjzhry {
		font-size: 36px !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc h4.brxe-heading {
		font-size: 22px !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc #brxe-hyfano {
		font-size: 18px !important;
	}

	/* Certificación (vista previa): mismo centrado que en PDF */
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-cert-stamp,
	body.cgce-imprimir-mode.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-page.cgce-cert-stamp {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 186mm !important;
		min-height: max(927px, 100vh) !important;
		height: max(927px, 100vh) !important;
		max-height: max(927px, 100vh) !important;
		margin: 0 auto !important;
		padding: 10mm 12mm 24mm 12mm !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp > .brxe-container {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		align-content: center !important;
		width: 90% !important;
		max-width: 90% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: 100% !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-block {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: initial !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-image,
	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-block img {
		display: block !important;
		max-width: 170px !important;
		max-height: 170px !important;
		margin: 0 auto 0.65rem !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp #brxe-hyfano,
	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp #brxe-wijuyj,
	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp h3.brxe-heading {
		width: auto !important;
		max-width: 100% !important;
		margin: 0.25em auto 0.55em !important;
		padding: 10px !important;
		text-align: center !important;
		font-size: 20px !important;
		font-weight: 800 !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-text,
	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-text p {
		width: 100% !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
		text-align: justify !important;
		text-justify: inter-word !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-text ul,
	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-text li {
		font-size: 13px !important;
		line-height: 1.45 !important;
		text-align: left !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .brxe-text p + ul {
		margin-top: 1.45em !important;
	}

	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .cgce-auth-code-wrap,
	body.cgce-imprimir-mode.cgce-integridad-doc .cgce-cert-stamp .cgce-auth-code-line {
		width: 100% !important;
		margin: 1.1em 0 0 !important;
		text-align: center !important;
		font-size: 12px !important;
	}
}

@page {
	size: A4 portrait;
	margin: 14mm 12mm 16mm 12mm;
}

@media print {
	html {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	body,
	body.cgce-integridad-doc {
		--cgce-print-page-width: 186mm;
		--cgce-print-page-min-height: 267mm;
		background: #fff !important;
		color: #1a1a1a;
	}

	body.cgce-integridad-doc,
	body.cgce-integridad-doc #brx-content,
	body.cgce-integridad-doc #brx-content :where(
		p, span, li, td, th, a, strong, b, em, i,
		h1, h2, h3, h4, h5, h6,
		.brxe-text, .brxe-heading, .brxe-button
	) {
		font-family: "CGCE Print Sans", Arial, "Helvetica Neue", sans-serif !important;
	}

	body.cgce-integridad-doc .brxe-text,
	body.cgce-integridad-doc .brxe-text p,
	body.cgce-integridad-doc .brxe-text span,
	body.cgce-integridad-doc .brxe-text li {
		text-justify: inter-word !important;
		font-kerning: none !important;
		font-variant-ligatures: none !important;
		text-rendering: geometricPrecision !important;
		letter-spacing: 0.01em !important;
	}

	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	#brx-content,
	.brxe-post-content,
	.brxe-text,
	.brxe-section {
		max-width: 100% !important;
	}

	ol.cgce-valores-corporativos-list {
		margin: 0.35em 0 0.85em 1.35em;
		padding-left: 1.1em;
	}

	ol.cgce-valores-corporativos-list li {
		margin: 0.2em 0;
	}

	/*
	 * Template Bricks 346: el documento está dentro de una sección wrapper y cada
	 * hijo .brxe-container contiene una “página” visual. El JS agrega .cgce-print-page;
	 * :has() queda como fallback para Chrome/Edge/Safari al imprimir sin pasar por el botón.
	 */
	body.cgce-integridad-doc #brx-content > .brxe-section {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		background: transparent !important;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-empty,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-empty:has(> .brxe-section) {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		page-break-before: auto !important;
		page-break-after: auto !important;
		break-before: auto !important;
		break-after: auto !important;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-page,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:has(> .brxe-section) {
		display: block !important;
		position: relative !important;
		float: none !important;
		clear: both !important;
		width: 100% !important;
		max-width: var(--cgce-print-page-width) !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
		transform: none !important;
		page-break-before: always;
		break-before: page;
		page-break-after: auto;
		break-after: auto;
		page-break-inside: auto;
		break-inside: auto;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-page:not(.cgce-print-first-page),
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:has(> .brxe-section):not(:first-of-type) {
		page-break-before: always;
		break-before: page;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-first-page,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:first-of-type:has(> .brxe-section) {
		page-break-before: auto;
		break-before: auto;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-last-page,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:last-of-type:has(> .brxe-section) {
		page-break-after: auto;
		break-after: auto;
	}

	body.cgce-integridad-doc .cgce-print-page > .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:has(> .brxe-section) > .brxe-section {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
		transform: none !important;
	}

	/* Sin min-height A4 en secciones internas (evita huecos y páginas en blanco) */
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-first-page > .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:first-of-type:has(> .brxe-section) > .brxe-section,
	body.cgce-integridad-doc #brxe-rhfigo {
		min-height: 0 !important;
	}

	/*
	 * Bricks simula “páginas” en pantalla con margin-bottom (800px, 600px…) y height fija
	 * (1120px, 100vh). En PDF dejan hojas vacías con solo el borde lateral (#brxe-wyxukn).
	 */
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(.cgce-print-first-page) .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(:first-of-type):has(> .brxe-section) .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(.cgce-print-first-page) > .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(:first-of-type):has(> .brxe-section) > .brxe-section {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(.cgce-print-first-page) .brxe-container:not(#brxe-dyeujf),
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:not(:first-of-type):has(> .brxe-section) .brxe-container:not(#brxe-dyeujf) {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	body.cgce-integridad-doc .cgce-int-doc-borde {
		min-height: 0 !important;
		height: auto !important;
	}

	/*
	 * Mensaje de la Gerencia (y cajas con borde corporativo): Bricks fija height:1123px y
	 * margin-bottom:400px para pantalla; en PDF deja hojas vacías o huecos enormes.
	 */
	body.cgce-integridad-doc #brxe-fvpsro,
	body.cgce-integridad-doc #brxe-tuompk,
	body.cgce-integridad-doc #brxe-dnkfty,
	body.cgce-integridad-doc #brxe-qxrtdl {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		box-sizing: border-box !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	body.cgce-integridad-doc #brxe-fvpsro .brxe-container,
	body.cgce-integridad-doc #brxe-fvpsro .brxe-block,
	body.cgce-integridad-doc #brxe-tuompk .brxe-container,
	body.cgce-integridad-doc #brxe-tuompk .brxe-block,
	body.cgce-integridad-doc #brxe-dnkfty .brxe-container,
	body.cgce-integridad-doc #brxe-dnkfty .brxe-block,
	body.cgce-integridad-doc #brxe-qxrtdl .brxe-container,
	body.cgce-integridad-doc #brxe-qxrtdl .brxe-block {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	body.cgce-integridad-doc #brxe-klmttx {
		padding: 24px !important;
	}

	body.cgce-integridad-doc #brxe-jgsoja,
	body.cgce-integridad-doc #brxe-qnvhst {
		padding: 20px !important;
	}

	/* Tipografía documento al imprimir / PDF */
	body.cgce-integridad-doc .brxe-text,
	body.cgce-integridad-doc .brxe-text p,
	body.cgce-integridad-doc .brxe-text li,
	body.cgce-integridad-doc .brxe-text span {
		font-size: 13px !important;
		line-height: 1.45 !important;
	}

	body.cgce-integridad-doc h3.brxe-heading {
		font-size: 44px !important;
	}

	body.cgce-integridad-doc #brxe-zusych,
	body.cgce-integridad-doc #brxe-bjzhry {
		font-size: 36px !important;
	}

	body.cgce-integridad-doc h4.brxe-heading {
		font-size: 22px !important;
	}

	body.cgce-integridad-doc #brxe-hyfano {
		font-size: 18px !important;
	}

	/* Portada: no forzar salto después de la primera hoja */
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-first-page,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:first-of-type:has(> .brxe-section) {
		page-break-after: auto !important;
		break-after: auto !important;
	}

	img,
	svg,
	video,
	iframe,
	figure {
		max-width: 100% !important;
		height: auto !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/*
	 * Iconos en títulos / bloques (Bricks): en PDF a veces desaparecen por flex + svg con height:auto,
	 * fuentes de icono aún no resueltas o color no forzado en impresión.
	 */
	body.cgce-integridad-doc .brxe-heading.has-separator {
		display: inline-flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
	}

	body.cgce-integridad-doc .brxe-heading .separator {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
		border-color: currentColor !important;
	}

	body.cgce-integridad-doc .brxe-icon,
	body.cgce-integridad-doc .brxe-icon svg,
	body.cgce-integridad-doc .brxe-heading svg,
	body.cgce-integridad-doc h1 svg,
	body.cgce-integridad-doc h2 svg,
	body.cgce-integridad-doc h3 svg,
	body.cgce-integridad-doc h4 svg,
	body.cgce-integridad-doc h5 svg,
	body.cgce-integridad-doc h6 svg {
		display: inline-block !important;
		visibility: visible !important;
		opacity: 1 !important;
		overflow: visible !important;
		max-width: none !important;
		width: auto !important;
		height: auto !important;
		min-width: 0.75em !important;
		min-height: 0.75em !important;
		flex-shrink: 0 !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	body.cgce-integridad-doc .brxe-icon i,
	body.cgce-integridad-doc .brxe-heading i,
	body.cgce-integridad-doc h1 i,
	body.cgce-integridad-doc h2 i,
	body.cgce-integridad-doc h3 i,
	body.cgce-integridad-doc h4 i,
	body.cgce-integridad-doc h5 i,
	body.cgce-integridad-doc h6 i {
		display: inline-block !important;
		visibility: visible !important;
		opacity: 1 !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	/* Documento: slider Bricks / Splide → todas las secciones visibles (no solo la slide activa) */
	body.cgce-integridad-doc .brxe-slider,
	body.cgce-integridad-doc .splide,
	body.cgce-integridad-doc .brxe-slider-nested,
	body.cgce-integridad-doc .splide__track,
	body.cgce-integridad-doc .splide__track--ttb,
	body.cgce-integridad-doc .splide__track--ltr,
	body.cgce-integridad-doc .splide__viewport,
	body.cgce-integridad-doc .brxe-slider .splide__track {
		overflow: visible !important;
		height: auto !important;
		min-height: 0 !important;
	}

	body.cgce-integridad-doc .brxe-slider .splide__list,
	body.cgce-integridad-doc .splide__list,
	body.cgce-integridad-doc .brxe-slider-nested .splide__list {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		transform: none !important;
		translate: none !important;
		flex-direction: column !important;
		gap: 0 !important;
	}

	body.cgce-integridad-doc .brxe-slider .splide__slide,
	body.cgce-integridad-doc .splide__slide,
	body.cgce-integridad-doc .brxe-slider-nested .splide__slide {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 100% !important;
		margin: 0 0 1.25em !important;
		left: auto !important;
		right: auto !important;
		height: auto !important;
		min-height: 0 !important;
		transform: none !important;
		page-break-inside: auto;
		break-inside: auto;
	}

	body.cgce-integridad-doc .splide__arrows,
	body.cgce-integridad-doc .splide__pagination,
	body.cgce-integridad-doc .splide__progress {
		display: none !important;
	}

	/* Acordeones y pestañas: imprimir todo el texto */
	body.cgce-integridad-doc .brxe-accordion .accordion-content-wrapper,
	body.cgce-integridad-doc .brxe-accordion-nested .accordion-content-wrapper {
		display: block !important;
	}

	body.cgce-integridad-doc .brxe-tabs .tab-content .tab-pane,
	body.cgce-integridad-doc .brxe-tabs-nested .tab-pane {
		display: block !important;
	}

	/* Pie / cabecera tema */
	#wpadminbar,
	.brx-header-sticky,
	header.brx-header,
	footer#brx-footer,
	.brx-footer,
	footer[role='contentinfo'],
	.cgce-step-nav-host {
		display: none !important;
	}

	/* Botón del footer (PHP) + botones en Bricks */
	#cgce-programa-print-floating,
	#cgce-programa-print-floating *,
	.cgce-print-pdf,
	[data-cgce-print],
	.cgce-hide-when-print {
		display: none !important;
		visibility: hidden !important;
	}

	/* Evitar cortes feos en bloques cortos; permitir secciones largas entre páginas */
	p,
	.brxe-heading {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	li p {
		break-inside: auto;
		page-break-inside: auto;
	}

	h1, h2, h3, h4, h5, h6 {
		break-after: avoid;
		page-break-after: avoid;
	}

	h1, h2, h3 {
		margin-top: 0.15em;
		margin-bottom: 0.2em;
	}

	/*
	 * Huecos entre títulos en PDF (p. ej. págs. 8, 17–21): suelen venir de
	 * espaciadores/dividers, párrafos vacíos o doble margen entre .brxe-text con <p><strong>…</strong></p>.
	 */
	body.cgce-integridad-doc .brxe-spacer,
	body.cgce-integridad-doc .brxe-divider,
	body.cgce-integridad-doc hr {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}

	body.cgce-integridad-doc .brxe-text p:empty {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
	}

	/* Párrafos marcados por JS como “solo espacio / nbsp” al imprimir */
	body.cgce-integridad-doc .brxe-text p.cgce-print-skip-empty {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
	}

	body.cgce-integridad-doc .brxe-heading + .brxe-heading,
	body.cgce-integridad-doc .brxe-heading + .brxe-text,
	body.cgce-integridad-doc .brxe-text + .brxe-heading {
		margin-top: 0 !important;
	}

	body.cgce-integridad-doc .brxe-text p:first-child {
		margin-top: 0;
	}

	/* Dos títulos seguidos en el mismo .brxe-text (poco frecuente) */
	body.cgce-integridad-doc .brxe-text p:has(> strong:only-child) + p:has(> strong:only-child),
	body.cgce-integridad-doc .brxe-text p:has(> b:only-child) + p:has(> b:only-child) {
		margin-top: 0.1em !important;
	}

	body.cgce-integridad-doc .brxe-text p:has(> strong:only-child):has(+ p:has(> strong:only-child)),
	body.cgce-integridad-doc .brxe-text p:has(> b:only-child):has(+ p:has(> b:only-child)) {
		margin-bottom: 0.1em !important;
	}

	/* Título en un .brxe-text y el siguiente título en otro bloque (muy habitual en Bricks) */
	body.cgce-integridad-doc .brxe-text:has(> p:only-child > strong:only-child)
		+ .brxe-text:has(> p:only-child > strong:only-child),
	body.cgce-integridad-doc .brxe-text:has(> p:only-child > b:only-child)
		+ .brxe-text:has(> p:only-child > b:only-child) {
		margin-top: 0.1em !important;
	}

	body.cgce-integridad-doc .brxe-text:has(> p:only-child > strong:only-child):has(
			+ .brxe-text:has(> p:only-child > strong:only-child)
		),
	body.cgce-integridad-doc .brxe-text:has(> p:only-child > b:only-child):has(
			+ .brxe-text:has(> p:only-child > b:only-child)
		) {
		margin-bottom: 0.1em !important;
	}

	body.cgce-integridad-doc .cgce-print-page .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:has(> .brxe-section) > .brxe-section {
		gap: 0 !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
	}

	body.cgce-integridad-doc .brxe-heading,
	body.cgce-integridad-doc .brxe-block:has(> .brxe-text p:first-child > b:first-child),
	body.cgce-integridad-doc .brxe-block:has(> .brxe-text p:first-child > strong:first-child),
	body.cgce-integridad-doc .brxe-block:has(img.circulo) {
		page-break-after: avoid;
		break-after: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	body.cgce-integridad-doc .brxe-text p {
		orphans: 3;
		widows: 3;
	}

	a[href^='http']::after {
		content: '';
	}

	/*
	 * Portada — igual que plantilla Bricks (single-programa-integridad):
	 * #brxe-dyeujf: flex, justify-content:center, fondo cover, altura = hoja A4.
	 */
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-first-page,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:first-of-type:has(> .brxe-section) {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: stretch !important;
		height: var(--cgce-print-page-min-height) !important;
		min-height: var(--cgce-print-page-min-height) !important;
		max-height: var(--cgce-print-page-min-height) !important;
		padding: 0 !important;
		page-break-before: auto !important;
		break-before: auto !important;
		page-break-after: auto !important;
		break-after: auto !important;
		overflow: hidden !important;
	}

	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-first-page > .brxe-section,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container:first-of-type:has(> .brxe-section) > .brxe-section,
	body.cgce-integridad-doc #brxe-rhfigo {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		flex: 1 1 auto !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
	}

	body.cgce-integridad-doc #brxe-dyeujf {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		flex: 1 1 auto !important;
		background-size: cover !important;
		background-position: bottom left !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	body.cgce-integridad-doc #brxe-dyeujf > .brxe-block {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		flex-shrink: 0 !important;
		min-height: 0 !important;
	}

	body.cgce-integridad-doc #brxe-vcoqkw {
		height: 40% !important;
	}

	body.cgce-integridad-doc #brxe-uwqivn {
		height: 30% !important;
	}

	body.cgce-integridad-doc #brxe-dyeujf .brxe-image,
	body.cgce-integridad-doc #brxe-dyeujf img {
		height: auto !important;
		max-height: 100% !important;
		width: auto !important;
		max-width: min(300px, 80%) !important;
		object-fit: contain !important;
	}

	/*
	 * Página final CERTIFICACIÓN (sello / timbre). Bricks usa height:100vh + padding-top:200px
	 * y el CSS general fuerza display:block en .cgce-print-page, rompiendo el centrado flex.
	 */
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-cert-stamp,
	body.cgce-integridad-doc #brx-content > .brxe-section > .brxe-container.cgce-print-page.cgce-cert-stamp {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		max-width: var(--cgce-print-page-width) !important;
		height: var(--cgce-print-page-min-height) !important;
		min-height: var(--cgce-print-page-min-height) !important;
		max-height: var(--cgce-print-page-min-height) !important;
		margin: 0 auto !important;
		padding: 10mm 12mm 24mm 12mm !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		page-break-before: always !important;
		break-before: page !important;
		page-break-after: auto !important;
		break-after: auto !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		background-size: cover !important;
		background-position: center center !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp,
	body.cgce-integridad-doc .cgce-cert-stamp .brxe-container,
	body.cgce-integridad-doc .cgce-cert-stamp .brxe-block {
		align-items: center !important;
		align-content: center !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp > .brxe-container {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		align-content: center !important;
		width: 90% !important;
		max-width: 90% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: 100% !important;
		margin: 0 auto !important;
		padding: 0 !important;
		flex: 0 1 auto !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-block {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: initial !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-image,
	body.cgce-integridad-doc .cgce-cert-stamp .brxe-block img,
	body.cgce-integridad-doc .cgce-cert-stamp img {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: 170px !important;
		max-height: 170px !important;
		margin: 0 auto 0.65rem !important;
		object-fit: contain !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp #brxe-hyfano,
	body.cgce-integridad-doc .cgce-cert-stamp #brxe-wijuyj,
	body.cgce-integridad-doc .cgce-cert-stamp h3.brxe-heading {
		width: auto !important;
		max-width: 100% !important;
		margin: 0.25em auto 0.55em !important;
		padding: 10px !important;
		text-align: center !important;
		font-size: 20px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-text {
		width: 100% !important;
		max-width: 100% !important;
		text-align: justify !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-text p {
		font-size: 13px !important;
		line-height: 1.45 !important;
		text-align: justify !important;
		text-justify: inter-word !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-text p {
		margin: 0.35em 0 !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-text ul {
		display: block !important;
		width: 100% !important;
		margin: 1.45em 0 0 !important;
		padding-left: 1.2em !important;
		list-style-position: outside !important;
		text-align: left !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .brxe-text ul li {
		text-align: left !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .cgce-auth-code-wrap,
	body.cgce-integridad-doc .cgce-cert-stamp .cgce-auth-code-line {
		width: 100% !important;
		margin: 1.1em 0 0 !important;
		padding: 0 !important;
		text-align: center !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .cgce-auth-code-link {
		color: inherit !important;
		text-decoration: none !important;
	}

	body.cgce-integridad-doc .cgce-cert-stamp .cgce-auth-code-value {
		letter-spacing: 0.08em !important;
		font-weight: 700 !important;
	}
}

/* Vista previa embebida desde /autenticidad/: solo el documento, sin chrome del sitio. */
@media screen {
	body.cgce-auth-embed #brx-header,
	body.cgce-auth-embed header.brx-header,
	body.cgce-auth-embed .brx-header-sticky,
	body.cgce-auth-embed footer#brx-footer,
	body.cgce-auth-embed .brx-footer,
	body.cgce-auth-embed footer[role="contentinfo"],
	body.cgce-auth-embed #cgce-programa-print-floating,
	body.cgce-auth-embed .cgce-print-pdf,
	body.cgce-auth-embed [data-cgce-print],
	body.cgce-auth-embed .cgce-step-nav-host {
		display: none !important;
	}

	body.cgce-auth-embed {
		background: #fff !important;
	}
}
