/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child – Universidad Hispano Guaraní
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 4.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ===================================================================
   VARIABLES GLOBALES — Paleta institucional UHG
   =================================================================== */
:root {
	--uhg-blue:       #1E2C46;
	--uhg-blue-dark:  #001848;
	--uhg-blue-mid:   #162d6c;
	--uhg-blue-light: #2457b3;
	--uhg-blue-soft:  #edf3ff;

	--uhg-gold:       #FFB800;
	--uhg-gold-dark:  #e6a200;
	--uhg-gold-light: #FFDE59;

	--uhg-text:       #1e293b;
	--uhg-text-light: #64748b;
	--uhg-white:      #ffffff;
	--uhg-grey:       #F9F9F9;

	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 30px;
	--transition: 0.3s ease;
}

/* ===================================================================
   RESET COLORS — Eliminar TODOS los colores teal/verde de Urayana
   =================================================================== */

/* Teal/verde backgrounds → azul institucional */
[style*="background-color: rgb(110, 193, 228)"],
[style*="background-color:#6EC1E4"],
[style*="background-color: #6EC1E4"] {
	background-color: var(--uhg-blue) !important;
}
[style*="background-color: rgb(97, 206, 112)"],
[style*="background-color:#61CE70"],
[style*="background-color: #61CE70"] {
	background-color: var(--uhg-gold) !important;
}

/* ===================================================================
   HEADER
   =================================================================== */
.site-header,
.elementor-template-type-header {
	background: #ffffff !important;
	border-bottom: 1px solid #e8ecf0;
	box-shadow: 0 2px 12px rgba(30,44,70,0.07);
}

/* Íconos sociales en header */
.elementor-element-69541b7 .elementor-social-icon {
	background-color: transparent !important;
	border: 1.5px solid var(--uhg-blue) !important;
	border-radius: 50% !important;
	color: var(--uhg-blue) !important;
	transition: var(--transition) !important;
}
.elementor-element-69541b7 .elementor-social-icon i,
.elementor-element-69541b7 .elementor-social-icon svg { color: var(--uhg-blue) !important; fill: var(--uhg-blue) !important; }
.elementor-element-69541b7 .elementor-social-icon:hover {
	background-color: var(--uhg-blue) !important;
	border-color: var(--uhg-blue) !important;
}
.elementor-element-69541b7 .elementor-social-icon:hover i,
.elementor-element-69541b7 .elementor-social-icon:hover svg { color: #fff !important; fill: #fff !important; }

/* Contacto header: Ubicación, Teléfono, Email */
.elementor-element-1dbda13 .elementor-icon-box-title,
.elementor-element-3950d00 .elementor-icon-box-title,
.elementor-element-71ebe9e .elementor-icon-box-title {
	color: var(--uhg-blue) !important;
}
.elementor-element-1dbda13 .elementor-icon-box-description,
.elementor-element-3950d00 .elementor-icon-box-description,
.elementor-element-71ebe9e .elementor-icon-box-description {
	color: #555 !important;
}
.elementor-element-1dbda13 .elementor-icon,
.elementor-element-3950d00 .elementor-icon,
.elementor-element-71ebe9e .elementor-icon {
	color: var(--uhg-gold) !important;
	fill: var(--uhg-gold) !important;
}
.elementor-element-1dbda13 .elementor-icon i,
.elementor-element-3950d00 .elementor-icon i,
.elementor-element-71ebe9e .elementor-icon i {
	color: var(--uhg-gold) !important;
}

/* MENÚ DE NAVEGACIÓN */
.elementor-nav-menu--main .elementor-item {
	color: var(--uhg-blue) !important;
	font-weight: 500 !important;
}
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--uhg-blue-mid) !important;
}
/* Dropdown */
.elementor-nav-menu--dropdown {
	border-top: 3px solid var(--uhg-gold) !important;
	border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
	box-shadow: 0 8px 24px rgba(30,44,70,0.12) !important;
}
.elementor-nav-menu--dropdown a {
	color: var(--uhg-blue) !important;
	background: #fff !important;
}
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a.elementor-item-active {
	background-color: var(--uhg-blue) !important;
	color: #fff !important;
}

/* Botones header: formatos distintos (principal vs secundario) */
.elementor-93 .elementor-element-cac0834 .elementor-button {
	background: linear-gradient(135deg, var(--uhg-blue) 0%, var(--uhg-blue-mid) 100%) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important; /* tipo pill */
	font-weight: 800 !important;
	letter-spacing: 0.4px !important;
	padding: 12px 22px !important;
	min-height: 42px;
	box-shadow: 0 8px 18px rgba(22, 45, 108, 0.22);
	transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.elementor-93 .elementor-element-cac0834 .elementor-button:hover,
.elementor-93 .elementor-element-cac0834 .elementor-button:focus-visible {
	background: linear-gradient(135deg, var(--uhg-blue-mid) 0%, #2a5fc4 100%) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 12px 22px rgba(22, 45, 108, 0.28);
}

/* PORTAL: outline premium más recto (distinto formato) */
.elementor-93 .elementor-element-aeeb48c .elementor-button {
	background: rgba(255, 255, 255, 0.98) !important;
	color: var(--uhg-blue) !important;
	border: 2px solid rgba(30, 44, 70, 0.95) !important;
	border-radius: 10px !important;
	font-weight: 800 !important;
	letter-spacing: 0.35px !important;
	padding: 12px 20px !important;
	min-height: 42px;
	box-shadow: inset 0 -2px 0 rgba(255, 184, 0, 0.20);
	transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease !important;
}

.elementor-93 .elementor-element-aeeb48c .elementor-button:hover,
.elementor-93 .elementor-element-aeeb48c .elementor-button:focus-visible {
	background: #fff8df !important;
	color: var(--uhg-blue-dark) !important;
	border-color: var(--uhg-gold-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(255, 184, 0, 0.16), inset 0 -2px 0 rgba(255, 184, 0, 0.42);
}

/* ===================================================================
   SECCIÓN HERO (portada)
   =================================================================== */
/* "Bienvenidos" heading */
.elementor-element-1f4373dc .elementor-heading-title {
	color: var(--uhg-gold-light) !important;
}
/* Titular animado */
.elementor-element-1576418 .elementor-headline-plain-text,
.elementor-element-1576418 span,
.elementor-element-1576418 .elementor-headline-text-wrapper {
	color: #ffffff !important;
}
/* Párrafo hero */
.elementor-element-8a51919 p,
.elementor-element-8a51919 .elementor-widget-text-editor {
	color: rgba(255,255,255,0.90) !important;
}
/* Botón CONOCENOS */
.elementor-element-2051d2d .elementor-button {
	background: linear-gradient(135deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%) !important;
	color: var(--uhg-blue-dark) !important;
	border-radius: var(--radius-lg) !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
	letter-spacing: 1.5px !important;
	padding: 18px 44px !important;
	box-shadow: 0 8px 28px rgba(255,184,0,0.50) !important;
	border: none !important;
	transition: var(--transition) !important;
}
.elementor-element-2051d2d .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 36px rgba(255,184,0,0.65) !important;
}

/* ===================================================================
   SECCIÓN "LOGRA TUS OBJETIVOS" — Fondo institucional
   =================================================================== */

/* Fondo de la sección: se fuerza azul institucional */
.elementor-element-16a5b89f,
.elementor-element-16a5b89f > .elementor-widget-wrap,
.elementor-element-16a5b89f:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--uhg-blue) !important;
}

/* "uhg" label → oro */
.elementor-element-139d3ea0 .elementor-heading-title {
	color: var(--uhg-gold-light) !important;
	font-size: 0.9rem !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
}

/* Título "Logra tus Objetivos" → blanco */
.elementor-element-1b3be14d .elementor-heading-title {
	color: #ffffff !important;
}

/* Frase institucional sobre fondo azul oscuro (home) */
.elementor-50 .elementor-element.elementor-element-7b9e19f9 .elementor-heading-title {
	color: #eef4ff !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
	line-height: 1.2 !important;
}

