/*
 * Plantilla Probiz Modern - user.css
 * Basado en Bootstrap 5
 */

:root,
[data-bs-theme="light"],
body {
  --probiz-primary: #1193d4;
  --probiz-primary-hover: #0d72a5;
  --probiz-dark: #222222;
  --probiz-light: #f8f9fa;
  --bs-primary: #1193d4;
  --bs-primary-rgb: 17, 147, 212;
  --bs-link-color: #1193d4;
  --bs-link-color-rgb: 17, 147, 212;
  --bs-link-hover-color: #0d72a5;
  --bs-link-hover-color-rgb: 13, 114, 165;
}

body {
  font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: #333333;
  background-color: #ffffff;
  margin: 0 !important;
  padding: 0 !important;
}

/* Forzar el comportamiento del container para que sea idéntico a Helix 3 (Bootstrap 3) */
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.h3,
h3 {
  font-size: calc(1.0rem + .6vw) !important;
}

a,
a:hover,
a:focus,
a:active {
  text-decoration: none !important;
}

@media (min-width: 768px) {
  .container {
    max-width: 750px;
  }



}

@media (min-width: 992px) {
  .container {
    max-width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1170px !important;
  }

  .h3,
  h3 {
    font-size: 1.25rem !important;
  }
}

/* Tipografía y Enlaces */
a {
  color: var(--probiz-primary);
  text-decoration: none;
}

a:hover {
  color: var(--probiz-primary-hover);
}

iframe {
  max-width: 1050px;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Top Bar */
#sp-top-bar {
  font-size: 0.9rem;
  background-color: #ffffff !important;
  border-bottom: 1px solid #eaeaea;
  padding: 10px 0 !important;
}

#sp-top-bar a {
  color: #333333;
}

#sp-top-bar a:hover {
  color: var(--probiz-primary);
}

/* Header & Logo */
#sp-header {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.3s ease;
  background-color: #ffffff !important;
  border-bottom: 1px solid #eaeaea;
  padding: 0 !important;
}

#sp-header .navbar {
  width: 100%;
}

#sp-header .navbar-nav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

#sp-header .navbar-nav>li {
  margin: 0;
  padding: 0;
}

#sp-header .navbar-nav>li>a,
#sp-header .navbar-nav>li>span {
  display: block;
  padding: 14px 18px !important;
  color: #000000 !important;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  border-bottom: 3px solid transparent;
}

#sp-header .navbar-nav>li>a:hover,
#sp-header .navbar-nav>li:hover>a,
#sp-header .navbar-nav>li>span:hover,
#sp-header .navbar-nav>li:hover>span {
  background-color: var(--probiz-primary) !important;
  color: #ffffff !important;
  border-bottom-color: var(--probiz-primary);
}

/* Highlight active menu item with blue block like original */
#sp-header .navbar-nav>li.active>a,
#sp-header .navbar-nav>li.current>a,
#sp-header .navbar-nav>li.active>span,
#sp-header .navbar-nav>li.current>span {
  background-color: var(--probiz-primary) !important;
  color: #ffffff !important;
  border-bottom-color: var(--probiz-primary);
}

/* Arrow for top level items with dropdown */
#sp-header .navbar-nav>li>.dropdown-toggle::after {
  font-family: "Font Awesome 5 Free", "FontAwesome", sans-serif;
  font-weight: 900;
  content: "\f107";
  display: inline-block;
  border: none;
  margin-left: 6px;
  vertical-align: middle;
}

/* Dropdown Menu Styles */
#sp-header .navbar-nav .dropdown-menu {
  border: 1px solid #eaeaea;
  border-top: 3px solid var(--probiz-primary) !important;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 0;
  margin: 0;
  min-width: 240px;
}

#sp-header .navbar-nav .dropdown-menu li {
  position: relative;
  border-bottom: 1px solid #f0f0f0;
}

#sp-header .navbar-nav .dropdown-menu li:last-child {
  border-bottom: none;
}

#sp-header .navbar-nav .dropdown-menu a,
#sp-header .navbar-nav .dropdown-menu span.nav-link,
#sp-header .navbar-nav .dropdown-menu span.dropdown-item,
#sp-header .navbar-nav .dropdown-menu span.dropdown-header {
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  color: #555555 !important;
  padding: 12px 20px;
  transition: all 0.2s ease;
  display: block;
  white-space: normal;
}

#sp-header .navbar-nav .dropdown-menu a:hover,
#sp-header .navbar-nav .dropdown-menu span.nav-link:hover,
#sp-header .navbar-nav .dropdown-menu span.dropdown-item:hover,
#sp-header .navbar-nav .dropdown-menu li.active>a,
#sp-header .navbar-nav .dropdown-menu li.current>a,
#sp-header .navbar-nav .dropdown-menu a.active,
#sp-header .navbar-nav .dropdown-menu .dropdown-item.active {
  background-color: var(--probiz-primary) !important;
  color: #ffffff !important;
}

