@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
        
 
       body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
main {
    flex: 1 0 auto; /* Esto hace que el contenido crezca y empuje al footer */
}


/* Ajuste para que no se corte la parte inferior */
/* ===== ESTILOS PARA EL SLIDER GENERAL ===== */
/* Ajuste para que la imagen no se corte y sea responsive */
/* Contenedor principal del Slider */
/* Contenedor del Carrusel */
#miCarrusel {
    width: 100%;
    max-width: 1600px;
    max-height: 380px;
    margin: 0 auto;
    /* Mantiene la nueva proporción 1920x1280 */
    aspect-ratio: 1600 / 400; 
    overflow: hidden;
}

#miCarrusel .carousel-inner,
#miCarrusel .carousel-item {
    height: 100%;
}

#miCarrusel .carousel-item img {
    width: 100%;
    height: 100%;
    /* 'cover' asegura que la imagen llene el espacio sin estirarse */
    object-fit: cover;
    /* Mantenemos el logo a la derecha en PC */
    object-position: right center;
}

/* Ajuste específico para pantallas pequeñas (móviles) */
@media (max-width: 350px) {
    #miCarrusel {
        /* Ajustamos a una altura más cómoda para pulgares en móvil */
        aspect-ratio: 1 / 1; 
    }
    #miCarrusel .carousel-item img {
        object-position: center;
    }
    #footer .footer-logo img {
        max-height: 60px;
        margin-top: 15px;
    }
}

/* Estilo para los botones de navegación */
.carousel-control-prev, .carousel-control-next {
    width: 5%;
    filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.5));
}

.header .texto {
  color: white;
  font-weight: 500;
}

.btn-outline-primary {
  border-color: white;
  color: white;
}

.btn-outline-primary:hover {
  background-color: white;
  color: #1b2c48;
}

#footer {
    background-color: #002250; /* Un gris muy oscuro casi negro */
      color: #fff;
    flex-shrink: 0;
}

#footer a:hover {
    color: #ffde1d !important; /* Amarillo del logo al pasar el mouse */
}

/* Color Institucional */
.btn-soledad {
    background-color: #002250 !important;
    color: #ffffff !important;
    border: 1px solid #002250;
}

.btn-soledad:hover {
    background-color: #00337a !important; /* Un poco más claro al pasar el mouse */
    color: #ffffff !important;
}

.btn-outline-soledad {
    background-color: transparent;
    color: #002250 !important;
    border: 2px solid #002250;
    font-weight: 600;
}

.btn-outline-soledad:hover {
    background-color: #002250 !important;
    color: #ffffff !important;
}

.hero-img {
  height: 50vh;
  min-height: 300px;
  object-fit: cover;
}


        .header {
      height: 60px;
      width: 100%;
      background-color: #f8f9fa;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0px 15px;
      position: sticky;
  top: 0;
  z-index: 9999;
      box-shadow: 0px 5px 5px rgb(0 0 0 / 20%);
    }
      .container-header {
      width: 90%;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .logo-texto {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .logo {
      height: 40px;
      width: auto;
      object-fit: contain;
    }
    .texto {
      font-weight: bold;
      font-size: 16px;
    }
    .barra {
      display: flex;
      align-items: center;
    }

   .contenido {
  width: 90%;
  margin: 0 auto;   
}

.box{
  background-color: green;
  width: 100%;
  height: 100vh;
}

.boxRegistros{
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}

.boxRegistros div {
  background-color: #f5f5f5;
  border-radius: 10px;
  height: auto;
  display: block;
  justify-content: center;
  width: 20%;
  margin-left: 10px;
  margin-right: 10px;  
padding: 20px;
color: #1b2c48;
margin: 0 auto;
text-align: center;
}

.boxRegistros div:hover{
  box-shadow: -5px 7px 5px rgb(0 0 0 / 0.2) ;
  transition: 500ms;
}

.boxRegistros a {

  width: 90%;
  background-color: #1b2c48 !important;
  color:   white !important;
  font-weight: 400;
  font-family: "Inter", sans-serif;
  border: none;
  margin: 6px 0px;
  padding: 10px;
  transition: 500ms;
}

.boxRegistros a:hover{
   background-color: #ffd916 !important;
  color:   #1b2c48 !important;
  
} 

.boxRegistros div h3 {

  font-size: 24px;
  margin: 36px 0px;
}


.iconbox{
  margin-top: 16px;
  width: 50px;
  height: 50px;
}
.seccion{
padding: 30px;
background-color: white;
box-shadow: 2px 2px 10px lightgray;
display: flex;
height: auto;
margin-bottom: 60px;
}

#seccion1-contenedor1{
  width: 58%;
  padding: 30px;
}

#seccion1-contenedor1 > .btn {
  margin-top: 20px;
}

#seccion1-contenedor2{
  width: 42%;
}

#seccion1-contenedor2 > img{
  width: 100%;
}

#seccion2-contenedor1{
  width: 58%;
  padding: 30px;
}

#seccion2-contenedor1 > .btn {
  margin-top: 20px;
  float: right;
}

#seccion2-contenedor2{
  width: 42%;
}

#seccion2-contenedor2 > img{
  width: 100%;
}

#formularioContacto-contenedor1 > img {
  width: 50%;
   display: block;
  margin: 0 auto;
}

#formularioContacto-contenedor1{
  width: 58%;
  padding: 30px;
}

#formularioContacto-contenedor1 > h2 {
  padding: 0px 30px;
}



/* FIX DEFINITIVO SELECT2 BUSCADOR */

.select2-container .select2-dropdown {
  z-index: 99999 !important;
}

.select2-container .select2-search--dropdown {
  display: block !important;
  padding: 8px !important;
}

.select2-container .select2-search__field {
  width: 100% !important;
  border: 1px solid #ccc !important;
  padding: 6px !important;
}

/* Evita que Bootstrap bloquee el input */
.select2-container input {
  z-index: 99999 !important;
}