/* ===== GENERAL ===== */
body {
  font-family: 'Lora', serif;
  background-color: #212529;
  background-image: linear-gradient(rgba(0, 180, 216, 0.3), rgba(0, 180, 216, 0.3)), url("../assets/img/fhyce.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

body {
  transition: filter 0.3s ease;
}

/* ===== NAVBAR ===== */
#mainNav {
  background-color: rgba(0, 80, 216, 0.25);
  backdrop-filter: blur(30px);
  z-index: 1000;
}

.navbar-nav {
  flex-wrap: wrap;
}

.navbar-nav .nav-link {
  color: #f6e1c5 !important;
}

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

/* ===== DROPDOWN ===== */
.dropdown-menu {
  background-color: #2F170F;
  border: none;
}

.dropdown-menu .dropdown-item {
  color: #f6e1c5;
}

.dropdown-menu .dropdown-item:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* ===== HERO ===== */
.hero-section {
  padding: 2rem 0;
  position: relative;
}

.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.hero-section .container {
  position: relative;
  z-index: 1;
}

/* ===== SECTIONS ===== */
.page-section {
  padding: 5rem 0;
  background-color: rgba(0, 0, 0, 0.3);
}

/* ===== MOBILE ===== */
@media (max-width: 991px) {
  #mainNav {
    background-color: rgba(8, 56, 139, 0.633);
    backdrop-filter: blur(10px);
  }
}

/* ===== FOOTER ===== */
.site-footer {
  background-color: rgba(0, 80, 216, 0.25);
  backdrop-filter: blur(30px);
  /* mismo color institucional */
  color: #f6e1c5;
}

.text-footer {
  color: #f6e1c5;
}

.footer-link {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
}

.footer-link:hover {
  color: #f6e1c5;
  text-decoration: underline;
}

/* ===== CAROUSEL HERO ===== */
.hero-carousel {
  max-width: 720px;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.85);
  border-radius: 1rem;
  padding: 1.5rem;
}

.hero-section h1 {
  margin-bottom: 1.5rem;
  letter-spacing: 0.08em;
}

.hero-carousel .carousel-item {
  height: 480px;
}

.hero-carousel img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  background-color: #000;
  display: block;
  margin: auto;
}

.carousel-caption {
  max-width: 85%;
  margin: 0 auto;
  bottom: 1.2rem;
  text-align: center;
}

/* Modal */

.modal-bg {
  background-color: #e7ecef !important;
  backdrop-filter: blur(10px);
}

#link-acceder {
  text-decoration: none;
  color: #f1f1f1;
}

#link-acceder:hover {
  color: #212529;
  border-bottom: solid 0.125rem #f1f1f1;
  gap: var(1rem);
}

.dt-info {
  color: #000000 !important;
}

.table-responsive label {
  color: #000000 !important;
}

.card {
  background-color: #e7ecef !important;
}

.cont-bg {
  background-color: #e7ecef !important;
}

.form-control, .form-select {
  border: solid 2px #bfc0c0 !important;
}

.btn-close {
  box-shadow: none !important;
}

.accordion-body a {
  text-decoration: none;
  color: #6c757d;
}

.accordion-body a:hover {
  color: #363535;
}

.titulo {
  color: #00509d !important;
  font-weight: 600;
}

#btn_perfil:hover {
  color: #6c757d;
  border: solid 1px #000;
}

.perfil:hover {
  cursor: pointer !important;
}

.redes img {
  transition: transform 0.3s ease;
}

.redes img:hover {
  transform: scale(1.25);
  /* aumenta 5% */
}

.enlaces a {
  color: #3d3c3c;
}

.enlaces a:hover {
  color: #000000;
}

.fachada img {
  transition: transform 0.3s ease;
}

.fachada img:hover {
  transform: scale(1.08);
}

/* =========================================
   BOTÓN DE ACCESIBILIDAD FLOTANTE
========================================= */
.btn-accesibilidad {
  position: fixed;
  top: 50%;
  right: 20px;
  /* Lo ubica a 20px del borde derecho */
  transform: translateY(-50%);
  /* Ajuste matemático para que el centro del botón coincida con el 50% de la pantalla */
  z-index: 1000;
  /* Asegura que quede por encima de otros elementos y carruseles */

  /* Estilos visuales basados en tu imagen */
  background-color: #003366;
  /* Azul oscuro */
  width: 65px;
  height: 65px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  /* Borde blanco exterior */

  /* Centrado del icono interno */
  display: flex;
  justify-content: center;
  align-items: center;

  /* Sombra y animación */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
}

.btn-accesibilidad img {
  width: 35px;
  /* Tamaño del icono interno */
  height: auto;
}

/* Efecto al pasar el mouse por encima */
.btn-accesibilidad:hover {
  transform: translateY(-50%) scale(1.1);
  /* Lo hace un poco más grande */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
}

/* Adaptación para pantallas de celular */
@media (max-width: 768px) {
  .btn-accesibilidad {
    width: 50px;
    height: 50px;
    right: 10px;
  }

  .btn-accesibilidad img {
    width: 25px;
  }
}

.bg-accesibilidad {
  background-color: #e6dfdf;
}

.high-contrast,
.high-contrast div,
.high-contrast section,
.high-contrast nav,
.high-contrast footer,
.high-contrast a,
.high-contrast p,
.high-contrast h1,
.high-contrast h2,
.high-contrast h3,
.high-contrast button {
  background-color: #001219 !important;
  color: #fcf300 !important;
  font-weight: 800 !important;
  background-image: none !important;
  border-color: #fcf300 !important;
}

.high-contrast img {
  background-color: transparent !important;
}

.link-contrast a {
  background-color: #001219 !important;
  color: #fcf300 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}

.font-access,
.font-access *,
.font-access :not(.btn-accesibilidad) {
  font-size: 24px !important;
}

.espaciado {
  letter-spacing: 2px !important;
}

/* BOTÓN ACTIVO */
button.activo {
  background-color: #0d6efd !important;
  color: #fff !important;
}


/* MODO OSCURO */
.modo-oscuro,
.modo-oscuro div,
.modo-oscuro section,
.modo-oscuro nav,
.modo-oscuro footer {
  background-color: #121212 !important;
  color: #ffffff !important;
}

.modo-oscuro a {
  color: #4dabf7 !important;
}

/* MODO DISLEXIA */
.dislexia {
  font-family: Arial, Verdana, sans-serif !important;
  letter-spacing: 1.5px;
  line-height: 1.8;
}

.img-round {
  border-radius: 100%;
}