/* Multi-level dropdowns & Arrows */
#sp-header .navbar-nav .dropdown-menu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -3px;
  /* Align with top border */
}

#sp-header .navbar-nav .dropdown-menu .dropdown-toggle {
  position: relative;
  padding-right: 35px !important;
  /* Make room for the arrow */
}

#sp-header .navbar-nav .dropdown-menu li.dropdown>.dropdown-toggle::after {
  font-family: "Font Awesome 5 Free", "FontAwesome", sans-serif;
  font-weight: 900;
  content: "\f105";
  display: inline-block;
  border: none;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  vertical-align: middle;
}

#sp-header .navbar-nav .dropdown-menu .dropdown-toggle:hover::after {
  /* color inherits */
}

/* Hover dropdowns on desktop with smooth transition */
@media (min-width: 992px) {
  #sp-header .navbar-nav .dropdown .dropdown-menu {
    display: block;
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
    transition: all 0.3s ease;
    pointer-events: none;
  }

  #sp-header .navbar-nav .dropdown:hover>.dropdown-menu,
  #sp-header .navbar-nav .dropdown-menu li:hover>.dropdown-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* Page Title */
#sp-page-title {
  background-color: var(--probiz-primary) !important;
  color: #ffffff;
}

#sp-page-title h2,
#sp-page-title h3 {
  margin: 0;
  font-weight: 300;
  text-transform: uppercase;
}

/* Botones */
.btn-primary,
.sppb-btn-primary {
  background-color: var(--probiz-primary) !important;
  border-color: var(--probiz-primary) !important;
  color: #fff;
}

.btn-primary:hover,
.sppb-btn-primary:hover {
  background-color: var(--probiz-primary-hover) !important;
  border-color: var(--probiz-primary-hover) !important;
}

/* Paginación */
.pagination .page-item.active .page-link {
  background-color: var(--probiz-primary);
  border-color: var(--probiz-primary);
}

/* Estilos de módulos base de Joomla */
.moduletable {
  margin-bottom: 2rem;
}

.moduletable h3 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--probiz-primary);
  padding-bottom: 0.5rem;
  display: inline-block;
}

/* Footer */
#sp-footer {
  font-size: 0.9rem;
  background-color: #1a1a1a !important;
}

#sp-footer a {
  color: #aaaaaa;
}

#sp-footer a:hover {
  color: var(--probiz-primary);
}

/* Redes Sociales y Buscar */
.c-redes,
.c-buscar,
.c-login {
  display: inline-block;
}

.c-login {
  margin-left: 25px;
}

.c-buscar {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 15px !important;
}

.c-buscar .moduletable {
  margin-bottom: 0 !important;
}

.c-buscar .sp-module {
  margin-top: 0;
  margin-left: 0;
}

.c-redes {
  display: flex;
  flex-direction: column;
  margin-right: 20px;
}

.c-redes .youtube {
  width: 170px;
  padding: 3px 8px;
  background: red;
  color: white !important;
  border-radius: 3px;
  text-decoration: none;
  margin: 10px 0;
}

.c-redes .twt {
  width: 170px;
  padding: 3px 2px;
  background: #1da1f2;
  color: white !important;
  padding-left: 7px;
  border-radius: 3px;
  padding-right: 0px;
  margin: 10px 0;
}

.c-redes .fb {
  width: 170px;
  padding: 3px 12px;
  background: #2f4fa4;
  color: white !important;
  border-radius: 3px;
  margin: 10px 0;
}

/* Custom Backgrounds from original site */
/* Removed global com-content background, now handled in view-article rule */

#sp-bottom {
  background-image: url("/images/world-map-dark.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: 50% 0;
  background-color: #130d6f !important;
  color: #e3e3e3;
  padding: 70px 0 0 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

#sp-footer {
  background-color: #130d6f !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#sp-top-bar {
  height: auto !important;
  background-color: #ffffff !important;
}

.footer-fondo {
  width: 100%;
  background-color: #3366CC !important;
  margin-bottom: 0 !important;
}

/* Eliminar espacio blanco debajo del footer del ministerio causado por margin-collapsing */
#sp-footer-ministerio,
#sp-footer-ministerio .moduletable,
#sp-footer-ministerio .custom,
#sp-footer-ministerio p {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  display: block;
}

/* Menu Inscripcion & Politicas */
.menu-inscripcion {
  order: -1 !important;
  margin-right: auto !important;
  flex: none !important;
  display: flex !important;
  align-items: center !important;
}

.menu-inscripcion ul.mod-menu {
  margin: 0 !important;
  padding: 0 !important;
}

