/*
Theme Name: Maestría en Finanzas Públicas
Template: generatepress
Description: Tema hijo de GeneratePress que reproduce el diseño del sitio anterior (Patti, esquema rojo).
Version: 1.0.5
Text Domain: mfp
*/

/*
 * Colores, fuentes y tamaños base se configuran en Apariencia > Personalizar (GeneratePress);
 * los valores por defecto están en functions.php. Acá solo va lo propio del sitio, siempre con
 * las variables de GeneratePress (--contrast, --contrast-2, --accent, --base, --base-2...)
 * para que un cambio de color en el Personalizador llegue a todos los componentes.
 */

body { overflow-x: hidden; background-color: var(--base-3); }
h1, h2, h3, h4, h5, h6 { margin-bottom: 15px; }
strong, b { font-weight: 700; }
.inside-article a { text-decoration: none; }
/* Sobre las bandas oscuras (imagen con velo) el texto y sus enlaces van en blanco */
.entry-content .wp-block-cover:not(.is-light) a { color: inherit; }
/* Títulos enlazados (listas de seminarios y jornadas): oscuros como el texto, el acento al pasar */
.entry-content :is(h1, h2, h3, h4) a { color: inherit; }
.entry-content :is(h1, h2, h3, h4) a:hover { color: var(--accent); }

/* ---- Cabecera ---- */
.site-header {
	box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .site-header { top: 32px; }
.inside-header { padding: 15px 20px; }
.site-logo img, .header-image { max-height: 50px; width: auto; }

.main-navigation .main-nav ul li a { line-height: 50px; padding: 0 7px; text-transform: uppercase; }
.main-navigation .main-nav ul ul li a {
	line-height: 20px;
	padding: 10px 16px;
	border-bottom: 1px solid var(--base-2);
}
.main-navigation ul ul { box-shadow: 0 4px 12px rgba(0, 0, 0, .1); width: 240px; }

@media (min-width: 769px) {
	/* Como en Patti: sin flechas en los ítems con submenú (se abren al pasar el mouse) y un
	   separador cuadrado gris entre ítems */
	.main-navigation .main-nav > ul > li > a .dropdown-menu-toggle { display: none; }
	.main-navigation .main-nav > ul > li { display: flex; align-items: center; }
	/* Redes arriba a la derecha, sobre el menú, como en Patti */
	.site-header { position: sticky; }
	.inside-header { position: relative; padding-top: 30px; }
	.main-navigation .mfp-redes { position: absolute; top: -22px; right: 7px; }
	.main-navigation .main-nav > ul > li:not(:last-child)::after {
		content: "";
		width: 5px;
		height: 5px;
		background: var(--base);
	}
}

/* ---- Contenido ---- */
.one-container .site-content { padding: 0 20px 40px; }
.one-container.page .site-content { padding-top: 0; }
.entry-content > *:first-child { margin-top: 0; }
/* Título de página (las que no traen cabecera propia, como Publicaciones): grande, a la izquierda y con línea abajo */
.page .entry-header { margin: 30px 0 30px; padding-bottom: 30px; border-bottom: 1px solid var(--base); }
.page .entry-header .entry-title { text-transform: uppercase; font-size: 40px; line-height: 48px; margin: 0; }
.single .entry-header .entry-title { text-transform: none; text-align: left; font-size: 24px; }

/* Bandas de ancho completo (filas con fondo de WPBakery) */
.entry-content .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}
.entry-content .wp-block-group.has-background { padding: 10px 20px 40px; margin-bottom: 0; }
/* Banda que solo tiene la imagen de cabecera (portada): sin relleno, la imagen pegada al menú */
.entry-content .wp-block-group.has-background:has(> .wp-block-group__inner-container > .wp-block-image.alignfull:only-child),
.entry-content .wp-block-group.has-background > .wp-block-group__inner-container:has(> .wp-block-image.alignfull:only-child) { padding: 0; }
.entry-content .wp-block-image.alignfull { margin-bottom: 0; }
/* Imágenes de cabecera: como en Patti, a lo sumo a su tamaño real (1920px) y centradas */
.entry-content .wp-block-image.alignfull img { display: block; width: 100%; max-width: max-content; margin: 0 auto; }
.entry-content .wp-block-group.alignfull > *,
.entry-content .wp-block-group.alignfull > .wp-block-group__inner-container { max-width: 1130px; margin-left: auto; margin-right: auto; }
/* Portada (antes Revolution Slider): foto de fondo con la placa de la Maestría encima */
.entry-content .wp-block-group.has-background:has(> .wp-block-group__inner-container > .mfp-portada:only-child),
.entry-content .wp-block-group.has-background > .wp-block-group__inner-container:has(> .mfp-portada:only-child) { padding: 0; }
.entry-content .wp-block-cover.alignfull.is-light.mfp-portada { min-height: 600px; padding: 60px 20px; }
.entry-content .mfp-portada .wp-block-image { margin: 0 auto; }
.entry-content .mfp-portada .wp-block-image img { max-width: 480px; width: 100%; box-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
/* Filas con imagen de fondo (Cover): bandas oscuras con texto claro */
.entry-content .wp-block-cover.alignfull { padding: 50px 20px; }
/* Cabeceras de sección (filas con imagen de fondo y solo el título, como "INSTITUCIONAL"): banda baja */
.entry-content .wp-block-cover.alignfull.is-light { min-height: 0; padding: 0 20px; }
.entry-content .wp-block-cover.is-light h2 { margin: 0; padding: 20px 0; font-size: 24px; line-height: 36px; text-transform: uppercase; }
.entry-content .wp-block-cover.alignfull > .wp-block-cover__inner-container { max-width: 1130px; margin-left: auto; margin-right: auto; }
/* Debajo de la cabecera de página, aire antes del contenido */
.entry-content > .wp-block-cover.alignfull.is-light:not(.mfp-portada) { margin-bottom: 40px; }
.entry-content .wp-block-cover:not(.is-light) { color: var(--base-3); }
.entry-content .wp-block-cover:not(.is-light) :is(h1, h2, h3, h4, h5, h6) { color: var(--base-3); }
/* GeneratePress les da 40px de relleno a todos los grupos */
.site-main .wp-block-group:not(.has-background) > .wp-block-group__inner-container { padding: 0; }
/* Anclas del menú (#Contacto): que la cabecera fija no tape el título */
.entry-content [id] { scroll-margin-top: 90px; }
.entry-content { scroll-behavior: smooth; }

/* Título de sección (dt-section-title de Patti) */
.mfp-titulo-seccion {
	text-align: center;
	text-transform: uppercase;
	font-size: 32px;
	line-height: 40px;
	margin: 10px 0 25px;
}
.mfp-titulo-seccion::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin: 12px auto 0;
	background: var(--accent);
}
.mfp-subtitulo-seccion { text-align: center; font-size: 17px; }

