 .que-impulsamos-politica h2 {
    font-size: 4rem;
    line-height: 4rem;
    color: #FEFFAA;
  }
  .card-front .puesto,
  .que-impulsamos-politica p {
    font-size: 1.2rem !important;
    line-height: 1.8rem !important;
    font-family: 'Good Sans' !important;
    color: white !important;
  }
  .card-front  .nombre{
    margin-top: 1rem;
  color: white;
  font-size: 1.5rem;
  margin-bottom: 0px;
  }
  .single-proyecto ul {
  list-style-type: none;
    
}
.card:hover {
  background: none !important;
}
.single-proyecto li {
  
  margin-bottom: 1.5rem;
  vertical-align: middle;
  margin-left: 2rem;
  font-family: 'Good Sans' !important;
  font-size: .9rem !important;
  padding-left: .6rem;
}
.color-white h2{
  color: white !important;
  width: 50%;
}
#convocatorias-abiertas{
    background: black;
  
  margin-top: 0px !important;
  padding-top: 0px !important;
  padding-right: 0px !important;
}
#convocatorias-abiertas a{
color: #FEFFAA !important;
}
 .cards-scroller {
            position: relative;
        }
        
        .cards-container {
            display: flex;
            overflow-x: auto;
            gap: 20px;
            padding: 20px 0;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scroll-behavior: smooth;
            -ms-overflow-style: none;
            scrollbar-width: none;
            overflow-x: scroll;
        }
        
        /* Ocultar scrollbar pero mantener funcionalidad */
        .cards-container::-webkit-scrollbar {
            display: none;
        }
        
        /* Estilos individuales de cada card */
        .card {
            position: relative;
            overflow: hidden;
            flex: 0 0 300px;
            min-height: 400px;
            border-radius: 10px;
            background: black;
            cursor: pointer;
        }

        .card-front, .card-curtain {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        /* Contenido de la cara frontal */
        .card-front-content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            height: 100%;
            transition: transform 0.6s ease;
            padding: 2rem;
            text-align: left;
        }

        .card-subtitle {
            font-size: 1.125rem;
            color: black;
            text-transform: uppercase;
            top: 20px;
            left: 20px;
            position: absolute;
        }

        .card-title {
            font-size: 3rem;
            font-weight: 800;
            color: black;
            margin: 0;
            position: absolute;
            bottom: 1rem;
            text-align: left;
            line-height: 3rem;
            width: 90%;
        }

        /* Contenido de la cortina */
        .curtain-content {
            position: absolute;
            bottom: -100%;
            width: 100%;
            height: 100%;
            color: black;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            transition: bottom 0.6s ease;
            padding: 2rem;
            text-align: left;
        }

        .curtain-content h2 {
            font-size: 2rem;
            position: absolute;
            top: 1rem;
            left: 1rem;
        }

        .curtain-content p {
            font-family: 'Good Sans';
            font-size: 1.125rem;
            position: absolute;
            bottom: 1rem;
            left: 1rem;
            width: 90%;
            line-height: 1.5rem;
        }

       
        
        /* Botones de navegación */
        .scroll-btn {
            width: 30px;
            height: 30px;
            border: none;
            cursor: pointer;
            display: inline-block;
            background: url(../images/arrow_right_white.svg) no-repeat right black;
        }
        
        .scroll-btn:hover{
           background: url(../images/arrow_right_yellow.svg) no-repeat right black;
        }
        
        .scroll-btn.left {
            left: 0;
            transform: rotate(180deg);
            margin-right: 10px;
        }
        
        .scroll-btn.right {
            right: 0;
        }
        
        .scroll-btn:disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }
        
        /* Indicador de posición */
        .dots-indicator {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 20px;
        }
        
        .dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background-color: #ccc;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .dot.active {
            background-color: #3498db;
            transform: scale(1.2);
        }
        .card-front img{
          width: 100%;
          border-radius: 20px;
        }
        .container-imagen-perfil{
          width: 300px;
          height: 250px;
        }
        .puesto-bks{
          background-repeat: no-repeat !important;
          background-size: cover !important;
          background-position: center !important;
        }
       
    /* Forzar que el modal esté siempre encima */
    .modal {
      z-index: 100000 !important;
    }

    /* Fondo negro más fuerte detrás del modal */
    .modal-backdrop {
      background-color: rgba(0, 0, 0, 1) !important;
      z-index: 99999 !important;
    }

    /* Bloquear scroll del body cuando el modal está abierto */
    body.modal-open {
      overflow: hidden !important;
   
    }
    .modal-dialog{
      max-width: 950px;
      width: 950px;
    }
    .modal-header{
      border-bottom: none !important;
    }
    .modal-content{
      background: #FEFFAA !important;
    }
    .modal-body{
      padding-left: 3rem;
     padding-right: 3rem;
    }
    .modal-body .nombre{
      color: black;
      font-size: 2rem;
      margin-bottom: 0px;
    }
    .modal-body .semblanza{
      font-size: 1rem;
      color: black;
      font-family: 'Good Sans' !important;
    }
    .modal-body .correo,
    .modal-body .puesto{
      color: black;
      font-size: 1rem;
       margin-bottom: 0px;
       font-family: 'Good Sans' !important;
    }
    .modal-body .correo{
      text-decoration: underline;
      font-size: 1rem !important;
    }
    .btn-primary{
      margin-top: 1rem;
    color: white;
    font-size: 1.5rem !important;
    margin-bottom: 0px;
    background: black;
    border: none;
    padding-left: 0px;
    }
    .btn-primary:active,
    .btn-primary:focus,
    .btn-primary:hover{
      text-decoration: underline !important;
       background: black;
    }
    .hovered{
      cursor: auto !important;
    }
     @media screen and (max-width: 950px) {
      .modal-dialog{
          max-width: 90% !important;
          width: 90% !important;
        }
     }
     .que-impulsamos-politica a{
      color: white;
      text-decoration: none;
     }
     .que-impulsamos-politica a:hover{
      text-decoration: underline;
     }
/* Quitamos animaciones originales de Bootstrap */
.custom-modal.fade .modal-dialog {
  transform: translate(-50%, 100vh);
  transition: transform 0.6s ease-in-out;
  margin: 0;
  position: fixed;
  bottom: 0%;
  left: 50%;
}

/* Al abrir (sube desde abajo) */
.custom-modal.show .modal-dialog {
  transform: translate(-50%, 0);
}

/* Al cerrar (baja hacia abajo) */
.custom-modal.fade:not(.show) .modal-dialog {
  transform: translate(-50%, 100vh);
}
ul,
li{
  list-style: none;
}
.arrow-proyecto{
  position: absolute;
  width: 25px;
  margin-left: -35px;
  margin-top: 3px;
}
.modal-body .correo{
  text-rendering: initial;
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
@media screen and (max-width: 810px) {
    #convocatorias-abiertas{
      padding-left: 0px;
    }
}
@media screen and (max-width: 790px) {
    .img-fluid{
      width: 100% !important;
      position: inherit !important;
    }
  }
@media screen and (max-width: 500px) {
         .hero h1{
            right: 0px !important;
          }
          .que-impulsamos-politica h2{
           font-size: 3rem;
            line-height: 3.4rem;
            width: 100%;
          }
          .subtitle-presenta-p{
            width: 100%;
            margin-bottom: 2rem;
          }
          #gobernanza .mt-5 {
            margin-top: 0px !important;
          }
          .modal-body {
            padding-left: 1rem;
            padding-right: 1rem;
          }
          .modal-body .semblanza{
            margin-top: 1rem;
          }
        }