.menu-inscripcion a {
  color: #1193d4 !important;
  border: 1px solid #1193d4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 20px !important;
  height: 38px !important;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.menu-inscripcion a:hover {
  background-color: #1193d4 !important;
  color: #ffffff !important;
  border-color: #1193d4 !important;
}

/* Smart Search (mod_finder) styling */
.c-buscar form.finder-search,
.c-buscar form {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
}

.c-buscar input.search-query,
.c-buscar input[type="search"],
.c-buscar input.form-control {
  border: 1px solid #1193d4 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  height: 38px !important;
  color: #333 !important;
  outline: none !important;
}

.c-buscar input.search-query::placeholder,
.c-buscar input[type="search"]::placeholder {
  color: #999 !important;
}

.c-buscar button.btn,
.c-buscar button.btn-primary,
.c-buscar button[type="submit"] {
  background-color: #1193d4 !important;
  border-color: #1193d4 !important;
  color: #ffffff !important;
  padding: 6px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  height: 38px !important;
  border-radius: 4px !important;
  transition: all 0.2s ease-in-out !important;
}

.c-buscar button.btn:hover,
.c-buscar button.btn-primary:hover,
.c-buscar button[type="submit"]:hover {
  background-color: #0d72a5 !important;
  border-color: #0d72a5 !important;
}

/* Breadcrumbs (mod_breadcrumbs) styling */
#sp-breadcrumb {
  background-color: #f5f5f5 !important;
  padding: 0px 0 !important;
  border-bottom: 1px solid #e0e0e0;
}

#sp-breadcrumb .container {
  text-align: left !important;
}

#sp-breadcrumb ol.breadcrumb,
#sp-breadcrumb ul.breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  align-items: center;
}

#sp-breadcrumb ol.breadcrumb li.breadcrumb-item,
#sp-breadcrumb ul.breadcrumb li {
  font-size: 13px;
  color: #777777;
  display: flex;
  align-items: center;
}

#sp-breadcrumb ol.breadcrumb li.breadcrumb-item+li::before,
#sp-breadcrumb ul.breadcrumb li+li::before {
  content: "/";
  padding: 0 8px;
  color: #cccccc;
}

#sp-breadcrumb ol.breadcrumb li.breadcrumb-item a,
#sp-breadcrumb ul.breadcrumb li a {
  color: #1193d4;
  text-decoration: none;
}

#sp-breadcrumb ol.breadcrumb li.breadcrumb-item a:hover,
#sp-breadcrumb ul.breadcrumb li a:hover {
  text-decoration: underline;
}

.menu-politicas {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.menu-politicas li {
  border-bottom: none !important;
  padding: 0 15px;
}

/* Iconos Fijos Laterales */
.pse {
  position: fixed;
  bottom: 100px;
  right: 38px;
  width: 69px;
  height: 69px;
  z-index: 9999;
}

.facebook {
  position: fixed;
  bottom: 248px;
  right: 46px;
  width: 56px;
  height: 56px;
  z-index: 9999;
}

.youtube-fixed {
  position: fixed;
  bottom: 319px;
  right: 46px;
  width: 56px;
  height: 56px;
  z-index: 9999;
}

.instagram {
  position: fixed;
  bottom: 177px;
  right: 46px;
  width: 57px;
  height: 57px;
  z-index: 9999;
}

@media (max-width: 991px) {
  #sp-top-bar {
    height: auto !important;
  }

  /* Navbar Toggler (Hamburger) */
  #sp-header .navbar-toggler {
    margin: 10px 0;
    padding: 6px 10px;
    font-size: 1.25rem;
  }

  /* Mobile Dropdown Styles */
  #sp-header .navbar-nav .dropdown-menu {
    border-top: none !important;
    box-shadow: none;
    border-left: 1px solid #eaeaea;
    border-right: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
  }

  /* Mobile Nested Dropdown Styles */
  #sp-header .navbar-nav .dropdown-menu .dropdown-menu {
    position: static;
    /* Force vertical flow */
    left: auto;
    top: auto;
    margin-top: 0;
    padding-left: 15px;
    /* Indent submenus */
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.03);
    background-color: #fbfbfb;
    border-left: 2px solid var(--probiz-primary);
  }

  /* Make nested arrows point down on mobile */
  #sp-header .navbar-nav .dropdown-menu li.dropdown>.dropdown-toggle::after {
    content: "\f107";
  }
}

/* Mod Articles Override - Hover Zoom Effect */
.mod-articles .card {
  transition: all 0.3s ease;
}

.mod-articles .card .img-hover-zoom {
  overflow: hidden;
}

.mod-articles .card .img-hover-zoom img {
  transition: transform 0.5s ease;
}

.mod-articles .card:hover .img-hover-zoom img {
  transform: scale(1.08);
}