.wp-block-columns { gap: 30px; margin-bottom: 0; }
/* Separadores (vc_separator): línea gris fina */
.entry-content .wp-block-separator { border: 0; border-top: 1px solid var(--base); opacity: 1; margin: 20px 0; }
.wp-block-image { margin-bottom: 10px; }
.wp-block-image img { height: auto; }
.wp-block-gallery.has-nested-images { gap: 8px; }
/* Aviso (vc_message de WPBakery): caja celeste con ícono de información */
.entry-content .mfp-aviso {
	position: relative;
	margin: 0 0 30px;
	padding: 14px 20px 14px 52px;
	border: 1px solid #b3d7f0;
	border-radius: 3px;
	background: #dff0fc;
	color: #5e7f96;
	font-size: 13px;
}
.entry-content .mfp-aviso::before {
	content: "i";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #5e7f96;
	color: #dff0fc;
	font: 700 13px/20px Georgia, serif;
	text-align: center;
}
.entry-content .mfp-aviso p { margin: 0; }

/* Texto con fondo (opciones de diseño de WPBakery, como la presentación de cada serie) */
.entry-content .wp-block-group.mfp-caja { padding: 20px; margin-bottom: 25px; }
.entry-content .mfp-caja > .wp-block-group__inner-container { padding: 0; }
.entry-content .mfp-caja :last-child { margin-bottom: 0; }

/* Llamadas (vc_cta de WPBakery): título, texto y botón sobre fondo gris claro */
.entry-content .mfp-llamada { margin: 0 0 25px; padding: 20px 25px; background: var(--base-2); border: 1px solid var(--base); }
.entry-content .mfp-llamada h3 { margin-bottom: 10px; font-size: 20px; line-height: 28px; }
.entry-content .mfp-llamada p:last-child { margin-bottom: 0; }

