.section-5-bg {
  background: linear-gradient(to bottom left, #000000 0%, #1a1a1a 55%, #d4af37 100%);
  color: #fff;
}

.section-5-subtitle {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: 1px;
}

.section-5-subtitle::after {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background-color: #fff;
  opacity: 0.7;
}

.section-5-title {
  font-size: 5rem;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  color: #fff;
}

.section-5-title span {
  color: #d4af37;
}

.section-5-description {
  font-size: 1.5rem;
  color: #fff;
  max-width: 400px;
  line-height: 1.3;
}

.section-5-store-buttons {
  display: flex;
  flex-wrap: wrap;
}

.section-5-store-img {
  height: 45px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.section-5-store-img:hover {
  transform: scale(1.05);
}

.section-5-testimonials {
  /* 1. Se establece un layout de Grid con 2 columnas de igual ancho. */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  /* Espacio entre las columnas */

  /* 2. Se limita la altura del contenedor para que las columnas puedan tener scroll. */
  max-height: 100vh;
  overflow-y: auto;
  padding: 10px;
  /* Avoid cutting off shadows */

  /* Hide scrollbar for Chrome, Safari and Opera */
  &::-webkit-scrollbar {
    display: none;
  }

  /* Hide scrollbar for IE, Edge and Firefox */
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

.section-5-card {
  background: #2a2a2a;
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);

  /*
    3. Se usa un truco con CSS Grid para crear dos columnas con scroll independiente.
       - Las tarjetas pares (2, 4, 6...) se asignan a la columna 2.
       - Las tarjetas impares (1, 3, 5...) se asignan a la columna 1.
       - 'overflow-y: auto' se aplica a las tarjetas para que el scroll aparezca DENTRO de ellas si es necesario,
         pero el scroll principal lo gestiona el contenedor grid.
  */
}

.section-5-card:nth-child(odd) {
  grid-column: 1;
}

.section-5-card:nth-child(even) {
  grid-column: 2;
}

.section-5-stars {
  color: #d4af37;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.section-5-text {
  font-size: 1rem;
  color: #f1f1f1;
  margin-bottom: 1rem;
  line-height: 1.5;
}

.section-5-user {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  border-top: 1px solid #444;
  padding-top: 0.8rem;
}

.section-5-avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
}

.section-5-name {
  font-weight: 600;
  color: #fff;
}

.section-5-role {
  font-size: 0.9rem;
  color: #b5b5b5;
}

/*
  Se añade un padding lateral de 16px en móviles para las secciones que usan el contenedor de Bootstrap.
*/
@media (max-width: 767.98px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 992px) {
  .section-5-title {
    font-size: 2.5rem;
  }

  .section-5-bg {
    text-align: center;
  }

  .section-5-description {
    margin: 0 auto;
  }

  .section-5-store-buttons {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .section-5-testimonials {
    /*
      Se mantiene el layout de 2 columnas también en móvil, como fue solicitado.
      Se reduce el espacio entre ellas para que quepan mejor.
    */
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
  }

  /* Se reduce el padding de las tarjetas en móvil para ganar espacio. */

  .section-5-card {
    margin: 0 auto;
    max-width: 320px;
  }

  .section-5-title {
    font-size: 2.8rem;
  }
}