#sp-nueva-web .moduletable {
  margin-bottom: 0;
}

/* Gallery Styles */
.gallery-img-container {
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
}

.gallery-img-container img {
  transition: transform 0.5s ease;
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.gallery-img-container:hover img {
  transform: scale(1.08);
}

#galleryModal .modal-dialog {
  display: flex;
  justify-content: center;
}

#galleryModal .modal-content {
  width: auto !important;
  background: rgba(0, 0, 0, 0.85) !important;
  padding: 15px;
  border-radius: 6px;
}

#galleryModal .modal-header {
  padding: 0 0 12px 0 !important;
}

#galleryModal .modal-body {
  padding: 0 !important;
}

#galleryModal .btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%);
  opacity: 0.8;
}

#galleryModal .btn-close-white:hover {
  opacity: 1;
}

/* Feature Hover Effect */
.feature-icon-box {
  transition: all 0.3s ease;
}

.feature-box:hover .feature-icon-box {
  background-color: var(--probiz-primary) !important;
}

.feature-box:hover .feature-icon-box svg {
  stroke: #ffffff !important;
}

.icon-responsive {
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%231193d4\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"%3E%3Crect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"%3E%3C/rect%3E%3Cline x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"%3E%3C/line%3E%3C/svg%3E');
}

.feature-box:hover .icon-responsive {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23ffffff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"%3E%3Crect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"%3E%3C/rect%3E%3Cline x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\"%3E%3C/line%3E%3C/svg%3E');
}

.icon-transaccional {
  display: inline-block;
  width: 22px;
  height: 22px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%231193d4\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"%3E%3Ccircle cx=\"12\" cy=\"12\" r=\"10\"%3E%3C/circle%3E%3Cpolyline points=\"12 6 12 12 16 14\"%3E%3C/polyline%3E%3C/svg%3E');
}

.feature-box:hover .icon-transaccional {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23ffffff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"%3E%3Ccircle cx=\"12\" cy=\"12\" r=\"10\"%3E%3C/circle%3E%3Cpolyline points=\"12 6 12 12 16 14\"%3E%3C/polyline%3E%3C/svg%3E');
}


@font-face {
  font-family: 'simple-line-icons';
  src: url(../fonts/Simple-Line-Icons.eot?v=2.2.2);
  src: url(../fonts/Simple-Line-Icons.eot?#iefix&v=2.2.2) format('embedded-opentype'), url(../fonts/Simple-Line-Icons.ttf?v=2.2.2) format('truetype'), url(../fonts/Simple-Line-Icons.woff2?v=2.2.2) format('woff2'), url(../fonts/Simple-Line-Icons.woff?v=2.2.2) format('woff'), url(../fonts/Simple-Line-Icons.svg?v=2.2.2#simple-line-icons) format('svg');
  font-weight: 400;
  font-style: normal
}

[class^='icon-stat-'],
[class*=' icon-stat-'] {
  font-family: 'simple-line-icons';
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 45px;
}

.icon-stat-user:before {
  content: '\e005'
}

.icon-stat-shield:before {
  content: '\e00e'
}

.icon-stat-briefcase:before {
  content: '\e04b'
}

.icon-stat-trophy:before {
  content: '\e006'
}

.gallery-img-container {
  cursor: pointer;
}

.client-logo-item img:hover {
  transform: scale(1.05);
}

.client-logo-img {
  max-height: 95px;
  max-width: 180px;
  object-fit: contain;
  filter: grayscale(0%);
  transition: all 0.3s ease;
}

.client-logo-img:hover {
  transform: scale(1.05);
}

/* Logos Banners Styles */
.banner-link-item {
  display: inline-block;
  transition: transform 0.3s ease;
}

.banner-link-item:hover {
  transform: translateY(-5px);
}

.banner-img {
  width: 100%;
  max-height: 150px;
  object-fit: contain;
}

/* Bottom Info Section */
#sp-bottom-info {
  background-color: #1f2227;
  padding: 40px 0 20px 0;
  border-bottom: none;
}

#sp-footer {
  border-top: none !important;
  background-color: #1f2227;
  /* Match the background of the bottom info section */
}

/* Menu Politicas */
.menu-politicas {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-politicas li {
  border-bottom: none !important;
  padding: 0 15px;
  position: relative;
}

.menu-politicas li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.menu-politicas a {
  color: #fff;
  text-decoration: none;
  font-size: 0.85rem;
}

.menu-politicas a:hover {
  color: var(--probiz-primary);
  text-decoration: none;
}

.bottom-info-wrapper {
  gap: 30px;
}

.logo-bottom {
  border-right: 1px solid #555;
  padding-right: 30px;
}

.bottom-logo-img {
  width: 143px;
  height: auto;
  display: block;
}

.bottom-info-text {
  color: #999;
  font-size: 0.95rem;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .bottom-info-wrapper {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }

  .logo-bottom {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid #555;
    padding-bottom: 15px;
  }
}

/* Bottom Modules Styles */
/* Fix margin gaps caused by com_finder CSS */
body.com-finder > section,
body.com-finder > footer,
body.com-finder > header {
  margin-top: 0 !important;
}

#sp-bottom {
  color: #999;
}