/* Párrafo descripción → blanco legible */
.elementor-element-79585335,
.elementor-element-79585335 p,
.elementor-element-79585335 .elementor-widget-text-editor,
.elementor-element-79585335 * {
	color: rgba(255,255,255,0.88) !important;
}

/* Botón VER PROGRAMAS → dorado espectacular */
.elementor-element-56270f94 .elementor-button {
	background: linear-gradient(135deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%) !important;
	color: var(--uhg-blue-dark) !important;
	border-radius: var(--radius-lg) !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	box-shadow: 0 6px 20px rgba(255,184,0,0.40) !important;
	border: none !important;
	transition: var(--transition) !important;
}
.elementor-element-56270f94 .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(255,184,0,0.55) !important;
}

/* ===================================================================
   TARJETAS: Guía Académica, Biblioteca, Catálogo, CICCO
   =================================================================== */

/* Columna derecha que contiene las 4 tarjetas */
.elementor-element-1810ab96 {
	background-color: var(--uhg-blue) !important;
}

/* Las 4 tarjetas — azul institucional uniforme */
.elementor-element-c7b7d96,
.elementor-element-6cb7123,
.elementor-element-30df3593,
.elementor-element-1278e36b,
.elementor-element-df41dde {
	background: linear-gradient(135deg, var(--uhg-blue) 0%, var(--uhg-blue-mid) 100%) !important;
	border-radius: var(--radius-md) !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	transition: var(--transition) !important;
}
.elementor-element-c7b7d96:hover,
.elementor-element-6cb7123:hover,
.elementor-element-30df3593:hover,
.elementor-element-1278e36b:hover,
.elementor-element-df41dde:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0,0,0,0.25) !important;
	border-color: var(--uhg-gold) !important;
}

/* Texto e iconos dentro de tarjetas → blanco */
.elementor-element-c7b7d96 *,
.elementor-element-6cb7123 *,
.elementor-element-30df3593 *,
.elementor-element-1278e36b *,
.elementor-element-df41dde * {
	color: #ffffff !important;
	fill: #ffffff !important;
}
.elementor-element-c7b7d96 i,
.elementor-element-6cb7123 i,
.elementor-element-30df3593 i,
.elementor-element-1278e36b i,
.elementor-element-df41dde i {
	color: #ffffff !important;
}

/* ===================================================================
   SECCIÓN "ACERCA DE LA UNIVERSIDAD" / "NUESTRA UNIVERSIDAD"
   =================================================================== */
.elementor-element-1511f08a .elementor-heading-title {
	color: var(--uhg-blue) !important;
}

/* Botón VER MÁS */
.elementor-element-18c00567 .elementor-button {
	background: linear-gradient(135deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%) !important;
	color: var(--uhg-blue-dark) !important;
	border-radius: var(--radius-lg) !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	box-shadow: 0 6px 20px rgba(255,184,0,0.35) !important;
	border: none !important;
	transition: var(--transition) !important;
}
.elementor-element-18c00567 .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(255,184,0,0.50) !important;
}

/* ===================================================================
   SECCIONES CON FONDO GLOBAL "PRIMARY" — Forzar azul institucional
   =================================================================== */

/* Todos los elementos que usan primary para fondo deben ser azul */
.elementor-element-9c98545,
.elementor-element-389a907,
.elementor-element-aa46886,
.elementor-element-1722cefa,
.elementor-element-e10f92f,
.elementor-element-7fafcdb,
.elementor-element-7a40db6 {
	background-color: var(--uhg-blue) !important;
}
.elementor-element-9c98545 *,
.elementor-element-389a907 *,
.elementor-element-aa46886 *,
.elementor-element-1722cefa *,
.elementor-element-e10f92f *,
.elementor-element-7fafcdb *,
.elementor-element-7a40db6 * {
	color: #ffffff !important;
}

/* Botones que usan primary para fondo → azul institucional con borde dorado */
.elementor-element-e10f92f .elementor-button {
	background: var(--uhg-blue) !important;
	color: var(--uhg-gold-light) !important;
	border: 2px solid var(--uhg-gold) !important;
	border-radius: var(--radius-md) !important;
}

/* ===================================================================
   SECCIONES CON FONDO SECONDARY (dorado) — Ajustar contraste texto
   =================================================================== */
.elementor-element-80408e0,
.elementor-element-4528355,
.elementor-element-dab02cc {
	background-color: var(--uhg-gold-light) !important;
}
.elementor-element-80408e0 .elementor-heading-title,
.elementor-element-4528355 .elementor-heading-title,
.elementor-element-dab02cc .elementor-heading-title {
	color: var(--uhg-blue-dark) !important;
}
.elementor-element-80408e0 p,
.elementor-element-4528355 p,
.elementor-element-dab02cc p {
	color: var(--uhg-blue) !important;
}

/* ===================================================================
   BOTONES GLOBALES — Dorado para todos los CTA
   =================================================================== */
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-xl {
	border-radius: var(--radius-md) !important;
	transition: var(--transition) !important;
}

/* Botones con fondo accent → dorado */
a.elementor-button[style*="background-color"],
.elementor-widget-button .elementor-button {
	transition: var(--transition) !important;
}

/* ===================================================================
   ÍCONOS EN SECCIONES (flechas circulares, íconos de programas, etc.)
   =================================================================== */

/* Círculos/íconos que usan accent o secondary → dorado */
.elementor-icon-wrapper i,
.elementor-icon i {
	transition: var(--transition) !important;
}

/* Íconos de Misión/Visión/Valores */
.elementor-element-7fafcdb .elementor-icon,
.elementor-element-7a40db6 .elementor-icon,
.elementor-element-7fafcdb .elementor-icon i,
.elementor-element-7a40db6 .elementor-icon i {
	color: var(--uhg-gold) !important;
	fill: var(--uhg-gold) !important;
}

/* Botones de navegación circular (flechas) */
.swiper-button-prev,
.swiper-button-next,
.elementor-swiper-button {
	background-color: var(--uhg-blue) !important;
	color: var(--uhg-gold) !important;
	border: 2px solid var(--uhg-gold) !important;
	border-radius: 50% !important;
	transition: var(--transition) !important;
}
.swiper-button-prev:hover,
.swiper-button-next:hover,
.elementor-swiper-button:hover {
	background-color: var(--uhg-gold) !important;
	color: var(--uhg-blue) !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
	color: inherit !important;
	font-size: 1rem !important;
}

/* ===================================================================
   HOME - PROGRAMAS (contraste y orden visual)
   =================================================================== */
/* Encabezados de la seccion */
.elementor-50 .elementor-element.elementor-element-76d1c762 .elementor-heading-title {
	color: var(--uhg-gold-dark) !important;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	font-weight: 700 !important;
}
.elementor-50 .elementor-element.elementor-element-30df6b55 .elementor-heading-title {
	color: var(--uhg-blue) !important;
	line-height: 1.1 !important;
}
.elementor-50 .elementor-element.elementor-element-663e1400,
.elementor-50 .elementor-element.elementor-element-663e1400 p {
	color: #415269 !important;
}

/* Tarjetas amarillas */
.elementor-50 .elementor-element.elementor-element-80408e0,
.elementor-50 .elementor-element.elementor-element-4528355,
.elementor-50 .elementor-element.elementor-element-dab02cc {
	border-radius: 14px !important;
	box-shadow: 0 8px 22px rgba(30, 44, 70, 0.08);
	overflow: hidden;
}

.elementor-50 .elementor-element.elementor-element-80408e0 .elementor-icon-box-title,
.elementor-50 .elementor-element.elementor-element-4528355 .elementor-icon-box-title,
.elementor-50 .elementor-element.elementor-element-dab02cc .elementor-icon-box-title,
.elementor-50 .elementor-element.elementor-element-80408e0 .elementor-icon-box-title a,
.elementor-50 .elementor-element.elementor-element-4528355 .elementor-icon-box-title a,
.elementor-50 .elementor-element.elementor-element-dab02cc .elementor-icon-box-title a {
	color: var(--uhg-blue) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
}

