/*
Theme Name: Maestría en Economía
Template: generatepress
Description: Tema hijo de GeneratePress que reproduce el diseño del sitio anterior (Patti, esquema rojo).
Version: 1.0.1
Text Domain: maestria
*/

/*
 * 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; }
.entry-content h4 { font-weight: 600; font-size: 15px; }
strong, b { font-weight: 700; }
.inside-article a { text-decoration: none; }
/* Sobre bandas de color o imágenes el texto (y sus enlaces) lo define el bloque */
.entry-content .has-background a, .entry-content .wp-block-cover a { color: inherit; }

/* ---- 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 12px; 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; }

.maestria-redes { display: flex; align-items: center; gap: 12px; margin-left: 14px; }
.maestria-redes a { color: var(--contrast-3); display: flex; }
.maestria-redes a:hover { color: var(--accent); }

/* ---- Contenido ---- */
.one-container .site-content { padding: 0 20px 40px; }
.one-container.page .site-content { padding-top: 0; }
.entry-content > *:first-child { margin-top: 0; }
.entry-header .entry-title { text-transform: uppercase; text-align: center; margin: 30px 0 20px; }
.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; }
.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; }
/* Filas con imagen de fondo (Cover): bandas oscuras con texto claro */
.entry-content .wp-block-cover.alignfull { padding: 50px 20px; }
.entry-content .wp-block-cover.alignfull > .wp-block-cover__inner-container { max-width: 1130px; margin-left: auto; margin-right: auto; }
.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) */
.maestria-titulo-seccion {
	text-align: center;
	text-transform: uppercase;
	font-size: 32px;
	line-height: 40px;
	margin: 10px 0 25px;
}
.maestria-titulo-seccion::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin: 12px auto 0;
	background: var(--accent);
}
.maestria-subtitulo-seccion { text-align: center; font-size: 17px; }

.wp-block-columns { gap: 30px; margin-bottom: 0; }
.wp-block-image { margin-bottom: 10px; }
.wp-block-image img { height: auto; }
.wp-block-gallery.has-nested-images { gap: 8px; }
/* Columnas con borde a la izquierda (el_class "borderIzq") */
.maestria-borde-izq { border-left: 1px solid var(--base); padding-left: 20px; }

/* Novedades de la portada (interactive_banner de Ultimate VC Addons): imagen con el título en una
   franja oscura abajo; al pasar el mouse aparece la descripción sobre la imagen */
.maestria-banner { position: relative; overflow: hidden; margin-bottom: 30px; background: #242424; }
.site-main .maestria-banner > .wp-block-group__inner-container { padding: 0; }
/* Fondo blanco: hay imágenes PNG con transparencia (logos) */
.maestria-banner .wp-block-image { margin: 0; width: 100%; background: var(--base-3); }
.maestria-banner .wp-block-image img { display: block; width: 100%; height: 220px; object-fit: cover; transition: transform .4s ease; }
.maestria-banner:hover .wp-block-image img { transform: scale(1.04); }
.entry-content .maestria-banner__titulo {
	margin: 0;
	padding: 8px 12px;
	background: #242424;
	color: var(--base-3);
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	text-align: center;
}
.entry-content .maestria-banner__titulo a { color: var(--base-3); }
.entry-content .maestria-banner__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 2; } /* todo el banner es el enlace */
.entry-content .maestria-banner__texto {
	position: absolute;
	inset: 0 0 auto;
	height: 220px;
	margin: 0;
	padding: 20px;
	display: flex;
	align-items: center;
	background: rgba(36, 36, 36, .85);
	color: var(--base-3);
	font-size: 13px;
	line-height: 19px;
	opacity: 0;
	transition: opacity .3s ease;
}
.maestria-banner:is(:hover, :focus-within) .maestria-banner__texto { opacity: 1; }

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

/* Sección Contacto de la portada (el_class "contenedorContacto") */
.maestria-contacto { width: 100%; margin-bottom: 40px; text-align: center; }
.maestria-contacto .maestria-titulo-seccion { color: var(--base-3); }

/* 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(--maestria-icono) center / contain no-repeat;
	mask: var(--maestria-icono) center / contain no-repeat;
}
.entry-content .fa-map-marker { --maestria-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 { --maestria-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 :is(.fa-envelope-o, .fa-envelope) { --maestria-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 .copyright-bar { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.maestria-redes--pie a { border: 1px solid currentColor; padding: 4px; }

@media (max-width: 768px) {
	.maestria-titulo-seccion { font-size: 24px; line-height: 30px; }
	.maestria-redes { margin-left: 0; }
	.maestria-borde-izq { border-left: 0; padding-left: 0; }
	.wp-block-column[style*="flex-basis"]:empty { display: none; }
	.site-info .copyright-bar { flex-direction: column; gap: 12px; }
}
