html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
    display: flex;
    background-color: white;
    flex-direction: column;
}
.dropdown-menu {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.dropdown-item{
  background-color: white;
}

.nav-item.dropdown:hover > .dropdown-menu {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 768px) {

  /* Footer flexible y sin altura fija */
  .main footer {
    flex-direction: column;
    min-height: auto;
    padding: 20px 20px;
  }

  /* Contenedor de redes y app en columna */
  .main footer .container.position-relative {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px; /* muy cerca entre redes y app */
    width: 100%;
  }

  /* Redes sociales centradas */
  .main footer .position-absolute.top-50.start-50.translate-middle {
    position: static !important;
    transform: none !important;
    display: flex;
    justify-content: center;
    width: 100%;
  }

  /* Ajuste de redes para alineación y espaciado uniforme */
  .main footer .social_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px; /* íconos más juntos */
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .main footer .social_icon li {
    margin: 0;
  }

  /* App centrada debajo de las redes */
  .main footer .d-flex.justify-content-center.justify-content-md-end {
    justify-content: center !important;
    width: 100%;
  }

  /* Íconos y texto blancos */
  .main footer .social_icon li a ion-icon,
  .main footer .text-md-end p,
  .main footer .text-md-end button ion-icon,
  .main footer .text-md-end button {
    color: white !important;
  }

  /* Reducir tamaño íconos en móvil */
  .main footer .social_icon li a ion-icon,
  .main footer .text-md-end button ion-icon {
    font-size: 1.3rem;
  }

  /* Botones de app: ancho ajustado para no desbordar */
  .main footer .text-md-end .btn {
    width: auto;
    white-space: nowrap;
  }
}

@media (max-width: 576px) {
  .dropdown-menu .dropdown-item {
    white-space: normal;
    word-wrap: break-word;
    font-size: 14px;
  }
}

/* Abrir dropdown al pasar el cursor */
.nav-item.dropdown:hover > .dropdown-menu {
  display: block;
  margin-top: 0; /* opcional, ajusta espacio si quieres */
}

/* Evitar que se cierre al mover el mouse sobre el dropdown */
.dropdown-menu {
  margin-top: 0;
}

main {
    flex: 1;
}

a {
    cursor: pointer;
}
nav{
    background-color: #e45e1b;
}
.nav-link{
    color: white;
}

.bi-bi-list{
    color: #e45e1b;
}

.card-header{
    background-color: #e45e1b;
    text-align: left;

}


@media (max-width: 991px) {
    .footer-row {
        text-align: center;
    }

    .footer-links {
        width: 100%;
        margin-bottom: 30px;
    }
    .curso-card .card-footer .d-flex {
    flex-wrap: wrap;
    justify-content: center !important;
    gap: 1rem !important;
    text-align: center;
  }

}
footer {
    background: #e45e1b;
    color: #fff;
    padding: 30px 50px; /* más espacio arriba y abajo */
    text-align: center;
    position: relative;
}

.footer-sections {
    display: flex;
    justify-content: space-between; /* mantiene izquierda y derecha */
    align-items: center; /* centra verticalmente */
    max-width: 1000px; /* más ancho para dar espacio */
    margin: 0 auto 20px auto; /* centrado horizontal */
    gap: 80px; /* separación entre secciones */
}

.footer-section {
    display: flex;
    flex-direction: column;
    align-items: center; /* centra los íconos en su columna */
    padding: 0 20px; /* separación interna */
}

.footer-section ul.social_icon {
    display: flex;
    gap: 20px; /* separa los íconos entre sí */
    padding: 0;
    list-style: none;
    margin: 10px 0 0 0;
}

.footer-section h4 {
    margin-bottom: 10px;
    font-size: 1.2rem; /* ligeramente más grande */
}

/* Responsivo: apila las secciones en móviles */
@media (max-width: 768px) {
    .footer-sections {
        flex-direction: column;
        gap: 20px;
    }
}

.footer-section ul.social_icon li a {
    font-size: 2em; /* tamaño de los íconos */
    color: #fff;
    transition: transform 0.3s ease, color 0.3s ease;
}

.footer-section ul.social_icon li a:hover {
    transform: scale(1.2); /* aumenta tamaño */
    
}

.custom-offcanvas {
  background-color: #e45e1b;
  color: white;
}
.custom-offcanvas .nav-link {
  color: white; /* color de los links */
}
.custom-offcanvas .nav-link:hover {
  color: #fff200; /* color al pasar el cursor */
}
.custom-offcanvas .dropdown-menu {
  background-color: #ffffff; /* opcional: menú desplegable dentro del offcanvas */
}

.filter-item {
  display: none; /* Todo oculto de entrada */
}