#sp-bottom h3,
#sp-bottom .page-header {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 25px;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

#sp-bottom h3::after,
#sp-bottom h3::before,
#sp-bottom .page-header::after,
#sp-bottom .page-header::before {
  display: none !important;
}

#sp-bottom a {
  color: #d1d5db;
  text-decoration: none;
}

#sp-bottom a:hover {
  color: #ffffff;
}

#sp-bottom .textwidget p {
  margin-bottom: 15px;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #999;
}

/* Tag Cloud */
#sp-bottom .tagspopular a,
#sp-bottom .tags a,
.tag-name {
  display: inline-block;
  padding: 5px 15px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 20px;
  font-size: 0.85rem;
  transition: all 0.3s ease;
  color: #fff;
}

#sp-bottom .tagspopular a:hover,
#sp-bottom .tags a:hover,
.tag-name:hover {
  border-color: #fff;
  background-color: #fff;
  color: var(--probiz-primary) !important;
  text-decoration: none;
}

/* Redes Sociales */
#sp-bottom .c-redes a {
  display: block;
  color: #fff;
  padding: 8px 15px;
  margin-bottom: 10px;
  border-radius: 3px;
  font-size: 0.8rem;
  font-weight: 500;
  text-transform: capitalize;
  width: max-content;
  min-width: 150px;
}

#sp-bottom .c-redes a span,
#sp-bottom .c-redes a i {
  margin-right: 8px;
  font-size: 1rem;
}

#sp-bottom .c-redes a.youtube {
  background-color: #ff0000;
}

#sp-bottom .c-redes a.twt {
  background-color: #00aced;
}

#sp-bottom .c-redes a.fb {
  background-color: #3b5998;
}

#sp-bottom .c-redes a:hover {
  color: #fff;
  opacity: 0.9;
}

#google_translate_element img {
  display: initial;
}

/* Floating Icons */

div#accessibility-links.bottomleft #text_plugin {
  left: 46px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
}

div#accessibility-links.bottomleft #text_plugin {

  bottom: 80px !important;

}


.pse {
  position: fixed;
  bottom: 100px;
  right: 38px;
  width: 69px;
  height: 69px;
  z-index: 9999;
}

.facebook {
  position: fixed;
  bottom: 248px;
  right: 46px;
  width: 56px;
  height: 56px;
  z-index: 9999;
}

.youtube-fixed {
  position: fixed;
  bottom: 319px;
  right: 46px;
  width: 56px;
  height: 56px;
  z-index: 9999;
}

.instagram {
  position: fixed;
  bottom: 177px;
  right: 46px;
  width: 57px;
  height: 57px;
  z-index: 9999;
}


@media (max-width: 768px) {

  .pse {
    right: 0px;
    bottom: 150px;
  }

  .youtube-fixed {
    right: 5px;
    bottom: 368px;
  }

  .facebook {
    right: 5px;
    bottom: 299px;
  }

  .instagram {
    right: 5px;
    bottom: 230px;
  }

  .fxo-widget-iframe {
    bottom: 75px !important;
    right: -19px !important;

  }

  div#accessibility-links.bottomleft #text_plugin {
    left: 5px;

  }



}

/* Override para Articulos y Categorias (Igual a infotepviejo) */
body.com-content #sp-main-body {
  background-color: #b7d4f7;
}

body:not(.homepage) #sp-main-body {
  padding: 100px 0 !important;
}

.table>:not(caption)>*>* {
  background-color: inherit !important;
}


/************************************************************************************
ACORDEON
*************************************************************************************/
.acordeon-iconos {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.accordion-anidado a {
  color: #13386d;
}

.accordion-anidado a.toggle {
  color: #13386d;
}

.accordion-anidado ul {
  list-style: none;
}

.accordion-anidado .accordion {
  padding-left: 30px;
}

.accordion-anidado .inner-panel {
  position: relative;
}

.accordion-anidado .inner-panel>a:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 12px;
  right: 10px;
  width: 12px;
  height: 12px;
  border-bottom: solid 2px #13386d;
  border-left: solid 2px #13386d;
  transform: rotate(-45deg);
  transition: all .3s;
}

.accordion-anidado .hidden {
  display: none;
}

.accordion-anidado .inner-panel.active>a:after {
  transform: rotate(135deg);
  top: 16px;
}

