/* =========================================================
   PIL - CSS PERSONALIZADO
   =========================================================
   Este archivo contiene todos los estilos personalizados
   del proyecto.

   No modificar main.css.
   ========================================================= */


/* =========================================================
   =========================================================
   ENCABEZADO
   =========================================================
   ========================================================= */


/* ---------------------------------------------------------
   ENCABEZADO PRINCIPAL
   --------------------------------------------------------- */

#header {
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  z-index: 997;
}


/* ---------------------------------------------------------
   ÁREA PRINCIPAL DEL ENCABEZADO
   --------------------------------------------------------- */

#header .branding {
  min-height: 78px;
  background: #ffffff;
}

#header .branding > .container {
  min-height: 78px;
}


/* ---------------------------------------------------------
   LOGO
   --------------------------------------------------------- */

#header .logo {
  text-decoration: none;
  height: 58px;
  display: flex;
  align-items: center;
}

#header .logo img {
  display: block;
  width: auto;
  height: 48px;
  max-width: 190px;
  object-fit: contain;

  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

#header .logo:hover img {
  transform: scale(1.03);
  opacity: 0.95;
}


/* ---------------------------------------------------------
   MENÚ
   --------------------------------------------------------- */

#header .navmenu {
  display: flex;
  align-items: center;
}

#header .navmenu ul {
  margin: 0;
  padding: 0;

  list-style: none;

  display: flex;
  align-items: center;

  gap: 8px;
}

#header .navmenu ul li {
  position: relative;
}

#header .navmenu ul li a {
  position: relative;

  display: flex;
  align-items: center;

  padding: 10px 16px;

  color: #333333;

  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;

  text-decoration: none;

  border-radius: 6px;

  transition:
    color 0.25s ease,
    background-color 0.25s ease;
}


/* ---------------------------------------------------------
   HOVER DEL MENÚ
   --------------------------------------------------------- */

#header .navmenu ul li a:hover {
  color: #0d6efd;
  background: rgba(13, 110, 253, 0.06);
}


/* ---------------------------------------------------------
   ENLACE ACTIVO
   --------------------------------------------------------- */

#header .navmenu ul li a.active {
  color: #0d6efd;
  font-weight: 600;
}


/* Línea inferior del enlace activo */

#header .navmenu ul li a.active::after {
  content: "";

  position: absolute;

  left: 16px;
  right: 16px;
  bottom: 2px;

  height: 2px;

  background: #0d6efd;

  border-radius: 2px;
}


/* ---------------------------------------------------------
   BOTÓN MENÚ MÓVIL
   --------------------------------------------------------- */

#header .mobile-nav-toggle {
  font-size: 28px;
  color: #333333;

  cursor: pointer;

  transition: color 0.2s ease;
}

#header .mobile-nav-toggle:hover {
  color: #0d6efd;
}


/* =========================================================
   =========================================================
   FILTROS DE MANIFIESTOS
   =========================================================
   ========================================================= */


/* ---------------------------------------------------------
   CONTENEDOR DE FILTROS
   --------------------------------------------------------- */

.filtros-manifiestos {
  background: #ffffff;

  border-radius: 10px;

  padding: 25px;

  margin-bottom: 25px;

  box-shadow:
    0 4px 15px rgba(0, 0, 0, 0.08);
}


/* ---------------------------------------------------------
   ETIQUETAS
   --------------------------------------------------------- */

.filtros-manifiestos .form-label {
  font-weight: 600;
  margin-bottom: 7px;
}


/* ---------------------------------------------------------
   INPUTS Y SELECT
   --------------------------------------------------------- */

.filtros-manifiestos .form-control,
.filtros-manifiestos .form-select {
  min-height: 44px;

  border-radius: 6px;
}


/* ---------------------------------------------------------
   BOTONES DE CONSULTA
   --------------------------------------------------------- */

.btn-consulta {
  min-height: 44px;

  font-weight: 600;

  border-radius: 6px;
}


/* ---------------------------------------------------------
   CONTADOR DE RESULTADOS
   --------------------------------------------------------- */

#contadorResultados {
  font-size: 14px;

  font-weight: 500;

  color: #6c757d;
}


/* =========================================================
   =========================================================
   TABLA DE MANIFIESTOS
   =========================================================
   ========================================================= */


/* ---------------------------------------------------------
   TABLA PRINCIPAL
   --------------------------------------------------------- */

#tablaManifiestos {
  width: 100% !important;
}


/* ---------------------------------------------------------
   ENCABEZADOS
   --------------------------------------------------------- */

#tablaManifiestos thead th {
  white-space: nowrap;

  font-weight: 600;
}


/* ---------------------------------------------------------
   CELDAS
   --------------------------------------------------------- */

#tablaManifiestos tbody td {
  vertical-align: middle;
}


/* ---------------------------------------------------------
   NÚMERO DE MANIFIESTO
   --------------------------------------------------------- */

.numero-manifiesto {
  font-weight: 700;

  white-space: nowrap;
}


