/*!
 * Prevención Bolivia — estilos base.
 * Todo el CSS del plugin está limitado al contenedor .pvd para no interferir con el tema ni con Elementor.
 * El selector .pvd:not(#pvd-x) eleva la especificidad lo suficiente para que los estilos del tema
 * (botones, enlaces, títulos) no alteren el diseño.
 */
@font-face {
	font-family: 'Bricolage Grotesque';
	src: url('../fonts/bricolage-grotesque.woff') format('woff');
	font-weight: 500 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Public Sans';
	src: url('../fonts/public-sans.woff') format('woff');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* Contenedor raíz (equivale al lienzo del diseño). */
.pvd:not(#pvd-x) {
	display: block;
	width: 100%;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	font-family: 'Public Sans', system-ui, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	text-align: left;
	color: #1F1F1F;
	background: #FFFFFF;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

/*
 * Opción "ancho completo": rompe el contenedor del tema cuando éste es más angosto que la pantalla.
 * !important porque los temas de bloques fuerzan márgenes y ancho máximo con !important en los
 * hijos de los contenedores con disposición "constrained". Solo afecta al propio contenedor .pvd.
 */
.pvd.pvd--bleed:not(#pvd-x) {
	width: auto !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/*
 * Neutraliza los estilos de autor del tema sobre los elementos HTML del diseño y vuelve a los
 * valores por defecto del navegador (como en el diseño original). Las reglas del diseño, que
 * siempre llevan una clase, y los estilos en línea siguen teniendo prioridad.
 * No se incluyen elementos SVG para no perder sus atributos de presentación.
 */
.pvd:not(#pvd-x) :where(h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, label, ul, ol, li, figure, figcaption, blockquote, table, th, td, mark, small, b, strong, em, hr, nav, article, aside, section, img, iframe, video, audio, time, address) {
	all: revert;
}
.pvd:not(#pvd-x) :where(a, button, input, select, textarea, label, mark, small, b, strong, em, time) {
	font-family: inherit;
}
.pvd:not(#pvd-x) :where(button, input, select, textarea) {
	font-size: inherit;
}

/* Texto alternativo cuando JavaScript no está disponible (también útil para buscadores). */
.pvd:not(#pvd-x) .pvd-fallback {
	max-width: 1360px;
	margin: 0 auto;
	padding: 48px clamp(20px, 7vw, 112px);
}
.pvd:not(#pvd-x) .pvd-fallback h1 { font: 800 40px/1.1 'Bricolage Grotesque', sans-serif; margin: 0 0 24px; }
.pvd:not(#pvd-x) .pvd-fallback ul { margin: 0; padding-left: 20px; line-height: 1.7; }

/* Reproductores reales dentro del modal de recursos (mismo marco que el diseño). */
.pvd:not(#pvd-x) .rm-frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: #1F1F1F;
	object-fit: contain;
}

/* Contenido enriquecido proveniente del editor de WordPress en las páginas individuales. */
.pvd:not(#pvd-x) .pvd-content > :first-child { margin-top: 0; }
.pvd:not(#pvd-x) .pvd-content img { max-width: 100%; height: auto; border-radius: 16px; }
.pvd:not(#pvd-x) .pvd-content a { color: #168FD0; }
.pvd:not(#pvd-x) .pvd-content ul,
.pvd:not(#pvd-x) .pvd-content ol { padding-left: 22px; }
.pvd:not(#pvd-x) .pvd-content h2 { font: 800 28px/1.2 'Bricolage Grotesque', sans-serif; margin: 32px 0 12px; }
.pvd:not(#pvd-x) .pvd-content h3 { font: 800 22px/1.25 'Bricolage Grotesque', sans-serif; margin: 28px 0 10px; }
.pvd:not(#pvd-x) .pvd-content blockquote { margin: 24px 0; padding: 4px 0 4px 20px; border-left: 4px solid #168FD0; font-size: 20px; color: #1F1F1F; }
.pvd:not(#pvd-x) .pvd-content figure { margin: 24px 0; }
.pvd:not(#pvd-x) .pvd-content .alignwide,
.pvd:not(#pvd-x) .pvd-content .alignfull { max-width: 100%; margin-left: 0; margin-right: 0; }
.pvd:not(#pvd-x) .sr-snip mark:empty{display:none}