.elementor-50 .elementor-element.elementor-element-80408e0 .elementor-icon-box-description,
.elementor-50 .elementor-element.elementor-element-4528355 .elementor-icon-box-description,
.elementor-50 .elementor-element.elementor-element-dab02cc .elementor-icon-box-description {
	color: #1f2f48 !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

.elementor-50 .elementor-element.elementor-element-80408e0 .elementor-icon,
.elementor-50 .elementor-element.elementor-element-4528355 .elementor-icon,
.elementor-50 .elementor-element.elementor-element-dab02cc .elementor-icon,
.elementor-50 .elementor-element.elementor-element-80408e0 .elementor-icon svg,
.elementor-50 .elementor-element.elementor-element-4528355 .elementor-icon svg,
.elementor-50 .elementor-element.elementor-element-dab02cc .elementor-icon svg {
	color: var(--uhg-blue) !important;
	fill: var(--uhg-blue) !important;
}

/* Flechas de enlace de cada tarjeta */
.elementor-50 .elementor-element.elementor-element-9c98545 .elementor-icon,
.elementor-50 .elementor-element.elementor-element-389a907 .elementor-icon,
.elementor-50 .elementor-element.elementor-element-aa46886 .elementor-icon {
	background: var(--uhg-blue) !important;
	border: 2px solid var(--uhg-gold) !important;
	color: #fff !important;
	fill: #fff !important;
	box-shadow: 0 8px 18px rgba(30, 44, 70, 0.18);
}

.elementor-50 .elementor-element.elementor-element-9c98545 .elementor-icon:hover,
.elementor-50 .elementor-element.elementor-element-389a907 .elementor-icon:hover,
.elementor-50 .elementor-element.elementor-element-aa46886 .elementor-icon:hover {
	background: var(--uhg-gold) !important;
	border-color: var(--uhg-blue) !important;
	color: var(--uhg-blue) !important;
	fill: var(--uhg-blue) !important;
}

/* Ajuste de líneas decorativas bajo las tarjetas */
.elementor-50 .elementor-element.elementor-element-44b937f4,
.elementor-50 .elementor-element.elementor-element-333465ec,
.elementor-50 .elementor-element.elementor-element-473c0047 {
	position: relative;
}

/* Menu principal (desktop) - links mas ordenados */
@media (min-width: 1025px) {
	.elementor-93 .elementor-element.elementor-element-86d6671 .elementor-nav-menu {
		align-items: center;
		gap: 2px;
	}

	.elementor-93 .elementor-element.elementor-element-86d6671 .elementor-nav-menu--main .elementor-item {
		padding: 10px 14px !important;
		border-radius: 8px !important;
		line-height: 1.1 !important;
	}

	.elementor-93 .elementor-element.elementor-element-86d6671 .elementor-nav-menu--main .elementor-item:hover {
		background: rgba(30, 44, 70, 0.06) !important;
	}
}

/* ===================================================================
   FOOTER
   =================================================================== */
.site-footer,
.elementor-template-type-footer {
	background: var(--uhg-blue-dark) !important;
	color: rgba(255,255,255,0.80) !important;
}
.site-footer a,
.elementor-template-type-footer a {
	color: var(--uhg-gold-light) !important;
	transition: var(--transition) !important;
}
.site-footer a:hover,
.elementor-template-type-footer a:hover {
	color: var(--uhg-gold) !important;
}
.site-footer .elementor-heading-title,
.elementor-template-type-footer .elementor-heading-title {
	color: #ffffff !important;
}
.site-footer p,
.elementor-template-type-footer p {
	color: rgba(255,255,255,0.75) !important;
}

/* ===================================================================
   FORMULARIOS
   =================================================================== */
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select {
	border: 1.5px solid #d0d8e8 !important;
	border-radius: var(--radius-sm) !important;
	color: var(--uhg-text) !important;
	background: #ffffff !important;
	transition: var(--transition) !important;
}
.elementor-field-group input:focus,
.elementor-field-group textarea:focus {
	border-color: var(--uhg-blue) !important;
	box-shadow: 0 0 0 3px rgba(30,44,70,0.12) !important;
	outline: none !important;
}
.elementor-button[type="submit"],
.elementor-form .elementor-button {
	background: var(--uhg-blue) !important;
	color: #ffffff !important;
	border-radius: var(--radius-md) !important;
	font-weight: 700 !important;
	transition: var(--transition) !important;
}
.elementor-button[type="submit"]:hover,
.elementor-form .elementor-button:hover {
	background: var(--uhg-blue-mid) !important;
}

/* ===================================================================
   WHATSAPP FLOTANTE
   =================================================================== */
.elementor-element-84fe716 .elementor-icon,
.elementor-element-84fe716 a,
.whatsapp-button,
[class*="whatsapp"] {
	background: #25D366 !important;
	border-radius: 50% !important;
	box-shadow: 0 4px 16px rgba(37,211,102,0.45) !important;
}

/* ===================================================================
   COOKIE BAR
   =================================================================== */
.cookie-bar,
[class*="cookie"],
.cmplz-cookiebanner {
	background: var(--uhg-blue) !important;
	color: #fff !important;
}

/* ===================================================================
   TIPOGRAFÍA GENERAL
   =================================================================== */
body {
	font-family: 'Heebo', sans-serif;
	color: var(--uhg-text);
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Work Sans', sans-serif;
	color: var(--uhg-blue);
}

/* Links */
a {
	color: var(--uhg-blue-mid);
	transition: var(--transition);
}
a:hover {
	color: var(--uhg-gold);
}

/* ===================================================================
   BARRA DE SCROLL PERSONALIZADA
   =================================================================== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--uhg-grey); }
::-webkit-scrollbar-thumb {
	background: var(--uhg-blue);
	border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--uhg-blue-mid); }

/* ===================================================================
   HEADER TOP INFO (desktop) - alineacion profesional
   =================================================================== */
@media (min-width: 1025px) {
	.elementor-93 .elementor-element.elementor-element-1dbda13 .elementor-icon-box-wrapper,
	.elementor-93 .elementor-element.elementor-element-3950d00 .elementor-icon-box-wrapper,
	.elementor-93 .elementor-element.elementor-element-71ebe9e .elementor-icon-box-wrapper {
		display: flex;
		align-items: center;
	}

	.elementor-93 .elementor-element.elementor-element-1dbda13 .elementor-icon-box-content,
	.elementor-93 .elementor-element.elementor-element-3950d00 .elementor-icon-box-content,
	.elementor-93 .elementor-element.elementor-element-71ebe9e .elementor-icon-box-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 72px;
	}

	.elementor-93 .elementor-element.elementor-element-1dbda13 .elementor-icon-box-title,
	.elementor-93 .elementor-element.elementor-element-3950d00 .elementor-icon-box-title,
	.elementor-93 .elementor-element.elementor-element-71ebe9e .elementor-icon-box-title {
		margin: 0 0 6px 0 !important;
		line-height: 1.15 !important;
	}

	.elementor-93 .elementor-element.elementor-element-1dbda13 .elementor-icon-box-description,
	.elementor-93 .elementor-element.elementor-element-3950d00 .elementor-icon-box-description,
	.elementor-93 .elementor-element.elementor-element-71ebe9e .elementor-icon-box-description {
		margin: 0 !important;
		line-height: 1.35 !important;
	}

	/* Evita el salto raro del telefono en escritorio */
	.elementor-93 .elementor-element.elementor-element-3950d00 .elementor-icon-box-description {
		white-space: nowrap;
	}
}

/* ===================================================================
   DARK HERO BANNERS (single/archives/pages) - legibilidad global
   Plantillas detectadas con overlay oscuro: 194, 335, 400, 457, 1282
   =================================================================== */
:is(.elementor-194, .elementor-335, .elementor-400, .elementor-457, .elementor-1282) > .elementor-section:first-of-type > .elementor-background-overlay {
	background-color: rgba(0, 24, 72, 0.84) !important;
	opacity: 1 !important;
}