/* Mapa del contacto (dt-google-map de Patti, ahora OpenStreetMap): barra "MAPA" que lo despliega */
.entry-content .mfp-mapa { margin: 0 calc(50% - 50vw); background: #111; color: var(--base-3); }
.entry-content .mfp-mapa summary {
	list-style: none;
	cursor: pointer;
	padding: 14px 20px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 16px;
}
.entry-content .mfp-mapa summary::-webkit-details-marker { display: none; }
.entry-content .mfp-mapa summary::after { content: "⌄"; margin-left: 10px; }
.entry-content .mfp-mapa[open] summary::after { content: "⌃"; }
.entry-content .mfp-mapa iframe { display: block; width: 100%; max-width: none; height: 400px; border: 0; filter: grayscale(60%); }
.entry-content .mfp-mapa a { display: block; padding: 6px 20px; text-align: right; font-size: 12px; color: var(--base-3); }
/* La fila del mapa no lleva relleno: la barra ocupa todo el ancho */
.entry-content .wp-block-group.has-background:has(.mfp-mapa),
.entry-content .wp-block-group.has-background > .wp-block-group__inner-container:has(.mfp-mapa) { padding: 0; }

/* Líneas de algunas páginas (el_class "border" con CSS propio de la página) */
.entry-content .wp-block-group.border > .wp-block-group__inner-container { padding-bottom: 10px; }

/* Testimonios (antes carrusel dt-testimonials de Patti): uno a la vez, rotan solos (js/testimonios.js) */
.mfp-testimonios { position: relative; margin: 10px auto 30px; max-width: 900px; text-align: center; }
.mfp-testimonio { margin: 0; }
.mfp-testimonios--activo .mfp-testimonio:not(.es-visible) { display: none; }
.mfp-testimonios--activo .mfp-testimonio.es-visible { animation: mfp-aparecer .6s ease; }
.mfp-testimonio__texto { border: 0; margin: 0 0 12px; padding: 0; font-size: 17px; line-height: 28px; font-style: normal; color: var(--contrast-2); }
.mfp-testimonio__texto p { margin-bottom: 10px; }
.mfp-testimonio figcaption { font-size: 13px; }
.mfp-testimonio__nombre { color: var(--accent); font-weight: 600; }
.mfp-testimonio__detalle:not(:empty)::before { content: ", "; }
.mfp-testimonio__detalle { font-weight: 600; color: var(--contrast); }
.mfp-testimonios__puntos { display: flex; justify-content: center; gap: 6px; margin-top: 16px; }
.mfp-testimonios__puntos button {
	width: 22px;
	height: 4px;
	padding: 0;
	border: 0;
	background: var(--base);
	cursor: pointer;
}
.mfp-testimonios__puntos button[aria-current="true"] { background: var(--contrast-3); }
@keyframes mfp-aparecer { from { opacity: 0; } to { opacity: 1; } }
/* Página propia de un testimonio */
.single-testimonials .mfp-testimonio { max-width: 800px; margin: 20px auto 40px; text-align: center; }

/* Novedades (dt-blog-grid de Patti, ahora bloque Query): imagen, título, fecha y resumen en 3 columnas */
.mfp-novedades .wp-block-post-template { gap: 30px; margin: 0 0 30px; }
.mfp-novedades .wp-block-post { padding-bottom: 20px; border-bottom: 1px solid var(--base); }
.mfp-novedades .wp-block-post-featured-image { margin-bottom: 15px; }
.mfp-novedades .wp-block-post-featured-image img { width: 100%; height: auto; }
.mfp-novedades .wp-block-post-title { font-size: 16px; line-height: 22px; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.mfp-novedades .wp-block-post-date { font-size: 11px; text-transform: uppercase; color: var(--contrast-3); margin-bottom: 10px; }
.mfp-novedades .wp-block-post-excerpt { font-size: 13px; line-height: 22px; }
.mfp-novedades .wp-block-post-excerpt__more-text { margin-top: 6px; }
.mfp-novedades .wp-block-query-pagination { justify-content: center; gap: 10px; }

/* Gráficos de torta (vc_round_chart de WPBakery) */
.entry-content .mfp-grafico { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 25px; max-width: 420px; margin: 0 0 40px; }
.entry-content .mfp-grafico figcaption { flex-basis: 100%; font-size: 12px; font-weight: 700; text-transform: uppercase; line-height: 18px; }
.mfp-grafico__torta { width: 170px; height: 170px; border-radius: 50%; flex-shrink: 0; }
.entry-content .mfp-grafico__leyenda { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.mfp-grafico__leyenda li { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.mfp-grafico__leyenda span { width: 14px; height: 14px; border-radius: 2px; flex-shrink: 0; }

/* Imágenes-botón de la portada (el_class "btnCubo"): en gris, color al pasar */
.entry-content .btnCubo img { transition: filter .3s; }

/* Redes en la cabecera */
.mfp-redes { display: flex; align-items: center; gap: 12px; margin-left: 14px; }
.mfp-redes a { color: var(--contrast-3); display: flex; }
.mfp-redes a:hover { color: var(--accent); }

/* Botones (vc_btn): los colores y la fuente vienen de Personalizar > Colores/Tipografía > Botones */
.entry-content .wp-block-button__link { border-radius: 3px; padding: 8px 14px; text-decoration: none; }
.entry-content .is-style-acento .wp-block-button__link { background: var(--accent); color: var(--base-3); }
.entry-content .is-style-acento .wp-block-button__link:hover { background: var(--contrast-2); }
.wp-block-buttons { margin-bottom: 10px; }

/* Acordeones (vc_tta_accordion / vc_toggle) */
.wp-block-details {
	border: 1px solid var(--base);
	background: var(--base-2);
	border-radius: 3px;
	margin-bottom: 10px;
}
.wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 8px 14px 8px 38px;
	position: relative;
	text-transform: uppercase;
	font-size: 14px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::before {
	content: "+";
	position: absolute;
	left: 16px;
	top: 6px;
	font-size: 18px;
	font-weight: 400;
}
.wp-block-details[open] summary::before { content: "−"; }
.wp-block-details[open] { background: var(--base-3); }
.wp-block-details > :not(summary) { padding: 0 20px; }

/* Tablas (tesis defendidas, plan de estudios) */
.entry-content table { border-collapse: collapse; width: 100%; font-size: 14px; }
.entry-content :is(td, th) { border: 1px solid var(--base); padding: 6px 10px; vertical-align: top; }

/* Íconos de Font Awesome usados en el contenido (<i class="fa fa-phone">): SVG propios, sin cargar la librería */
.entry-content .fa {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .35em;
	vertical-align: -0.125em;
	background-color: currentColor;
	-webkit-mask: var(--mfp-icono) center / contain no-repeat;
	mask: var(--mfp-icono) center / contain no-repeat;
}
.entry-content .fa-caret-right { --mfp-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l7 6-7 6z'/%3E%3C/svg%3E"); }
.entry-content .fa-map-marker { --mfp-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.entry-content .fa-phone { --mfp-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.entry-content .fa-instagram { --mfp-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM17.5 5.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E"); }
.entry-content .fa-chrome { --mfp-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm6.9 6h-3a15.6 15.6 0 0 0-1.4-3.6A8 8 0 0 1 18.9 8zM12 4a14 14 0 0 1 1.9 4h-3.8A14 14 0 0 1 12 4zM4.3 14a8.2 8.2 0 0 1 0-4h3.4a16.5 16.5 0 0 0 0 4H4.3zm.8 2h3a15.6 15.6 0 0 0 1.4 3.6A8 8 0 0 1 5.1 16zm3-8h-3a8 8 0 0 1 4.4-3.6A15.6 15.6 0 0 0 8.1 8zM12 20a14 14 0 0 1-1.9-4h3.8A14 14 0 0 1 12 20zm2.3-6H9.7a14.7 14.7 0 0 1 0-4h4.6a14.7 14.7 0 0 1 0 4zm.2 5.6a15.6 15.6 0 0 0 1.4-3.6h3a8 8 0 0 1-4.4 3.6zm1.8-5.6a16.5 16.5 0 0 0 0-4h3.4a8.2 8.2 0 0 1 0 4h-3.4z'/%3E%3C/svg%3E"); }
.entry-content :is(.fa-envelope-o, .fa-envelope) { --mfp-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5zm2 2v.4l7 4.6 7-4.6V7H5zm14 2.8-7 4.6-7-4.6V17h14V9.8z'/%3E%3C/svg%3E"); }

/* ---- Pie (colores en Personalizar > Colores > Pie) ---- */
.inside-site-info { padding: 25px 20px; }
.site-info { font-size: 11px; }

@media (max-width: 768px) {
	.mfp-titulo-seccion { font-size: 24px; line-height: 30px; }
	.entry-content .mfp-mapa iframe { height: 300px; }
	.mfp-redes { margin-left: 0; }
	.wp-block-column[style*="flex-basis"]:empty { display: none; }
}
