/* --- HEADER --- */
.navbar {
  border-bottom: 1px solid #111;
}

.navbar-brand {
  font-size: 1.5rem;
  letter-spacing: 1px;
}

.nav-link {
  color: black !important;
  font-weight: 500;
  margin-left: 20px;
  position: relative;
  transition: color 0.3s ease;
}

.blanc {
  color: white !important;
  font-weight: 500;
  margin-left: 20px;
  position: relative;
  transition: color 0.3s ease;
}

.logo-distrito {
  font-weight: 900;
}

/* Subrayado en hover */
.nav-link::after {
  content: '';
  position: absolute;
  width: 0%;
  height: 2px;
  bottom: -3px;
  left: 0;
  background-color: #c8a2ff;
  transition: width 0.3s;
}

.nav-link:hover::after {
  width: 100%;
}

/* Subrayado en la opción activa */
.nav-link.active::after {
  width: 100%;
}

.nav-link:hover {
  color: #c8a2ff !important;
}

/* --- CONTACTO --- */


.contacto {
  background-color: black;
  min-height: calc(100vh - 80px);
}


.contact-wrapper {
  display: flex;
  min-height: calc(100vh - 80px);
}



/* IMAGEN */

.contact-img {
  width: 65%;
  overflow: hidden;
}


.contact-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  filter: grayscale(100%);

  transition: transform 0.8s ease;
}



/* INFORMACIÓN */

.contact-info {
  width: 35%;
  background-color: black;

  display: flex;
  align-items: flex-end;
  justify-content: center;

  padding: 50px;
}


.linea-info {
  border-right: 2px solid white;
  padding-right: 35px;
  text-align: right;

  color: white;

  width: 100%;
}


.bloque {
  margin-bottom: 35px;
}


.bloque p {
  margin: 0;
  font-size: 0.95rem;
  letter-spacing: 1px;
}


.nombre {
  font-size: 1.2rem !important;
  font-weight: 500;
}



/* TABLET / MÓVIL */

@media(max-width:900px) {

  .contact-wrapper {
    display: flex;
    flex-direction: column;
  }

  .contact-img {
    width: 100%;
    height: 40vh;
  }

  .contact-info {
    width: 100%;
    min-height: 350px;

    padding: 40px 25px;

    align-items: center;
  }

  .linea-info {

    border-right: none;
    border-top: 2px solid white;

    padding-right: 0;
    padding-top: 30px;

    text-align: center;
  }


  .bloque {
    margin-bottom: 25px;
  }

}

@media (max-width: 576px) {

  .navbar-brand {
    font-size: 1.15rem;
    letter-spacing: 0.5px;
  }

}