/*
Theme Name: Departamento de Economía
Template: generatepress
Description: Tema hijo de GeneratePress que reproduce el diseño del sitio anterior (Patti, esquema azul).
Version: 1.0.4
Text Domain: depeco
*/

/*
 * 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 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; }
/* 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 9px; 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; }
	.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; }
/* 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; }
.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) */
.depeco-titulo-seccion {
	text-align: center;
	text-transform: uppercase;
	font-size: 32px;
	line-height: 40px;
	margin: 10px 0 25px;
}
.depeco-titulo-seccion::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin: 12px auto 0;
	background: var(--accent);
}
.depeco-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 .depeco-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 .depeco-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 .depeco-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.depeco-caja { padding: 20px; margin-bottom: 25px; }
.entry-content .depeco-caja > .wp-block-group__inner-container { padding: 0; }
.entry-content .depeco-caja :last-child { margin-bottom: 0; }

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

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

/* Líneas azules 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; }

/* Listas de publicaciones ([depeco_publicaciones], antes dt-blog-grid de Patti): título y fecha */
.depeco-publicaciones { list-style: none; margin: 0 0 30px; padding: 0; }
.depeco-publicacion { padding: 4px 0; border-bottom: 1px solid var(--base); }
.depeco-publicacion a { display: block; font-size: 13px; font-weight: 700; line-height: 24px; color: var(--contrast); }
.depeco-publicacion a:hover { color: var(--accent); }
.depeco-publicacion__descarga { margin-top: 20px; }

/* 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(--depeco-icono) center / contain no-repeat;
	mask: var(--depeco-icono) center / contain no-repeat;
}
.entry-content .fa-caret-right { --depeco-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 { --depeco-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 { --depeco-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) { --depeco-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%; }
.depeco-redes { display: flex; gap: 8px; }
.depeco-redes a { display: flex; padding: 6px; border: 1px solid currentColor; color: var(--contrast-3); }
.depeco-redes a:hover { color: var(--accent); }

@media (max-width: 768px) {
	.depeco-titulo-seccion { font-size: 24px; line-height: 30px; }
	.entry-content .depeco-mapa iframe { height: 300px; }
	.site-info .copyright-bar { flex-direction: column; gap: 12px; }
	.wp-block-column[style*="flex-basis"]:empty { display: none; }
}