.accordion-anidado .inner-panel>a {
  text-decoration: none;
  font-weight: 700;
  padding-right: 30px !important;
}

.accordion-anidado .inner-panel>a strong {
  font-weight: 700;
}

.accordion-anidado .inner-panel.active>a {
  color: #3c80d7;
}

.accordion-anidado .accordion>li {
  margin-bottom: 2rem;
  position: relative;
  cursor: pointer;
}

.accordion-anidado .accordion>li>img {
  position: absolute;
  left: -30px;
  top: 5px;
  width: 35px;
  height: auto;
}

.accordion-anidado .accordion>li>ul {
  padding-left: 30px;
}

.accordion-anidado .accordion>li>a {
  display: block;
  background-color: #b8cae8;
  padding: 8px 15px;
  text-decoration: none;
  border-radius: 8px;
  font-size: 1.15rem;
  font-weight: 700;
  margin-left: 16px;
}

.accordion-anidado .accordion>li>a strong {
  font-weight: 700;
}

.accordion-anidado .accordion>li>ul>li {
  display: block;
  background-color: #ccdbf2;
  padding: 8px 15px;
  border-radius: 8px;
  margin: 10px 0;
}

.accordion-anidado .accordion>li>ul>li.inner-panel {
  background-color: transparent;
  padding: unset;
  border: unset;
  margin: unset;
}

.accordion-anidado .accordion>li>ul>li.inner-panel>a {
  display: block;
  background-color: #ccdbf2;
  padding: 8px 15px;
  border-radius: 8px;
  margin: 10px 0;
}

.accordion-anidado .accordion>li>ul>li>ul {
  background-color: #eaeff4;
  border-radius: 8px;
  margin-left: 2rem;
  padding: 15px 15px 15px 30px;
}

.accordion-anidado .accordion>li>ul>li>ul>li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px;
}

.accordion-anidado .accordion>li>ul>li>ul>li.inner-panel {
  display: block;
}

.accordion-anidado .accordion>li>ul>li>ul>li>a {
  margin-left: 1rem;
}

.accordion-anidado .accordion>li>ul>li>ul>li.inner-panel a {
  margin-left: 0;
}

.accordion-anidado .accordion>li>ul>li>ul>li.inner-panel ul li {
  margin-bottom: 15px;
}

.cicon-trans {
  flex-wrap: wrap;
  justify-content: center;
}

.cicon-trans img {
  margin: 0 auto;
}

.cicon-trans>div {
  padding: 15px;
}

.texticon-trans {
  max-width: 140px;
  text-align: center;
  line-height: 20px;
}

/* Iconos de Presentacion (Egresados) */
img[src*="p-egresados-r.png"],
img[src*="objetivo-r.png"] {
  display: inline-block !important;
  vertical-align: middle;
  margin: 10px !important;
}

/* Directorio de Funcionarios y Contratistas */
.table-funcionarios .columna-foto {
  width: 120px;
  vertical-align: top;
}

.table-funcionarios .columna-foto img {
  max-width: 100px;
  height: auto;
}

.table-funcionarios .columna-datos {
  vertical-align: top;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #444;
}

.table-funcionarios .columna-datos a {
  font-weight: 700;
  color: var(--probiz-primary, #1193d4);
  text-transform: uppercase;
  text-decoration: none;
}

.table-funcionarios .columna-datos a:hover {
  text-decoration: underline;
}

/* Responsividad para la tabla Directorio */
@media (max-width: 767px) {

  .table-funcionarios,
  .table-funcionarios tbody,
  .table-funcionarios tr {
    display: block;
    width: 100%;
  }

  .table-funcionarios tr {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid #dee2e6;
  }

  .table-funcionarios td {
    display: block;
    border: none !important;
    width: 100%;
  }

  .table-funcionarios .columna-foto {
    padding-bottom: 0 !important;
    width: 100%;
    text-align: center;
  }

  .table-funcionarios .columna-foto img {
    display: inline-block;
    margin: 0 auto;
  }

  .table-funcionarios .columna-datos {
    padding-top: 10px !important;
    word-wrap: break-word;
    word-break: break-word;
    overflow-wrap: break-word;
  }
}

/* Custom Article View Styles */
.com-content-article.item-page {
  background-color: #ffffff;
  padding: 40px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.03);
  border-radius: 4px;
}

.com-content-article h3 {
  font-weight: bold !important;

}

.article-main-image img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin-bottom: 25px;
}

.article-custom-header {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
}