:is(.elementor-194, .elementor-335, .elementor-400, .elementor-457, .elementor-1282) > .elementor-section:first-of-type .elementor-heading-title {
	color: #ffffff !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
	line-height: 1.12;
}

:is(.elementor-194, .elementor-335, .elementor-400, .elementor-457, .elementor-1282) > .elementor-section:first-of-type .elementor-icon-list-text,
:is(.elementor-194, .elementor-335, .elementor-400, .elementor-457, .elementor-1282) > .elementor-section:first-of-type .elementor-icon-list-item > a {
	color: rgba(255, 255, 255, 0.96) !important;
}

:is(.elementor-194, .elementor-335, .elementor-400, .elementor-457, .elementor-1282) > .elementor-section:first-of-type .elementor-icon-list-icon i,
:is(.elementor-194, .elementor-335, .elementor-400, .elementor-457, .elementor-1282) > .elementor-section:first-of-type .elementor-icon-list-icon svg {
	color: var(--uhg-gold-light) !important;
	fill: var(--uhg-gold-light) !important;
}

/* Titulos largos de noticias/archives */
.single-post .elementor-location-single > .elementor-section:first-of-type .elementor-heading-title,
.archive .elementor-location-archive > .elementor-section:first-of-type .elementor-heading-title,
.blog .elementor-location-archive > .elementor-section:first-of-type .elementor-heading-title {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* ===================================================================
   INTERNAL HERO BANNERS (pages/posts/archives) - cobertura global
   Aplica solo si la primera seccion tiene overlay (banner con imagen)
   =================================================================== */
:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(5, 28, 74, 0.84) 0%, rgba(8, 36, 87, 0.80) 100%) !important;
	opacity: 1 !important;
}

:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-heading-title {
	color: #ffffff !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35) !important;
	line-height: 1.12 !important;
}

:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-text,
:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-item > a,
:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-item,
:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-shortcode,
:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-shortcode a {
	color: rgba(255, 255, 255, 0.96) !important;
}

:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-icon i,
:is(
	body.page:not(.home) .elementor[data-elementor-type="wp-page"],
	body.single .elementor[data-elementor-type="single-post"],
	body.archive .elementor[data-elementor-type="archive"],
	body.blog .elementor[data-elementor-type="archive"]
) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-icon svg {
	color: var(--uhg-gold-light) !important;
	fill: var(--uhg-gold-light) !important;
}

/* ===================================================================
   HOME - HISTORIA / FUNDADOR (portada)
   =================================================================== */
.elementor-50 .elementor-element.elementor-element-15de7ca8 > .elementor-widget-container::before {
	content: "Historia y Fundación";
	display: block;
	margin: 0 0 14px 0;
	font-family: 'Work Sans', sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: var(--uhg-gold-dark);
}

.elementor-50 .elementor-element.elementor-element-15de7ca8 > .elementor-widget-container {
	position: relative;
}

.elementor-50 .elementor-element.elementor-element-7230d91 > .elementor-widget-container {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #e6eaf0;
}

.elementor-50 .elementor-element.elementor-element-7230d91 .elementor-heading-title {
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.elementor-50 .elementor-element.elementor-element-30b188c1 .elementor-heading-title {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.4px;
	color: var(--uhg-text-light) !important;
}

/* Corrige el verde heredado del template en la etiqueta de la derecha */
.elementor-50 .elementor-element.elementor-element-7eafa79c .elementor-heading-title {
	color: var(--uhg-gold-dark) !important;
}

/* ===================================================================
   FIX HEADER MENU (desktop)
   =================================================================== */
@media (min-width: 1025px) {
	/* Hidden off-canvas container should not affect desktop header layout */
	.elementor-93 .elementor-element.elementor-element-ccd4365 {
		display: none !important;
	}

	/* Keep desktop menu bar readable above hero/sliders */
	.elementor-93 .elementor-element.elementor-element-771c97c {
		background-color: #ffffff !important;
	}

	/* Ensure dropdowns appear above hero sections */
	.elementor-93 .elementor-element.elementor-element-86d6671 .sub-menu.elementor-nav-menu--dropdown,
	.elementor-93 .elementor-element.elementor-element-86d6671 .elementor-nav-menu--dropdown {
		z-index: 9999 !important;
	}
}

/* ===================================================================
   ELEMENTOR KIT PALETTE OVERRIDE - improve contrast sitewide
   Kit 22 was still using very light blue/green defaults from template.
   =================================================================== */
.elementor-kit-22 {
	--e-global-color-primary: var(--uhg-blue-light);
	--e-global-color-secondary: var(--uhg-blue);
	--e-global-color-text: #475569;
	--e-global-color-accent: var(--uhg-gold);
}

/* Stronger contrast for generic content areas without affecting hero banners */
body:not(.home) .elementor-widget-text-editor,
body:not(.home) .elementor-widget-text-editor p,
body:not(.home) .elementor-widget-text-editor li,
body:not(.home) .elementor-widget-text-editor td,
body:not(.home) .elementor-widget-text-editor th {
	color: var(--uhg-text) !important;
}

body:not(.home) .elementor-widget-text-editor a {
	color: var(--uhg-blue-light) !important;
	font-weight: 600;
}

body:not(.home) .elementor-widget-text-editor a:hover {
	color: var(--uhg-gold-dark) !important;
}

/* ===================================================================
   ARCHIVE / NEWS CARDS - stronger titles, badges and links
   =================================================================== */
:is(.elementor-181, .elementor-1282) .elementor-post__card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 22px rgba(30, 44, 70, 0.06) !important;
}

:is(.elementor-181, .elementor-1282) .elementor-post__title,
:is(.elementor-181, .elementor-1282) .elementor-post__title a {
	color: var(--uhg-blue) !important;
}

:is(.elementor-181, .elementor-1282) .elementor-post__excerpt p,
:is(.elementor-181, .elementor-1282) .elementor-post__meta-data {
	color: #546274 !important;
}

:is(.elementor-181, .elementor-1282) .elementor-post__read-more {
	color: var(--uhg-blue-light) !important;
	font-weight: 700 !important;
	letter-spacing: 0.2px;
}

:is(.elementor-181, .elementor-1282) .elementor-post__read-more:hover {
	color: var(--uhg-gold-dark) !important;
}

:is(.elementor-181, .elementor-1282) .elementor-post__badge {
	background: linear-gradient(135deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%) !important;
	color: var(--uhg-blue-dark) !important;
	font-weight: 700 !important;
}

/* ===================================================================
   CONTACT PAGE (54) - fix clipped info blocks + contrast
   =================================================================== */
.elementor-54 .elementor-element.elementor-element-547c1d5a .elementor-heading-title {
	color: var(--uhg-blue-light) !important;
}

.elementor-54 .elementor-element.elementor-element-43b13e4e,
.elementor-54 .elementor-element.elementor-element-43b13e4e * {
	color: var(--uhg-text) !important;
}

.elementor-54 .elementor-element.elementor-element-ad179f7 .elementor-icon-box-title,
.elementor-54 .elementor-element.elementor-element-ad179f7 .elementor-icon-box-title a,
.elementor-54 .elementor-element.elementor-element-bda9587 .elementor-icon-box-title,
.elementor-54 .elementor-element.elementor-element-bda9587 .elementor-icon-box-title a,
.elementor-54 .elementor-element.elementor-element-47f2c36 .elementor-icon-box-title,
.elementor-54 .elementor-element.elementor-element-47f2c36 .elementor-icon-box-title a {
	color: var(--uhg-blue) !important;
}

.elementor-54 .elementor-element.elementor-element-ad179f7 .elementor-icon-box-description,
.elementor-54 .elementor-element.elementor-element-bda9587 .elementor-icon-box-description,
.elementor-54 .elementor-element.elementor-element-47f2c36 .elementor-icon-box-description {
	color: #475569 !important;
	font-weight: 500 !important;
}

