/* Importación oficial de Roboto */
@import url('https://googleapis.com');

body {
  font-family: 'Roboto', 'Avenir', sans-serif !important;
  background-color: #f4f8fb;
}

/* Navbar oscura tipo Ananke */
.navbar {
  background-color: #1a1a2e !important;
}
.navbar-brand, .navbar-nav .nav-link {
  color: rgba(255,255,255,0.9) !important;
  font-family: 'Roboto', sans-serif !important;
}
.navbar-nav .nav-link:hover {
  color: white !important;
}

/* Footer oscuro original */
.nav-footer {
  background-color: #1a1a2e;
  color: rgba(255,255,255,0.7);
  font-family: 'Roboto', sans-serif !important;
  padding: 1.2rem 0;
}
.nav-footer a {
  color: rgba(255,255,255,0.7);
}
.nav-footer a:hover {
  color: white;
}

/* Herramientas de accesibilidad mimetizadas con la estética del footer */
.sel-acc {
  background: #22223b !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  color: rgba(255,255,255,0.8) !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.85rem;
  padding: 3px 6px;
  border-radius: 4px;
  cursor: pointer;
  margin-right: 8px;
}
.sel-acc:hover {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.5) !important;
}

.btn-acc-nav {
  background: #22223b !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  color: rgba(255,255,255,0.8) !important;
  cursor: pointer;
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.85rem;
  padding: 3px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.btn-acc-nav:hover {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.5) !important;
}

.activo-voz {
  background: #ff4757 !important;
  color: white !important;
  border-color: #ff4757 !important;
}

/* Imagen hero */
.quarto-title-block {
  margin-bottom: 2rem;
}

img {
  loading: lazy;
  max-width: 100%;
  height: auto;
}

/* Matriz de filtros continuos para la percepción visual */
body.alto-contraste {
  filter: contrast(180%) brightness(110%) grayscale(100%) !important;
  background-color: #ffffff !important;
  color: #000000 !important;
}

body.filtro-suave {
  filter: sepia(45%) brightness(85%) contrast(95%) !important;
  background-color: #f4edd2 !important;
}

body.daltonismo {
  filter: hue-rotate(85deg) contrast(115%) !important;
}

.fondoportal {
  background-color: #e8f4e8;
  padding: 1rem;
  border-radius: 8px;
}

.fondopost {
  background-color: #ffdab9;
  padding: 1rem;
  border-radius: 8px;
}

.fondoproyecto {
  background-color: #f3b2a2;
  padding: 1rem;
  border-radius: 8px;
}

.comodin-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