.article-push-pin {
  border: 1px solid var(--probiz-primary, #1193d4);
  color: var(--probiz-primary, #1193d4);
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  border-radius: 4px;
  margin-right: 20px;
  flex-shrink: 0;
}

.article-title-block {
  flex-grow: 1;
}

.article-info {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  list-style: none;
  padding: 0;
  margin: 0 0 5px 0;
  font-size: 0.8rem;
  color: #888;
  text-transform: uppercase;
}

.article-info li {
  display: flex;
  align-items: center;
}

.article-info li i {
  color: #777;
  margin-right: 5px;
  font-size: 0.9rem;
}

.article-info li span {
  color: var(--probiz-primary, #1193d4);
  text-decoration: none;
}

.article-custom-title {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 500;
  color: #444;
  line-height: 1.2;
}

.com-content-article__body {
  color: #444;
  line-height: 1.6;
  font-size: 1rem;
}

@media (max-width: 768px) {
  .com-content-article.item-page {
    padding: 40px 20px;
  }


}

/* Title format for Noticias and Galeria */
#sp-noticias .moduletable h3,
#sp-galeria .moduletable h3 {
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: 3px !important;
  font-weight: 300 !important;
  font-size: 2rem !important;
  border-bottom: none !important;
  display: block !important;
  position: relative;
  padding-bottom: 20px !important;
  margin-bottom: 3rem !important;
  margin-top: 1.5rem !important;
}

#sp-noticias .moduletable h3::after,
#sp-galeria .moduletable h3::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background-color: var(--probiz-primary);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#sp-slider .moduletable {
  margin-bottom: 0;
}

/* Contacto Top Styling */
.sp-contact-info {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
}

.sp-contact-info li {
  display: flex;
  align-items: center;
}

.sp-contact-info li i {
  color: var(--probiz-primary);
  font-size: 1.2rem;
  border: 1px solid var(--probiz-primary);
  border-radius: 4px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}

.sp-contact-info .contact-content {
  margin: 0;
  line-height: 1.4;
  text-align: left;
}

.sp-contact-info .contact-title {
  display: block;
  color: #777;
  font-size: 0.85rem;
}

.sp-contact-info .contact-content span:last-child {
  font-weight: 600;
  color: #333;
  font-size: 0.95rem;
  white-space: nowrap !important;
}

/* Fallback icons to FontAwesome if SimpleLineIcons missing */
.sp-contact-info .icon-call-in::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.sp-contact-info .icon-envelope-letter::before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

/* Responsive Overrides for MainTop */
@media (max-width: 767px) {
  #sp-main-top .row>div:nth-child(1) img {
    width: 330px !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .sp-contact-info {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 15px;
  }
}

/* Legacy Pe-icon-7-stroke Font for Caja Iconos */
@font-face {
  font-family: 'Pe-icon-7-stroke';
  src: url('../fonts/Pe-icon-7-stroke.eot');
  src: url('../fonts/Pe-icon-7-stroke.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Pe-icon-7-stroke.woff') format('woff'),
    url('../fonts/Pe-icon-7-stroke.ttf') format('truetype'),
    url('../fonts/Pe-icon-7-stroke.svg#Pe-icon-7-stroke') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="pe-7s-"],
[class*=" pe-7s-"] {
  display: inline-block;
  font-family: 'Pe-icon-7-stroke';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pe-7s-user:before {
  content: "\e605";
}

.pe-7s-paper-plane:before {
  content: "\e629";
}

.pe-7s-study:before {
  content: "\e60f";
}

.pe-7s-add-user:before {
  content: "\e6a9";
}

.pe-7s-like:before {
  content: "\e642";
}

.pe-7s-note2:before {
  content: "\e69d";
}

.pe-7s-network:before {
  content: "\e69e";
}

.pe-7s-global:before {
  content: "\e64f";
}

.pe-7s-date:before {
  content: "\e660";
}

.pe-7s-notebook:before {
  content: "\e62b";
}

.pe-7s-search:before {
  content: "\e618";
}

.pe-7s-like2:before {
  content: "\e6a1";
}

/* Estadisticas Module Styling */
.stat-icon-container {
  margin-right: 1.5rem !important;
}

.stat-divider {
  width: 1px;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.4);
  margin-right: 1.5rem;
}

.stat-count {
  font-size: 2.2rem;
  line-height: 1;
}

.stat-label {
  font-size: 0.75rem;
  letter-spacing: 1px;
  opacity: 0.9;
}

/************************************************************************************
LEGACY ACCORDION (BOOTSTRAP 3 PANELS)
*************************************************************************************/
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}

.panel-group .panel+.panel {
  margin-top: 5px;
}

.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  background-color: #f5f5f5;
  border-color: #ddd;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}

.panel-title>a {
  display: block;
  text-decoration: none !important;
  font-weight: 500;
  color: #1193d4;
  /* Infotep Blue */
}

.panel-body {
  padding: 15px;
}

.panel-body img {
  max-width: 100%;
  height: auto;
  margin-bottom: 15px;
  display: block;
}