.elementor-54 .elementor-element.elementor-element-ad179f7 .elementor-icon,
.elementor-54 .elementor-element.elementor-element-bda9587 .elementor-icon,
.elementor-54 .elementor-element.elementor-element-47f2c36 .elementor-icon,
.elementor-54 .elementor-element.elementor-element-ad179f7 .elementor-icon i,
.elementor-54 .elementor-element.elementor-element-bda9587 .elementor-icon i,
.elementor-54 .elementor-element.elementor-element-47f2c36 .elementor-icon i,
.elementor-54 .elementor-element.elementor-element-ad179f7 .elementor-icon svg,
.elementor-54 .elementor-element.elementor-element-bda9587 .elementor-icon svg,
.elementor-54 .elementor-element.elementor-element-47f2c36 .elementor-icon svg {
	color: var(--uhg-gold-dark) !important;
	fill: var(--uhg-gold-dark) !important;
}

/* Prevent the first info block from being clipped on desktop */
@media (min-width: 1025px) {
	.elementor-54 .elementor-element.elementor-element-438317de > .elementor-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	.elementor-54 .elementor-element.elementor-element-75376826,
	.elementor-54 .elementor-element.elementor-element-6546d6ee,
	.elementor-54 .elementor-element.elementor-element-1bae59f4 {
		width: 33.3333% !important;
	}

	.elementor-54 .elementor-element.elementor-element-75376826 > .elementor-element-populated,
	.elementor-54 .elementor-element.elementor-element-6546d6ee > .elementor-element-populated,
	.elementor-54 .elementor-element.elementor-element-1bae59f4 > .elementor-element-populated {
		margin: 0 !important;
	}

	.elementor-54 .elementor-element.elementor-element-ad179f7,
	.elementor-54 .elementor-element.elementor-element-bda9587,
	.elementor-54 .elementor-element.elementor-element-47f2c36 {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-54 .elementor-element.elementor-element-ad179f7 > .elementor-widget-container,
	.elementor-54 .elementor-element.elementor-element-bda9587 > .elementor-widget-container,
	.elementor-54 .elementor-element.elementor-element-47f2c36 > .elementor-widget-container {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

/* Contact form card / fields */
.elementor-54 .elementor-element.elementor-element-23ff5b84 > .elementor-element-populated {
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px 0 0 12px !important;
	box-shadow: 0 12px 28px rgba(30, 44, 70, 0.08) !important;
}

.elementor-54 .elementor-element.elementor-element-6006799 .elementor-field-group > label,
.elementor-54 .elementor-element.elementor-element-6006799 .elementor-field-subgroup label {
	color: var(--uhg-blue) !important;
	font-weight: 600 !important;
}

.elementor-54 .elementor-element.elementor-element-6006799 .elementor-field-group .elementor-field {
	color: #0f172a !important;
	border-color: #cbd5e1 !important;
	background: #ffffff !important;
}

.elementor-54 .elementor-element.elementor-element-6006799 .elementor-field-group .elementor-field::placeholder {
	color: #94a3b8 !important;
}

.elementor-54 .elementor-element.elementor-element-6006799 .elementor-button[type="submit"] {
	background: linear-gradient(135deg, var(--uhg-blue) 0%, var(--uhg-blue-mid) 100%) !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	border: none !important;
	font-weight: 700 !important;
}

.elementor-54 .elementor-element.elementor-element-6006799 .elementor-button[type="submit"]:hover {
	background: linear-gradient(135deg, var(--uhg-blue-mid) 0%, var(--uhg-blue) 100%) !important;
}

/* ===================================================================
   NUESTROS VALORES (336) - dark section text was too low contrast
   =================================================================== */
.elementor-336 .elementor-element.elementor-element-4416483f:not(.elementor-motion-effects-element-type-background),
.elementor-336 .elementor-element.elementor-element-4416483f > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background: linear-gradient(135deg, var(--uhg-blue) 0%, var(--uhg-blue-light) 100%) !important;
}

.elementor-336 .elementor-element.elementor-element-4416483f > .elementor-background-overlay {
	opacity: 0.10 !important;
}

.elementor-336 .elementor-element.elementor-element-37ece63 .elementor-heading-title {
	color: var(--uhg-gold-light) !important;
}

.elementor-336 .elementor-element.elementor-element-71c2221 .elementor-heading-title {
	color: #ffffff !important;
}

.elementor-336 .elementor-element.elementor-element-26922af1,
.elementor-336 .elementor-element.elementor-element-26922af1 *,
.elementor-336 .elementor-element.elementor-element-4416483f .elementor-widget-text-editor,
.elementor-336 .elementor-element.elementor-element-4416483f .elementor-widget-text-editor * {
	color: rgba(255, 255, 255, 0.95) !important;
}

.elementor-336 .elementor-element.elementor-element-26922af1 li::marker {
	color: var(--uhg-gold-light);
}

/* ===================================================================
   CONVENIOS (340) - improve gallery card contrast around logos
   =================================================================== */
.elementor-340 .e-gallery-item {
	background: #ffffff;
	border: 1px solid #e5ebf4;
	border-radius: 12px;
	box-shadow: 0 8px 18px rgba(30, 44, 70, 0.06);
	overflow: hidden;
}

.elementor-340 .e-gallery-item .elementor-gallery-item__overlay {
	background-color: rgba(22, 45, 108, 0.72) !important;
}

/* ===================================================================
   ACADEMICO / RECURSOS tiles with primary backgrounds - keep text visible
   =================================================================== */
.elementor-400 .elementor-element.elementor-element-805e02b .elementor-flip-box__front,
.elementor-398 .elementor-element.elementor-element-6bc1b48 .elementor-flip-box__front,
.elementor-398 .elementor-element.elementor-element-b346da2 .elementor-flip-box__front {
	background: linear-gradient(135deg, var(--uhg-blue-light) 0%, var(--uhg-blue-mid) 100%) !important;
	box-shadow: 0 10px 24px rgba(30, 44, 70, 0.16) !important;
}

.elementor-400 .elementor-element.elementor-element-805e02b .elementor-flip-box__front .elementor-flip-box__layer__title,
.elementor-400 .elementor-element.elementor-element-805e02b .elementor-flip-box__front .elementor-flip-box__layer__description,
.elementor-398 .elementor-element.elementor-element-6bc1b48 .elementor-flip-box__front .elementor-flip-box__layer__title,
.elementor-398 .elementor-element.elementor-element-6bc1b48 .elementor-flip-box__front .elementor-flip-box__layer__description,
.elementor-398 .elementor-element.elementor-element-b346da2 .elementor-flip-box__front .elementor-flip-box__layer__title,
.elementor-398 .elementor-element.elementor-element-b346da2 .elementor-flip-box__front .elementor-flip-box__layer__description {
	color: #ffffff !important;
}

.elementor-400 .elementor-element.elementor-element-805e02b .elementor-icon,
.elementor-400 .elementor-element.elementor-element-805e02b .elementor-icon i,
.elementor-400 .elementor-element.elementor-element-805e02b .elementor-icon svg,
.elementor-398 .elementor-element.elementor-element-6bc1b48 .elementor-icon,
.elementor-398 .elementor-element.elementor-element-6bc1b48 .elementor-icon i,
.elementor-398 .elementor-element.elementor-element-6bc1b48 .elementor-icon svg,
.elementor-398 .elementor-element.elementor-element-b346da2 .elementor-icon,
.elementor-398 .elementor-element.elementor-element-b346da2 .elementor-icon i,
.elementor-398 .elementor-element.elementor-element-b346da2 .elementor-icon svg {
	color: #ffffff !important;
	fill: #ffffff !important;
}

/* ===================================================================
   ACADEMIC FILE / SURVEY PAGES - links and CTAs should stand out
   =================================================================== */
:is(.elementor-422, .elementor-446, .elementor-447, .elementor-456) .elementor-icon-list-text,
:is(.elementor-422, .elementor-446, .elementor-447, .elementor-456) .elementor-icon-list-item > a {
	color: var(--uhg-blue) !important;
	font-weight: 600 !important;
}

:is(.elementor-422, .elementor-446, .elementor-447, .elementor-456) .elementor-icon-list-icon i,
:is(.elementor-422, .elementor-446, .elementor-447, .elementor-456) .elementor-icon-list-icon svg {
	color: var(--uhg-blue-light) !important;
	fill: var(--uhg-blue-light) !important;
}

.elementor-457 .elementor-button {
	background: linear-gradient(135deg, #f4c84a 0%, var(--uhg-gold) 100%) !important;
	color: var(--uhg-blue-dark) !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	box-shadow: 0 6px 16px rgba(255, 184, 0, 0.32);
}

.elementor-457 .elementor-button:hover,
.elementor-457 .elementor-button:focus {
	background: linear-gradient(135deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%) !important;
	color: var(--uhg-blue-dark) !important;
}

/* ===================================================================
   TABLES / EMBEDS inside content (legibility)
   =================================================================== */
body:not(.home) table {
	color: var(--uhg-text);
	border-color: #d7dee9;
}

body:not(.home) table th {
	color: var(--uhg-blue);
	background: #f6f9ff;
}

/* ===================================================================
   SEDES (890) - hide closed campus "Minga Guazu"
   =================================================================== */
.elementor-890 .elementor-element.elementor-element-03744e9 {
	display: none !important;
}

/* ===================================================================
   HOME (50) - visual polish requested on hero + programas intro text
   =================================================================== */
/* Make the highlighted "Superior" marker line visible again in brand gold */
.elementor-50 .elementor-element.elementor-element-1576418 .elementor-headline-dynamic-wrapper path {
	stroke: var(--uhg-gold) !important;
	stroke-width: 11px !important;
	filter: drop-shadow(0 2px 8px rgba(255, 184, 0, 0.35));
}

.elementor-50 .elementor-element.elementor-element-1576418 .elementor-headline-dynamic-wrapper svg {
	z-index: 0 !important;
	opacity: 0.98 !important;
}

.elementor-50 .elementor-element.elementor-element-1576418 .elementor-headline-dynamic-text {
	position: relative;
	z-index: 1 !important;
}

/* Give "Descubre las opciones..." a stronger visual anchor */
.elementor-50 .elementor-element.elementor-element-663e1400,
.elementor-50 .elementor-element.elementor-element-663e1400 p {
	color: var(--uhg-blue) !important;
}

.elementor-50 .elementor-element.elementor-element-663e1400 > .elementor-widget-container {
	position: relative;
	display: inline-block;
	max-width: 100%;
	padding: 12px 18px 12px 24px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 8px 22px rgba(30, 44, 70, 0.06);
}

.elementor-50 .elementor-element.elementor-element-663e1400 > .elementor-widget-container::before {
	content: "";
	position: absolute;
	left: 11px;
	top: 11px;
	bottom: 11px;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--uhg-gold-light) 0%, var(--uhg-gold) 100%);
}

.elementor-50 .elementor-element.elementor-element-663e1400 p {
	margin: 0 !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.1px;
}

@media (max-width: 1024px) {
	.elementor-50 .elementor-element.elementor-element-663e1400 > .elementor-widget-container {
		padding: 10px 14px 10px 20px;
	}

	.elementor-50 .elementor-element.elementor-element-663e1400 > .elementor-widget-container::before {
		left: 9px;
		top: 9px;
		bottom: 9px;
		width: 3px;
	}
}

/* ===================================================================
   PREMIUM BASELINE (global polish, safe overrides)
   =================================================================== */
html {
	scroll-behavior: smooth;
}

body {
	color: var(--uhg-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

p,
li,
.elementor-widget-text-editor,
.elementor-post__excerpt p,
.elementor-icon-list-text {
	line-height: 1.55;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
	line-height: 1.15;
	letter-spacing: -0.02em;
}

::selection {
	background: rgba(255, 184, 0, 0.28);
	color: var(--uhg-blue-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.elementor-button:focus-visible {
	outline: 3px solid rgba(36, 87, 179, 0.32) !important;
	outline-offset: 2px;
	border-radius: 8px;
}

/* Premium hover/focus feel for CTA buttons inside page content */
#content .elementor-button {
	box-shadow: 0 8px 20px rgba(30, 44, 70, 0.10);
	transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease !important;
}

#content .elementor-button:hover,
#content .elementor-button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(30, 44, 70, 0.14);
}

/* News/cards/listings - subtle depth and cleaner edges */
#content .elementor-post__card {
	border-radius: 14px !important;
	border: 1px solid #e7edf5;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(30, 44, 70, 0.06);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

#content .elementor-post__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 30px rgba(30, 44, 70, 0.11);
}

#content .elementor-post__thumbnail img {
	transition: transform 0.4s ease;
}

#content .elementor-post__card:hover .elementor-post__thumbnail img {
	transform: scale(1.03);
}

