
/* Tema institucional: rojo, azul y gris */
:root {
  --tema-rojo: #ED3237;
  --tema-azul: #2C2D48;
  --tema-gris: #E5E4E3;
}
html, body { color: var(--tema-azul); }
a { color: var(--tema-rojo); }
a:hover, a:focus { color: var(--tema-azul); }
header, nav, .navbar, .navbar-default, .navbar-inverse,
.navbar-default .navbar-collapse, .navbar-inverse .navbar-collapse,
.dropdown-menu, .main-menu, .menu-area, .header-area {
  background-color: var(--tema-azul) !important;
  border-color: var(--tema-azul) !important;
}
.navbar a, .navbar-default .navbar-nav > li > a,
.navbar-inverse .navbar-nav > li > a, nav a,
header a, .main-menu a, .menu-area a {
  color: #E5E4E3 !important;
}
.navbar a:hover, .navbar a:focus, .navbar .active > a,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:hover,
.dropdown-menu > li > a:hover {
  background-color: var(--tema-rojo) !important;
  color: #fff !important;
}
button, .btn, input[type="submit"], input[type="button"],
.btn-primary, .btn-success, .read-more, .more-link {
  background-color: var(--tema-rojo) !important;
  border-color: var(--tema-rojo) !important;
  color: #fff !important;
}
button:hover, .btn:hover, input[type="submit"]:hover,
input[type="button"]:hover, .btn-primary:hover, .btn-success:hover,
.read-more:hover, .more-link:hover {
  background-color: var(--tema-azul) !important;
  border-color: var(--tema-azul) !important;
  color: #fff !important;
}
h1, h2, h3, h4, h5, h6, .section-title, .title, .page-title {
  color: var(--tema-azul);
}
.section-title:after, .title:after, .separator, .line,
.active-tab, .tab button.active, .nav-tabs > li.active > a {
  border-color: var(--tema-rojo) !important;
}
.card, .panel, .well, .tab-content, .tab-pane,
.teacher-card, .project-card, .blog-post, .news-item {
  background-color: var(--tema-gris);
  border-color: #d1d0cf;
}
.nav-tabs > li > a, .tabs button, .tab button, .tablinks {
  background-color: var(--tema-azul) !important;
  color: var(--tema-gris) !important;
  border-color: var(--tema-azul) !important;
}
.nav-tabs > li.active > a, .nav-tabs > li > a:hover,
.tabs button.active, .tab button.active, .tablinks.active,
.tab button:hover, .tablinks:hover {
  background-color: var(--tema-rojo) !important;
  color: #fff !important;
  border-color: var(--tema-rojo) !important;
}
section:nth-of-type(even), .bg-light, .light-bg, .gray-bg,
footer, .footer-area {
  background-color: var(--tema-gris);
}
footer, .footer-area { color: var(--tema-azul); }
footer a, .footer-area a { color: var(--tema-rojo); }
hr { border-color: var(--tema-gris); }
::selection { background: var(--tema-rojo); color: #fff; }

/* Las secciones superpuestas al banner conservan transparencia */
.hero, .hero .container, .banner, .banner .container, .slider-area, .slider-area .container { background-color: transparent !important; }

/* Tarjetas de contenido: fondo azul institucional y texto blanco */
.card, .card .card-body, .teacher-card, .project-card, .blog-post, .news-item {
  background-color: var(--tema-azul) !important;
  border-color: var(--tema-azul) !important;
}
.card .card-title, .card .card-text, .card .card-body p,
.card .card-body small, .teacher-card h1, .teacher-card h2,
.teacher-card h3, .teacher-card h4, .teacher-card h5, .teacher-card p,
.project-card, .project-card h1, .project-card h2, .project-card h3,
.project-card h4, .project-card h5, .project-card p,
.blog-post, .blog-post h1, .blog-post h2, .blog-post h3,
.blog-post h4, .blog-post h5, .blog-post p,
.news-item, .news-item h1, .news-item h2, .news-item h3,
.news-item h4, .news-item h5, .news-item p {
  color: #fff !important;
}