.panel-body h4 {
  font-size: 16px;
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 10px;
}

.panel-body ul {
  padding-left: 20px;
  margin-bottom: 15px;
}

/* ========================================================================
   OFERTA ACADÉMICA
   ======================================================================== */
.oferta-banner {
  display: block;
  margin: 0 auto 20px auto;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.oferta-titulo {
  font-weight: bold;
  font-size: 1.1rem;
  color: var(--probiz-primary, #13386d);
  margin-top: 15px;
}

.oferta-subtitulo {
  font-weight: bold;
  color: var(--probiz-primary, #13386d);
  font-size: 1.1rem;
  margin-top: 25px;
}

.oferta-sub {
  font-size: 1.4rem;
  font-weight: normal;
  color: #555;
}

.oferta-contacto-box {
  background-color: #fafbfc;
  border-left: 4px solid var(--probiz-primary, #13386d);
  padding: 15px;
  margin-top: 30px;
  margin-bottom: 25px;
}

.oferta-contacto-titulo {
  font-weight: bold;
  color: var(--probiz-primary, #13386d);
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.1rem;
}

.oferta-table-wrap {
  margin-top: 20px;
  margin-bottom: 20px;
}

.oferta-table {
  border: 1px solid #b8cae8;
  background-color: #fff;
  width: 100%;
}

.oferta-table thead tr {
  background-color: #e2edf9;
  color: var(--probiz-primary, #13386d);
}

.oferta-table th {
  font-weight: bold;
  border: 1px solid #b8cae8;
  padding: 10px;
  text-align: left;
  vertical-align: middle;
}

.oferta-table td {
  border: 1px solid #b8cae8;
  padding: 10px;
  color: #333;
  vertical-align: middle;
}

.oferta-inscribete {
  display: block;
  margin: 0 auto;
  max-width: 280px;
  height: auto;
}

/* ATENCION AL CIUDADANO y participa */

#recuadros_at_ciud {
  margin-top: 80px;
}

#recuadros_participa .ateCiud-card {
  margin-top: 40px;
  min-height: 310px !important;
}

#recuadros_investigacion .ateCiud-card {
  margin-top: 40px;
  min-height: 250px !important;
}

.ateCiud-card {
  text-align: center;
  padding-left: 25px !important;
  padding-right: 25px !important;
  min-height: 400px !important;
  margin-bottom: 15px;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

.ateCiud-card:hover {
  transform: translateY(-10px);
  filter: drop-shadow(0px 10px 15px rgba(0, 0, 0, 0.15));
}

.ateCiud-card:hover img {
  transform: scale(1.05);
}

.ateCiud-card:nth-child(1):after,
.ateCiud-card:nth-child(2):after,
.ateCiud-card:nth-child(3):after,
.ateCiud-card:nth-child(4):after {
  content: "";
  display: block;

  position: absolute;
  bottom: 0;
  left: 30px;
  right: 30px;
}

.ateCiud-card img {
  max-width: 140px;
  height: auto;
  display: block;
  margin: auto;
  transition: transform 0.4s ease;
}

.ateCiud-card a {
  font-size: 21px;
  line-height: 1.2;
  font-weight: bold;
}

.ateCiud-card .caption {
  margin-top: 10px;
  width: auto !important;
}

.ateCiud-card a,
.ateCiud-card p,
.ateCiud-card p span {
  color: #13386d !important;
}

/* ========================================================================
   BLOG CATEGORY: MORE ARTICLES AND PAGINATION
   ======================================================================== */
.items-more {
  background-color: #ffffff;
  padding: 25px 30px;
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 30px;
}

.items-more ol {
  padding-left: 20px;
  margin-bottom: 0;
}

.items-more ol li {
  margin-bottom: 12px;
}

.items-more ol li:last-child {
  margin-bottom: 0;
}

.items-more ol li a {
  color: #13386d;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s;
}

.items-more ol li a:hover {
  text-decoration: underline;
  color: #0d6efd;
}

/* Navigation & Pagination Block */
.com-content-category-blog__navigation {
  background-color: #ffffff;
  padding: 20px 30px;
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.com-content-category-blog__navigation .counter {
  float: none !important;
  padding: 0 !important;
  margin: 0;
  color: #666;
  font-weight: 500;
}

.com-content-category-blog__pagination {
  margin: 0;
}

.com-content-category-blog__pagination .pagination {
  margin-bottom: 0 !important;
}

/* Fix Joomla Core Pagination Icons to use FontAwesome */
.icon-angle-double-left::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f100";
  /* fa-angle-double-left */
}

.icon-angle-left::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f104";
  /* fa-angle-left */
}

.icon-angle-right::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  /* fa-angle-right */
}

.icon-angle-double-right::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f101";
  /* fa-angle-double-right */
}