/* Footer links/social polish */
.elementor-location-footer a {
	transition: color 0.25s ease, opacity 0.25s ease;
}

.elementor-location-footer a:hover {
	color: var(--uhg-gold-light) !important;
}

.elementor-location-footer .elementor-social-icon {
	box-shadow: 0 6px 14px rgba(0, 6, 43, 0.18);
}

/* Footer contact block readability (Ubicación / Teléfono / Email) */
.elementor-location-footer .elementor-icon-box-title,
.elementor-location-footer .elementor-icon-box-title a {
	color: #eaf2ff !important;
}

.elementor-location-footer .elementor-icon-box-description,
.elementor-location-footer .elementor-icon-box-description a {
	color: rgba(255, 255, 255, 0.90) !important;
}

.elementor-location-footer .elementor-icon-box-icon .elementor-icon,
.elementor-location-footer .elementor-icon-box-icon svg,
.elementor-location-footer .elementor-icon-box-icon i {
	color: var(--uhg-gold-light) !important;
	fill: var(--uhg-gold-light) !important;
}

/* Footer legal line (copyright / ley) */
.elementor-location-footer .elementor-element.elementor-element-3e06dd4a,
.elementor-location-footer .elementor-element.elementor-element-3e06dd4a .elementor-widget-container,
.elementor-location-footer .elementor-element.elementor-element-3e06dd4a p,
.elementor-location-footer .elementor-element.elementor-element-3e06dd4a span {
	color: rgba(255, 255, 255, 0.78) !important;
}

.elementor-location-footer .elementor-element.elementor-element-3e06dd4a p {
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	letter-spacing: 0.1px;
}

/* ===================================================================
   POLISH PASS 2 (header/footer/mobile/cookie bar)
   =================================================================== */
/* Header nav clearer active cue */
.elementor-nav-menu--main .elementor-item::after {
	content: "";
	display: block;
	height: 2px;
	width: 0;
	margin-top: 6px;
	background: linear-gradient(90deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%);
	border-radius: 999px;
	transition: width 0.25s ease;
}

.elementor-nav-menu--main .elementor-item:hover::after,
.elementor-nav-menu--main .elementor-item.elementor-item-active::after {
	width: 100%;
}

/* Dropdown menu readability and spacing */
.elementor-nav-menu--dropdown .menu-item > a {
	padding: 14px 18px !important;
	font-weight: 600 !important;
	border-bottom: 1px solid #eef2f7;
}

.elementor-nav-menu--dropdown .menu-item:last-child > a {
	border-bottom: 0;
}

/* Generic content cards / sections get cleaner corners */
#content .elementor-widget-image img,
#content .elementor-image-box-img img,
#content .elementor-post__thumbnail img {
	border-radius: 10px;
}

/* Cookie bar polish */
#eu-cookie-bar {
	z-index: 9998 !important;
	background: rgba(17, 25, 42, 0.96) !important;
	color: rgba(255, 255, 255, 0.92) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 12px !important;
	line-height: 1.45 !important;
}

#eu-cookie-bar a {
	color: var(--uhg-gold-light) !important;
	font-weight: 600 !important;
}

#eu-cookie-bar button#euCookieAcceptWP {
	background: linear-gradient(135deg, var(--uhg-gold) 0%, var(--uhg-gold-light) 100%) !important;
	color: var(--uhg-blue-dark) !important;
	border: none !important;
	border-radius: 6px !important;
	font-weight: 800 !important;
	box-shadow: 0 4px 10px rgba(255, 184, 0, 0.25);
}

