:root {
  --azul-cbo: #234c92;
  --gris-claro: #f8f9fa;
  --gris-medio: #6c757d;
  --gris-oscuro: #323e48;
  --blanco: #fff;
}

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;
}

.btn-primary {
  background: var(--azul-cbo);
  border: none;
  font-weight: 600;
  border-radius: 0.36rem;
  padding: .5em 1.5em;
  transition: background 0.2s;
}
.btn-primary:hover,
.btn-primary:focus { background: #1d4075; color: var(--blanco); }

.btn-outline-primary {
  color: var(--azul-cbo);
  border-color: var(--azul-cbo);
  background: var(--blanco);
  font-weight: 500;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--azul-cbo);
  color: #fff;
  border-color: var(--azul-cbo);
}

h2, h3, h4, h5 {
  color: var(--azul-cbo);
  font-weight: 700;
}
h2 { font-size: 2rem; margin-top: 2.2rem; margin-bottom: 1.1rem; }
h4 { font-size: 1.15rem; margin-bottom: .7rem; }
h5 { font-size: 1.08rem; }
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;
  }
  .sitios-img { height: 38px; }
}
