:root {
  --azul-cbo: #234c92;
  --gris-claro: #f8f9fa;
  --gris-medio: #6c757d;
  --gris-oscuro: #323e48;
  --blanco: #fff;
}

/* Body general */
body {
  background: var(--gris-claro);
  color: var(--gris-oscuro);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Navbar */
.navbar {
  background-color: var(--blanco);
  border-bottom: 2px solid var(--azul-cbo);
}

.navbar-brand img {
  max-height: 50px;
}

.nav-link {
  color: var(--azul-cbo);
  font-weight: 600;
  transition: color 0.3s;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--gris-medio);
}

.sitios-img {
  object-fit: contain;
  height: 60px;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

h2, h3, h4 {
  color: var(--azul-cbo);
  font-weight: 700;
}

.gal-img {
  border-radius: 10px;
  transition: transform 0.16s, box-shadow 0.15s;
  aspect-ratio: 4/3;
  object-fit: cover;
  cursor: zoom-in;
}
.gal-img:hover {
  transform: scale(1.05) rotate(-2deg);
  box-shadow: 0 4px 24px rgba(35,76,146,0.14);
}
.glightbox img,
.glightbox .gslide-image img {
  border-radius: 14px;
}

footer {
  background: var(--blanco);
  color: var(--gris-oscuro);
  border-top: 2.5px solid var(--azul-cbo);
  padding: 1.7rem 0 1rem 0;
  font-size: 1rem;
}
footer a {
  color: var(--azul-cbo);
  text-decoration: none;
}
footer a:hover { text-decoration: underline; color: #1d4075; }
footer address, footer p, footer ul {
  color: var(--gris-medio);
  font-size: 1.03rem;
}
@media (max-width: 720px) {
  .logito, .navbar-brand img {
    height: 46px;
    max-width: 82px;
  }
  .gal-img { aspect-ratio: 1/1; }
}
