/**
 * Bootstrap 4 fixes for Drupal.
 * Versión organizada y optimizada.
 */

/* =====================
   FIXES GENERALES DRUPAL
   ===================== */

/* Fix for contextual links */
.contextual {
  z-index: 100;
}

/* Fix for tooltips */
.tooltip {
  position: absolute;
  z-index: 1070;
}

/* Fix for dropdown menus */
.dropdown-menu {
  min-width: 10rem;
  z-index: 1000;
}

/* Fix for modal windows */
.modal-open .modal {
  z-index: 1050;
}

/* Fix for form elements */
.form-control.error {
  border-color: #dc3545;
}

/* Layout builder compatibility */
.ui-dialog-content .form-control,
.ui-dialog-content .btn {
  display: initial;
}

/* Fix Bootstrap grid in Layout Builder */
.layout-builder .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* Corregir visualización de íconos FontAwesome */
.fab,
.fa {
  display: inline-block !important;
}

/* Corregir el dropdown-menu para que sea visible */
.dropdown-menu.show {
  display: block !important;
}

/* =====================
   MENÚ EN VERSIÓN DESKTOP
   ===================== */
@media (min-width: 992px) {
  /* Esconder hamburguesa en desktop */
  .theme-menu-wrapper .navbar-toggler {
    display: none !important;
  }
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item:focus,
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item.active
    a.dropdown-item {
    color: #fff !important;
    background-color: transparent !important;
    text-decoration: underline;
  }
}

/* =====================
   MENÚ EN VERSIÓN MÓVIL
   ===================== */
@media (max-width: 991px) {
  /* 1. ESTRUCTURA BASE */

  /* Configurar contenedor del menú para posicionamiento absoluto del desplegable */
  .theme-menu-wrapper .menu-wrapper {
    width: auto !important;
    flex: 0 0 50% !important;
    float: none !important;
    position: static !important;
  }

  /* Navbar también debe ser static para permitir posicionamiento absoluto */
  .theme-menu-wrapper .menu-wrapper .navbar {
    position: static !important;
  }

  /* Widget de redes sociales */
  .theme-menu-wrapper .right-widget {
    width: auto !important;
    flex: 0 0 50% !important;
    float: none !important;
    margin-top: 0 !important;
    text-align: right !important;
    border-top: none !important;
    padding: 10px 15px !important;
  }

  /* Alineación de iconos sociales */
  .theme-menu-wrapper .right-widget ul {
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Tamaño de fuente de iconos */
  .theme-menu-wrapper .right-widget ul li a {
    font-size: 14px !important;
  }

  /* Ocultar búsqueda en móvil */
  .theme-menu-wrapper .right-widget .search-option {
    display: none !important;
  }

  /* 2. HAMBURGUESA */
  /* Icono hamburguesa personalizado */
  .navbar-dark .navbar-toggler-icon {
    background-image: none !important;
    position: relative;
  }

  .navbar-dark .navbar-toggler-icon,
  .navbar-dark .navbar-toggler-icon:before,
  .navbar-dark .navbar-toggler-icon:after {
    display: block;
    width: 22px;
    height: 2px;
    background-color: #ffffff !important;
    border-radius: 1px;
  }

  .navbar-dark .navbar-toggler-icon:before,
  .navbar-dark .navbar-toggler-icon:after {
    content: "";
    position: absolute;
    left: 0;
  }

  .navbar-dark .navbar-toggler-icon:before {
    top: -6px;
  }

  .navbar-dark .navbar-toggler-icon:after {
    bottom: -6px;
  }

  /* 3. MENÚ DESPLEGABLE */
  /* Menú desplegable a ancho completo */
  .theme-menu-wrapper .bg-wrapper .menu-wrapper .navbar .navbar-collapse {
    position: absolute !important;
    top: 100% !important; /* Separación desde la barra superior */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important; /* Ancho completo viewport */
    max-width: 100vw !important;
    margin-left: calc(
      (100vw - 100%) / -2
    ) !important; /* Centrarlo en el viewport */
    margin-right: calc((100vw - 100%) / -2) !important;
    padding-left: calc(
      (100vw - 100%) / 2
    ) !important; /* Padding para alineación */
    padding-right: calc((100vw - 100%) / 2) !important;
    background-color: #fff !important;
    box-shadow: 0px 13px 25px -12px rgba(0, 0, 0, 0.25) !important;
    z-index: 9999 !important;
    max-height: 80vh !important; /* Limitar altura y permitir scroll */
    overflow-y: auto !important;
  }

  /* Contenido del menú centrado */
  .theme-menu-wrapper
    .bg-wrapper
    .menu-wrapper
    .navbar
    .navbar-collapse
    .navbar-nav {
    width: 100% !important;
    max-width: 1140px !important; /* O el ancho de tu container */
    padding: 0 !important;
    margin: 0 auto !important;
  }

  /* Mejorar visibilidad de enlaces principales */
  .theme-menu-wrapper
    .bg-wrapper
    .menu-wrapper
    .navbar
    .navbar-collapse
    .navbar-nav
    .nav-item
    .nav-link {
    padding: 0 15px !important;
    line-height: 48px !important;
    font-size: 15px !important;
  }

  /* 4. SUBMENÚS DESPLEGABLES */
  /* Estilo del submenú */
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu {
    background-color: #f8f9fa !important;
    margin-left: 15px !important; /* Indentación */
    width: calc(100% - 15px) !important;
  }

  /* Efecto hover con barra que crece - igual que desktop */
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    height: 100% !important;
    width: 0 !important;
    background-color: #001a57 !important;
    z-index: -1 !important;
    transition: width 300ms ease !important;
  }

  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item:hover:before,
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item:focus:before,
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item.active:before {
    width: 100% !important;
  }

  /* Color de texto en hover/active */
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item:hover,
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item:focus,
  .theme-menu-wrapper
    .menu-wrapper
    .navbar
    .navbar-nav
    .nav-item.dropdown
    .dropdown-menu
    .dropdown-item.active {
    color: #fff !important;
    background-color: transparent !important;
  }
}

/* =====================
   FIXES ESPECÍFICOS TEMPLATE
   ===================== */
.hide,
.hide:hover,
.hide:focus {
  display: none;
  visibility: hidden;
  opacity: 0;
  transform: scale(0);
  overflow: hidden;
}

.hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
}

.full-width-section {
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
}

.full-width-section .w-100 .row.no-gutters .col-12 {
  padding: 0 !important;
  margin: 0 !important;
}

/* Fix FontAwesome free
.fa-solid,
.fas,
.fa {
  font-weight: 900 !important;
  color: #001a57;
}*/

main .details-wrapper ul,
main .field ul,
main .field__item ul {
  list-style: none;
  padding-left: 0;
}

main .details-wrapper ul li,
main .field ul li,
main .field__item ul li {
  position: relative;
  padding-left: 1.8em;
  margin-bottom: 0.75em;
  text-align: left;
}

main .details-wrapper ul li::before,
main .field ul li::before,
main .field__item ul li::before {
  content: "\f00c"; /* FontAwesome 5 check icon */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.15em;
  color: #001a57;
  font-size: 1em;
  line-height: 1;
}

.theme-footer-one .top-footer .about-widget .queries i {
  color: white;
}