/* WhatsApp floating button */
.wayra-coc-floating-button {
	z-index: 9997 !important;
	box-shadow: 0 12px 28px rgba(16, 24, 40, 0.22);
}

/* Footer columns stronger hierarchy */
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5 {
	letter-spacing: -0.01em;
}

.elementor-location-footer .elementor-icon-box-description,
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer p,
.elementor-location-footer li {
	line-height: 1.5;
}

/* Page hero banners (internal pages): title + breadcrumb clarity */
body:not(.home) .elementor-heading-title {
	text-wrap: balance;
}

/* Tablet/mobile refinements */
@media (max-width: 1024px) {
	/* Header top contact row wraps cleaner */
	.elementor-location-header .elementor-icon-box-wrapper {
		gap: 8px;
	}

	.elementor-location-header .elementor-icon-box-title {
		line-height: 1.1 !important;
	}

	.elementor-location-header .elementor-icon-box-description {
		line-height: 1.25 !important;
	}

	/* Hero content card on home */
	.elementor-50 .elementor-element.elementor-element-6c05c8de > .elementor-element-populated {
		padding: 90px 22px 90px 22px !important;
	}

	.elementor-50 .elementor-element.elementor-element-1576418 .elementor-headline {
		font-size: clamp(2rem, 4vw, 3.25rem) !important;
	}

	.elementor-50 .elementor-element.elementor-element-8a51919 > .elementor-widget-container {
		margin: 18px 4% 0 0 !important;
	}

	/* Programs cards become visually tighter */
	.elementor-50 .elementor-element.elementor-element-80408e0 > .elementor-widget-container,
	.elementor-50 .elementor-element.elementor-element-4528355 > .elementor-widget-container,
	.elementor-50 .elementor-element.elementor-element-dab02cc > .elementor-widget-container {
		padding-bottom: 58px !important;
	}

	/* Footer spacing */
	.elementor-location-footer .elementor-column {
		margin-bottom: 10px;
	}
}

@media (max-width: 767px) {
	/* Menu button and header actions */
	.elementor-menu-toggle {
		border: 1px solid #dbe4f0;
		border-radius: 8px;
		padding: 8px !important;
		background: #fff;
	}

	.elementor-nav-menu--dropdown {
		border-radius: 10px !important;
		overflow: hidden;
	}

	.elementor-nav-menu--dropdown .menu-item > a {
		padding: 13px 16px !important;
		font-size: 14px !important;
	}

	/* Home hero typography and CTA width */
	.elementor-50 .elementor-element.elementor-element-1f4373dc .elementor-heading-title {
		font-size: 1.05rem !important;
	}

	.elementor-50 .elementor-element.elementor-element-1576418 .elementor-headline {
		font-size: clamp(1.85rem, 8vw, 2.7rem) !important;
		line-height: 1.08 !important;
	}

	.elementor-50 .elementor-element.elementor-element-2051d2d .elementor-button {
		width: 100%;
		max-width: 320px;
		justify-content: center;
	}

	/* Home "Descubre..." helper text aligns better on mobile */
	.elementor-50 .elementor-element.elementor-element-663e1400 > .elementor-widget-container {
		display: block;
		width: 100%;
	}

	/* Cookie bar more compact on phones */
	#eu-cookie-bar {
		font-size: 11px !important;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}

	/* Footer socials centered feel if columns stack */
	.elementor-location-footer .elementor-social-icons-wrapper {
		gap: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ===================================================================
   PROGRAMAS (Pregrado / Grado / Posgrado) - archivos y fichas premium
   Cubre CPT archives + singles para evitar regresiones visuales.
   =================================================================== */
:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(4, 26, 73, 0.86) 0%, rgba(10, 45, 109, 0.80) 100%) !important;
	opacity: 1 !important;
}

:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-heading-title {
	color: #ffffff !important;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.36) !important;
	line-height: 1.12 !important;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-items {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 10px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(2px);
}

:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-text,
:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-item > a {
	color: rgba(255, 255, 255, 0.98) !important;
	font-weight: 600;
}

:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-icon svg,
:is(
	body.post-type-archive-pregrado,
	body.post-type-archive-grado,
	body.post-type-archive-posgrado,
	body.single-pregrado,
	body.single-grado,
	body.single-posgrado
) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-icon i {
	color: var(--uhg-gold-light) !important;
	fill: var(--uhg-gold-light) !important;
}

/* Program archive cards */
:is(body.post-type-archive-pregrado, body.post-type-archive-grado, body.post-type-archive-posgrado) .elementor-location-archive .e-loop-item {
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(20, 35, 66, 0.08);
	border: 1px solid #e7edf6;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

:is(body.post-type-archive-pregrado, body.post-type-archive-grado, body.post-type-archive-posgrado) .elementor-location-archive .e-loop-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 34px rgba(20, 35, 66, 0.12);
	border-color: rgba(36, 87, 179, 0.18);
}

:is(body.post-type-archive-pregrado, body.post-type-archive-grado, body.post-type-archive-posgrado) .elementor-location-archive .e-loop-item .elementor-heading-title a {
	color: var(--uhg-blue) !important;
	text-decoration: none;
}

:is(body.post-type-archive-pregrado, body.post-type-archive-grado, body.post-type-archive-posgrado) .elementor-location-archive .e-loop-item .elementor-button {
	box-shadow: none !important;
	font-weight: 700 !important;
	letter-spacing: 0.2px;
}

/* Program single content readability */
:is(body.single-pregrado, body.single-grado, body.single-posgrado) .elementor-location-single .elementor-widget-text-editor p,
:is(body.single-pregrado, body.single-grado, body.single-posgrado) .elementor-location-single li {
	line-height: 1.65 !important;
}

:is(body.single-pregrado, body.single-grado, body.single-posgrado) .elementor-location-single .e-n-accordion-item {
	border: 1px solid #e8edf5 !important;
	border-radius: 10px !important;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(17, 24, 39, 0.05);
	margin-bottom: 10px;
}

:is(body.single-pregrado, body.single-grado, body.single-posgrado) .elementor-location-single .e-n-accordion-item-title {
	background: #f8fbff !important;
}

:is(body.single-pregrado, body.single-grado, body.single-posgrado) .elementor-location-single .e-n-accordion-item-title-text {
	font-weight: 700 !important;
	color: var(--uhg-blue-dark) !important;
}

@media (max-width: 767px) {
	:is(
		body.post-type-archive-pregrado,
		body.post-type-archive-grado,
		body.post-type-archive-posgrado,
		body.single-pregrado,
		body.single-grado,
		body.single-posgrado
	) :is(.elementor-location-archive, .elementor-location-single) > .elementor-section:first-of-type > .elementor-background-overlay ~ .elementor-container .elementor-icon-list-items {
		padding: 6px 10px;
		gap: 6px 8px;
	}

	:is(body.post-type-archive-pregrado, body.post-type-archive-grado, body.post-type-archive-posgrado) .elementor-location-archive .e-loop-item {
		border-radius: 12px;
	}
}

/* ============================================
   FIX: Hero banner right column overflow
   ============================================ */

/* Hero section - prevent overflow */
.elementor-element-a85ca5b {
    overflow: hidden !important;
}

/* Right column of hero - contain images */
.elementor-element-a85ca5b .elementor-element-277346d3 {
    overflow: hidden !important;
}

.elementor-element-a85ca5b .elementor-element-277346d3 img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: top right !important;
}

/* Fix the image widget in right column */
.elementor-element-a85ca5b .elementor-element-277346d3 .elementor-widget-image {
    overflow: hidden !important;
    max-height: 100% !important;
}

.elementor-element-a85ca5b .elementor-element-277346d3 .elementor-widget-image .elementor-image {
    max-height: 100% !important;
    overflow: hidden !important;
}

/* Ensure all banner/promotional images fit properly */
.elementor-section .elementor-widget-image img {
    max-width: 100%;
    height: auto;
}

