.titulos_educativo {
  font-family: "Qualy";
  font-size: 40pt !important;
}

.subtitulo_educativo {
  font-family: "Qualy";
  font-size: 24pt !important;
  color: #69c8f0 !important;
  margin-top: -15px !important;
}

.subtitulo_educativo_2 {
  font-family: "Qualy";
  font-size: 24pt !important;
  color: white !important;
  margin-top: -15px !important;
}

/* Filas que deben centrar verticalmente contenido (texto + foto) */
.row_v {
  margin-top: 150px !important;
  display: flex;
  flex-wrap: wrap; /* ✅ mantiene comportamiento responsive de Bootstrap */
  align-items: center; /* 🔥 centra verticalmente las columnas dentro de la fila */
}

.educativo-descripcion-1 {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centra el contenido interno verticalmente */
  height: 100%;
}

.descripcion_educativo_texto {
  font-family: "Linotte" !important;
  font-weight: 100 !important;
  font-size: x-large;
  margin-top: 15px !important;
}

.titulo_salto_de_linea {
  margin-top: -15px !important;
}

.subbaner_educativo {
  color: white !important;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centra el contenido interno */
  height: 100%;
  padding-top: 150px !important;
  padding-bottom: 150px !important;
  background-color: #0067af !important;
}

/* Antes levantabas cada card. Ahora levantamos toda la fila de cards */
.row_cards_educativo {
  margin-top: -150px !important;
}

/* Cada card ocupa toda la altura de la columna */
.card_educativo {
  height: 100%;
}

.titulo_card_educativo {
  font-family: "Qualy";
  font-weight: 200 !important;
  font-size: 24pt !important;
}

.descripcion_card_educativo {
  font-family: "Linotte" !important;
  color: gray !important;
  font-weight: 100 !important;
  font-size: 14pt !important;
}

/* amedida forumlario */

.titulo_formulario {
  font-family: "Qualy";
  font-size: 39pt !important;
  /* letter-spacing: 0.7px !important; */
}

.col_form_titulo {
  margin-top: 50px !important;
}

.resto_del_titulo_formulario {
  font-family: "Qualy";
  font-size: 20pt !important;
  /* letter-spacing: 0.7px !important; */
}

.contenedor_form {
  border-radius: 10px !important;
  background-color: #0067af;
  color: white !important;
}

.h50px {
  height: 50px !important;
}

.input-custom .input-group-text {
  background-color: #002f6c; /* Azul oscuro */
  border: none;
  color: white;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.input-custom .form-control {
  background-color: #002f6c; /* Mismo azul oscuro */
  border: none;
  color: white;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.input-custom .form-control::placeholder {
  color: #d0dff9; /* Placeholder más claro */
  opacity: 1;
}

.img_icono_form img,
.img_icono_form_textarea img {
  width: 25px !important;
}

.img_icono_form {
  padding-right: 5px !important;
}

.input_form {
  padding-left: 1px !important;
}

.input_form_texto {
  padding-left: 1px !important;
  padding-top: 0.6rem !important;
}

.input_form_texto {
  height: 200px !important;
  resize: none; /* evita que el usuario cambie el tamaño */
  padding-top: 1.2rem; /* empuja el placeholder hacia arriba */
  color: white; /* si estás usando fondo oscuro */
  background-color: #002f6c; /* igual que el input */
  border: none;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.input-group-text.img_icono_form_txt {
  align-items: flex-start !important;
  padding-top: 0.6rem;
  padding-right: 5px !important;
  background-color: #002f6c;
  border: none;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.input-group-text.img_icono_form_txt img {
  width: 25px !important;
}

.col_form_sup {
  margin-top: 15px !important;
}

.btn_enviar_form {
  padding-top: 12px !important;
  font-family: "Qualy";
  font-size: 20pt !important;
  width: 100% !important;
  text-align: center !important;
  color: white !important;
  background-color: #00a5ea;
  border: none !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
}

.card_educativo img {
  height: 275px !important; /* Alto fijo */
  width: 100%; /* Siempre ocupa el ancho */
  object-fit: cover; /* Recorta lo que sobra sin deformar */
  object-position: center; /* Centra el recorte */
  border-radius: 10px !important;
}

.card_educativo {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card_educativo .descripcion_card_educativo {
  flex-grow: 1; /* Empuja el botón hacia abajo */
}

.btn_ver_itinerario_educativo {
  margin-top: 40px !important; /* Botón fijo al fondo */
  margin-left: auto !important;
  margin-right: auto !important;
  background-color: #0067af !important;
  border: none !important;
  outline: none !important;
}

/* --- Carrusel 3-up --- */
.carrusel-wrapper {
  overflow: hidden;
  width: 100% !important;
  /* padding: 0 2.5rem; /* espacio para los botones */
}

.carrusel-linea {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none; /* IE/Edge viejo */
  scrollbar-width: none; /* Firefox */
}
.carrusel-linea::-webkit-scrollbar {
  display: none;
}

.carrusel-item {
  flex: 0 0 100%; /* 1 por vista (mobile) */
  height: 375px;
  scroll-snap-align: start;
}
@media (min-width: 768px) {
  .carrusel-item {
    flex-basis: 50%;
  } /* 2 por vista */
}
@media (min-width: 992px) {
  .carrusel-item {
    flex-basis: 33.333%;
  } /* 3 por vista */
}

/* Botones */
.carrusel-prev,
.carrusel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
.carrusel-prev {
  left: 0.5rem;
}
.carrusel-next {
  right: 0.5rem;
}
.carrusel-prev i,
.carrusel-next i {
  font-size: 1.2rem;
}

/* Opcional: efecto hover suave en imágenes */
.carrusel-item img {
  transition: transform 0.3s ease;
}
.carrusel-item:hover img {
  cursor: pointer !important;
  transform: scale(1.02);
}

.botones_descargas {
  background-color: #0067af !important;
  color: white !important;
  font-family: "Qualy";
  font-size: 24pt !important;
}