/* ---------------------------------------------------------
   FECHA
   --------------------------------------------------------- */

.fecha-manifiesto {
  white-space: nowrap;
}


/* ---------------------------------------------------------
   MENSAJE DE CONSULTA
   --------------------------------------------------------- */

.mensaje-consulta {
  text-align: center;

  padding: 20px;

  color: #6c757d;
}


/* ---------------------------------------------------------
   CONTENEDOR DE TABLA
   --------------------------------------------------------- */

.tabla-manifiestos-contenedor {
  width: 100%;

  overflow-x: auto;

  -webkit-overflow-scrolling: touch;
}


/* =========================================================
   =========================================================
   RESPONSIVE - TABLET
   =========================================================
   ========================================================= */

@media (max-width: 991.98px) {


  /* -------------------------------------------------------
     ENCABEZADO
     ------------------------------------------------------- */

  #header .branding {
    min-height: 72px;
  }

  #header .branding > .container {
    min-height: 72px;
  }

  #header .logo img {
    height: 44px;
    max-width: 175px;
  }


  /* -------------------------------------------------------
     FILTROS
     ------------------------------------------------------- */

  .filtros-manifiestos {
    padding: 20px;
  }

}


/* =========================================================
   =========================================================
   RESPONSIVE - CELULAR
   =========================================================
   ========================================================= */

@media (max-width: 767.98px) {


  /* -------------------------------------------------------
     BARRA SUPERIOR
     ------------------------------------------------------- */

  #header .topbar {
    min-height: 32px;
  }

  #header .topbar .container {
    min-height: 32px;
  }

  #header .contact-info {
    font-size: 11px;
  }

  #header .contact-info i.ms-4 {
    margin-left: 12px !important;
  }


  /* -------------------------------------------------------
     ÁREA PRINCIPAL HEADER
     ------------------------------------------------------- */

  #header .branding {
    min-height: 68px;
  }

  #header .branding > .container {
    min-height: 68px;
  }


  /* -------------------------------------------------------
     LOGO
     ------------------------------------------------------- */

  #header .logo {
    height: 52px;
  }

  #header .logo img {
    height: 40px;
    max-width: 155px;
  }


  /* -------------------------------------------------------
     MENÚ MÓVIL
     ------------------------------------------------------- */

  #header .mobile-nav-toggle {
    font-size: 27px;
  }


  /* -------------------------------------------------------
     FILTROS
     ------------------------------------------------------- */

  .filtros-manifiestos {
    padding: 18px;

    border-radius: 8px;

    margin-left: 0;
    margin-right: 0;
  }


  .filtros-manifiestos .form-control,
  .filtros-manifiestos .form-select {
    min-height: 48px;

    font-size: 15px;
  }


  .filtros-manifiestos .form-label {
    font-size: 14px;
  }


  /* -------------------------------------------------------
     BOTONES
     ------------------------------------------------------- */

  .botones-consulta {
    width: 100%;
  }

  .btn-consulta {
    min-height: 48px;

    font-size: 15px;
  }


  /* -------------------------------------------------------
     TABLA
     ------------------------------------------------------- */

  #tablaManifiestos_wrapper {
    font-size: 13px;
  }

  #tablaManifiestos {
    font-size: 13px;

    min-width: 850px;
  }

  #tablaManifiestos th,
  #tablaManifiestos td {
    padding: 9px 10px;
  }


  /* -------------------------------------------------------
     CONTADOR
     ------------------------------------------------------- */

  #contadorResultados {
    font-size: 13px;

    margin-bottom: 12px !important;
  }


  /* -------------------------------------------------------
     TÍTULO DE MANIFIESTOS
     ------------------------------------------------------- */

  #manifiestos .section-title h2 {
    font-size: 27px;
  }

  #manifiestos .section-title p {
    font-size: 14px;
  }

}


/* =========================================================
   =========================================================
   RESPONSIVE - CELULAR PEQUEÑO
   =========================================================
   ========================================================= */

@media (max-width: 480px) {


  /* -------------------------------------------------------
     HEADER
     ------------------------------------------------------- */

  #header .topbar {
    display: none;
  }

  #header .branding {
    min-height: 64px;
  }

  #header .branding > .container {
    min-height: 64px;
  }

  #header .logo img {
    height: 38px;
    max-width: 145px;
  }


  /* -------------------------------------------------------
     FILTROS
     ------------------------------------------------------- */

  .filtros-manifiestos {
    padding: 15px;
  }


  /* -------------------------------------------------------
     TÍTULO
     ------------------------------------------------------- */

  #manifiestos .section-title h2 {
    font-size: 24px;
  }

  #manifiestos .section-title p {
    font-size: 13px;
  }


  /* -------------------------------------------------------
     BOTONES
     ------------------------------------------------------- */

  .botones-consulta {
    flex-direction: column !important;
  }

  .botones-consulta .btn {
    width: 100%;
  }


  /* -------------------------------------------------------
     TABLA
     ------------------------------------------------------- */

  #tablaManifiestos {
    min-width: 850px;
  }

}