




















.testimonial-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 60px 80px;
  background: #fff;
  gap: 50px;
  font-family: 'Arial', sans-serif;
}

.testimonial-left {
  flex: 1;
}

.subheading {
  color: #ff4d00;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.title {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 10px;
}

.title span {
  color: #ff4d00;
}

.dots {
  margin-top: 30px;
}

.dot {
  height: 10px;
  width: 10px;
  margin: 0 6px;
  background-color: #ddd;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
}

.dot.active {
  background-color: #ff4d00;
}

.testimonial-right {
  flex: 2;
  position: relative;
}

.testimonial {
  display: none;
  background: #fafafa;
  border-left: 3px solid #ff4d00;
  padding: 30px;
  border-radius: 12px;
  transition: all 0.5s ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.testimonial.active {
  display: block;
}

.testimonial p {
  font-size: 16px;
  color: #333;
  margin-bottom: 20px;
}

.testimonial-info {
  display: flex;
  align-items: center;
  gap: 15px;
}

.testimonial-info img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}

.testimonial-info strong {
  font-size: 16px;
  display: block;
}

.testimonial-info span {
  font-size: 13px;
  color: #888;
}

@media screen and (max-width: 900px) {
  .testimonial-section {
    flex-direction: column;
    padding: 40px 20px;
  }

  .testimonial-right {
    position: relative;
  }
}




/* Colores personalizados */
.text-custom-red {
  color: #a51d36 !important;
}
.bg-custom-blue {
  background-color: #486b8c !important;
}
.bg-main-dark {
  background-color: #0e2e52 !important;
}
.bg-hover-info {
  background-color:  #a51d36 !important;
}

/* Transiciones */
.card-hover .hover-info {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.card-hover:hover .hover-info {
  opacity: 1;
}

/* Efecto en ícono y fondo al hacer hover */
.card-hover .icon-wrapper {
  background-color: #fff;
  transition: background-color 0.3s ease;
}
.card-hover .icon-wrapper i {
  transition: color 0.3s ease;
}

.card-hover:hover .icon-wrapper {
  background-color: #a51d36;
}
.card-hover:hover .icon-wrapper i {
  color: #fff !important;
}























.testimonial-card {
  position: relative;
  background-color: #ffffff;
  border-radius: 14px;
  padding: 1.5rem 1.75rem 2rem;
  box-shadow:
    0 8px 18px rgba(14, 46, 82, 0.10),
    0 15px 30px rgba(165, 29, 54, 0.06);
  max-width: 460px;
  width: 100%;
  min-height: 200px;
  transition: box-shadow 0.3s ease;
  overflow: visible;
}

.card-decorator {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(to bottom, #a51d36, #0a3159);
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
}







.dot {
  width: 10px;
  height: 10px;
  background-color: #a51d36;
  border-radius: 50%;
  opacity: 0.4;
  transition: all 0.3s ease;
}
.dot.active {
  opacity: 1;
}
.gradient-border {
  border-left: 4px solid;
  border-image: linear-gradient(to bottom, #a51d36, #0a3159) 1;
  border-radius: 10px;
}







/* Background pattern with diagonal lines */
.bg-diagonal {
  background-color: #0a3159;
  
}

/* Logo scrolling carousel */
.logo-carousel {
  overflow: hidden;
  position: relative;
}
.logo-track {
  display: flex;
  width: calc(250px * 16); /* total width based on repeated logos */
  animation: scroll 40s linear infinite;
}
.logo-item {
  flex: 0 0 auto;
  width: 250px; /* Reducido para evitar estiramiento innecesario */
  height: 150px; /* Altura fija para mejor alineación */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  filter: grayscale(100%);
  transition: filter 0.3s ease, transform 0.3s ease;
}

.logo-item img {
  max-height: 80px; /* Aumenta el tamaño visual sin deformar */
  max-width: 80%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.logo-item:hover {
  filter: grayscale(0%);
  transform: scale(1.1); /* efecto visual atractivo */
}

@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}





/* Estilo base del botón del acordeón */
.accordion-button {
  background-color: white;
  color: #0e2e52;
  border-left: 10px solid;
  border-image: linear-gradient(to bottom, #a51d36, #0a3159) 1;
  transition: background 0.3s ease, color 0.3s ease;
  font-weight: 500;
}

/* Ítem activo con fondo degradado */
.accordion-button:not(.collapsed) {
  background: linear-gradient(to bottom, #a51d36, #0a3159);
  color: #ffffff !important;
  font-weight: bold;
  box-shadow: none;
}

/* Asegura que todos los hijos hereden el color blanco */
.accordion-button:not(.collapsed) *,
.accordion-button:not(.collapsed) strong,
.accordion-button:not(.collapsed) span {
  color: #ffffff !important;
}

/* Icono del acordeón (flecha) más visible */
.accordion-button::after {
  filter: brightness(0.95);
}

/* Cuerpo del acordeón cuando está visible */
.accordion-collapse.show .accordion-body {
  background-color: #f9f9fb;
  border-left: 4px solid #a51d36;
  padding-left: 1.25rem;
}










