:root{
  --rewards-width: 360px;
  --rewards-height: 360px;
  --rewards-border-width: 390px;
  --rewards-border-height: 300px;
}

@media screen and (max-width:1367px){
  :root{
    --rewards-border-width: 340px;
    --rewards-border-height: 250px;
  }
}

.rewards {
  display: block;
  padding: 40px 0px 40px 0px !important;
  background-color: var(--bg-color-light);
}

.rewards h2 {
  font-size: 50px;
  line-height: 52px;
  color: var(--bs-body-color);
}

.rewards .description {
  padding: 60px 0px 30px;
  font-size: 29px;
  line-height: 28px;
  color: black;
  text-align: center;
}

.rewards .gallery{
  position: relative !important;
  height:100% !important;
  width:100% !important;
  transform: rotate(2deg) !important;
}

.rewards .gallery:after{
  content:'';
}

/* Contenedor de la imagen con bordes */
.rewards .clipped-border {
  position: relative;
  width: var(--intro-border-width);
  height: var(--intro-border-height);
  border-radius: 8px;
  border: 4px solid white; /* Reborde blanco siempre visible */
  overflow: hidden;
  transition: transform 0.2s;
}

/* Imagen de fondo dentro del borde */
.rewards .image-container {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.2s;
}

/* Efecto de brillo diagonal */
.rewards .shine-effect {
  position: absolute;
  top: -150%; /* Comienza más arriba */
  left: 140%; /* Más afuera para evitar cortes */
  width: 220%; /* Más ancho para evitar que se corte */
  height: 140px; /* Grosor del brillo */
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 80%);
  filter: blur(18px); /* Más desenfoque para suavizar */
  opacity: 0;
  transform: rotate(30deg);
  transition: top 0.95s ease-in-out, left 0.95s ease-in-out, opacity 0.6s ease-in-out;
}

/* Hover: El brillo baja más abajo y más a la izquierda */
.rewards .clipped-border:hover .shine-effect {
  top: 170%; /* Ahora baja aún más para desaparecer */
  left: -100%; /* Se mueve más a la izquierda */
  opacity: 1;
}

/* Cuando se deja de hacer hover: el brillo sube completamente */
.rewards .clipped-border:not(:hover) .shine-effect {
  top: -150%; /* Vuelve a la posición inicial */
  left: 140%; /* Vuelve más afuera */
  opacity: 0;
  transition: top 0.95s ease-out, left 0.95s ease-out, opacity 0.6s ease-out;
}

/* Efecto de escala en hover */
.rewards .clipped-border:hover {
  transform: scale(1.1);
}


@media screen and (max-width:1367px){
  .rewards h2 {
    font-size: 48px;
    line-height: 50px;
  }
  
  .rewards .description {
    font-size: 23px;
    line-height: 24px;
  }
}

@media (max-width: 576px) {
  .rewards {
    padding: 0px 0px 40px 0px !important;
  }

  .rewards .col-lg-7 {
    padding-bottom: 10px !important;
  }
  
  .rewards h2 {
    font-size: 32px;
    line-height: 33px;
    padding: 0px 10px;
  }

  .rewards .description {
    font-size: 22px;
    line-height: 23px;
    padding: 0px 10px;
  }
  

  .rewards .clipped-border {
    margin: 0 auto; /* Centra el contenedor horizontalmente */
    display: block;
  }

  .rewards .shine-effect {
    top: -150%; /* Posición inicial del brillo */
    left: 50%; /* Centrar */
    transform: translateX(-50%) rotate(30deg); /* Ajustar alineación */
    width: 180%; /* Un poco más de ancho para no cortarse */
  }

  /* Hover: El brillo baja más abajo */
  .rewards .clipped-border:hover .shine-effect {
    top: 160%;
    left: 0;
  }

  /* Cuando se deja de hacer hover */
  .rewards .clipped-border:not(:hover) .shine-effect {
    top: -150%;
    left: 50%;
  }
}