/* Fix any absolute positioned images that overflow */
.elementor-section {
    overflow: hidden;
}

/* Fix flip-box images */
.elementor-flip-box__image img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* ============================================
   FIX: Mobile responsive improvements
   ============================================ */
@media (max-width: 1024px) {
    .elementor-element-a85ca5b .elementor-element-277346d3 {
        display: none !important;
    }
}

/* ============================================
   FIX: General image overflow prevention
   ============================================ */
.elementor-widget-image img,
.elementor-image img {
    max-width: 100%;
    height: auto;
}

/* =============================================
   UHG FIX: Hero banner - flyers verticales
   Las imagenes son 1080x1350 (verticales)
   ============================================= */

/* Hero section: taller para mostrar flyers completos */
.elementor-element-a85ca5b {
    overflow: hidden !important;
    min-height: 650px !important;
}

.elementor-element-a85ca5b > .elementor-container {
    overflow: hidden !important;
    min-height: 650px !important;
}

/* Columna derecha (slideshow de flyers) */
.elementor-element-58e778d3 {
    overflow: hidden !important;
    min-height: 650px !important;
}

.elementor-element-58e778d3 > .elementor-element-populated {
    overflow: hidden !important;
    min-height: 650px !important;
}

/* Slideshow: imagen completa visible, centrada */
.elementor-element-58e778d3 .elementor-background-slideshow {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.elementor-element-58e778d3 .elementor-background-slideshow__slide__image {
    background-size: cover !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
}

/* Contenedor de publicidad no desborda */
.elementor-element-58e778d3 .swiper-wrapper,
.elementor-element-58e778d3 .swiper-slide {
    overflow: hidden !important;
}

/* Sin scroll horizontal en todo el body */
body {
    overflow-x: hidden !important;
}

/* Todas las secciones: sin desborde */
.elementor-section {
    overflow-x: hidden !important;
}

/* Imagenes generales contenidas */
.elementor-image img,
.elementor-widget-image img,
.elementor-flip-box img {
    max-width: 100% !important;
    height: auto !important;
}

/* Responsive: en tablet/mobile la columna derecha se oculta */
@media (max-width: 1024px) {
    .elementor-element-58e778d3 {
        display: none !important;
    }
}

/* ===================================================================
   V2 REDESIGN — PREMIUM UNIVERSITY ENHANCEMENTS
   Mejoras visuales para look universitario profesional
   =================================================================== */

/* --- TYPOGRAPHY UPGRADE --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:wght@600;700;800&display=swap');

body {
    font-family: 'Inter', 'Heebo', 'Segoe UI', sans-serif !important;
    letter-spacing: -0.01em;
}

h1, h2, h3, .elementor-heading-title {
    font-family: 'Playfair Display', 'Work Sans', serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
}

h4, h5, h6 {
    font-family: 'Inter', 'Work Sans', sans-serif !important;
    font-weight: 700 !important;
}

/* --- HEADER ENHANCEMENT --- */
.site-header,
.elementor-template-type-header {
    backdrop-filter: blur(12px) saturate(1.5);
    -webkit-backdrop-filter: blur(12px) saturate(1.5);
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom: none !important;
    box-shadow: 0 1px 0 rgba(30, 44, 70, 0.06), 0 4px 24px rgba(30, 44, 70, 0.05) !important;
}

/* Nav items - more refined spacing */
.elementor-nav-menu--main .elementor-item {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

/* --- HERO SECTION POLISH --- */
.elementor-50 .elementor-element.elementor-element-1576418 .elementor-headline {
    font-family: 'Playfair Display', serif !important;
    letter-spacing: -0.03em !important;
}

/* --- SECTION SPACING (more breathing room) --- */
.elementor-section {
    transition: none !important; /* remove janky animations */
}

/* --- CARDS / ICON BOXES — University Premium --- */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
    transform: translateY(-2px);
}

/* --- STAT COUNTERS --- */
.elementor-widget-counter .elementor-counter-number-wrapper {
    font-family: 'Playfair Display', serif !important;
    font-weight: 800 !important;
    color: var(--uhg-blue) !important;
}

.elementor-widget-counter .elementor-counter-title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    color: var(--uhg-text-light) !important;
}

/* --- IMAGES — Professional treatment --- */
.elementor-widget-image img {
    transition: transform 0.4s ease, filter 0.4s ease;
}

/* --- BREADCRUMB STYLING --- */
.elementor-widget-text-editor a[href*=inicio],
.elementor-icon-list-text {
    font-weight: 500 !important;
}

/* --- ACCORDION / TABS (programs) --- */
.e-n-accordion-item {
    border-radius: 12px !important;
    overflow: hidden;
    margin-bottom: 8px !important;
}

.e-n-accordion-item-title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    padding: 18px 24px !important;
}

/* --- BLOCKQUOTES / TESTIMONIALS --- */
blockquote, .wp-block-quote {
    border-left: 4px solid var(--uhg-gold) !important;
    padding: 20px 24px !important;
    background: var(--uhg-blue-soft) !important;
    border-radius: 0 12px 12px 0 !important;
    font-style: italic;
    color: var(--uhg-blue) !important;
}

/* --- TABLE IMPROVEMENTS --- */
body:not(.home) table {
    border-radius: 12px;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0;
    box-shadow: 0 4px 12px rgba(30, 44, 70, 0.06);
}

body:not(.home) table th {
    background: linear-gradient(135deg, var(--uhg-blue) 0%, var(--uhg-blue-mid) 100%) !important;
    color: #fff !important;
    font-weight: 700;
    padding: 14px 18px !important;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
}

body:not(.home) table td {
    padding: 12px 18px !important;
    border-bottom: 1px solid #f0f4fa;
}

body:not(.home) table tbody tr:hover {
    background: #f8fbff;
}

/* --- FOOTER REDESIGN --- */
.site-footer,
.elementor-template-type-footer {
    background: linear-gradient(180deg, #0a1d3f 0%, #001230 100%) !important;
    border-top: 3px solid var(--uhg-gold) !important;
}

.elementor-location-footer .elementor-heading-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.15rem !important;
    letter-spacing: 0 !important;
    margin-bottom: 16px !important;
}

.elementor-location-footer .elementor-icon-list-item {
    padding: 4px 0 !important;
}

.elementor-location-footer .elementor-icon-list-text {
    font-size: 0.9rem !important;
}

/* --- BACK TO TOP HINT --- */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

/* --- LOADING / SKELETON polish --- */
img[loading=lazy] {
    background: linear-gradient(110deg, #f5f8fc 30%, #edf3ff 50%, #f5f8fc 70%);
    background-size: 200% 100%;
}

/* --- PRINT STYLES --- */
@media print {
    .site-header, .site-footer, .elementor-template-type-header, .elementor-template-type-footer,
    .wayra-coc-floating-button, #eu-cookie-bar, .swiper-button-prev, .swiper-button-next {
        display: none !important;
    }
    body { font-size: 11pt !important; color: #000 !important; }
    a { text-decoration: underline; color: #000 !important; }
    h1, h2, h3 { color: #000 !important; page-break-after: avoid; }
}

/* --- ACCESSIBILITY IMPROVEMENTS --- */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px) !important;
    position: absolute !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
}

/* Skip to content link */
a.skip-link:focus {
    position: fixed !important;
    top: 10px;
    left: 10px;
    z-index: 99999;
    padding: 12px 24px;
    background: var(--uhg-blue);
    color: #fff;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

/* --- SUBTLE ANIMATIONS (university feel) --- */
@keyframes uhg-fade-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

.elementor-widget-heading,
.elementor-widget-text-editor,
.elementor-widget-image,
.elementor-widget-icon-box {
    animation: uhg-fade-in 0.5s ease both;
}

@media (prefers-reduced-motion: reduce) {
    .elementor-widget-heading,
    .elementor-widget-text-editor,
    .elementor-widget-image,
    .elementor-widget-icon-box {
        animation: none !important;
    }
}

