.cards {
  margin: 3.5rem auto;
  width: 100%;
  height: 390px;
  display: flex;
  align-items: center;
  gap: 20px;

  .card {
    height: 100%;
    width: calc((100% - 60px) / 5);
    position: relative;
    border-radius: var(--border-radius24);
    transition: all .2s ease-in-out;
    overflow: hidden;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    color: var(--white-color);
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    min-width: 260px;

    &:hover {
      width: 80% !important;

      .card-description {
        max-height: 140px !important;
        opacity: 1 !important;
        margin-top: 10px !important;
      }

      .card-content {
        transform: translateY(-10px);
      }

      &::after {
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        opacity: 1;
      }

    }

    &:first-child {
      width: 80% !important;

      .card-description {
        max-height: 0 !important;
        opacity: 0 !important;
        margin-top: 0 !important;
        transition: all .3s ease;
      }

      .card-content {
        transform: translateY(-10px) !important;
      }

      &:hover {
        width: 80% !important;

        .card-description {
          max-height: 140px !important;
          opacity: 1 !important;
          margin-top: 10px !important;
        }

      }

    }

    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0) 100%);
      z-index: 1;
      transition: all 0.5s ease;
    }

    &::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 1;
      opacity: 0;
      transition: all 0.5s ease;
    }

    .card-content {
      position: relative;
      z-index: 2;
      transition: transform .3s cubic-bezier(0.25, 0.1, 0.25, 1);

      .card-category {
        font-family: var(--font-regular-400);
        font-size: 14px;
        text-transform: uppercase;
        margin-bottom: 5px;
      }

      .card-title {
        font-family: var(--font-semibold-600);
        font-size: clamp(1.188rem, 1vw + 1rem, 1.5rem);
        margin-bottom: 10px;
        line-height: 1.2;
      }

      .card-description {
        font-family: var(--font-regular-400);
        font-size: 16px;
        line-height: 1.25;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: all .5s cubic-bezier(0.25, 0.1, 0.25, 1);
      }

    }

  }

  &:hover>*:not(:hover) {
    width: calc((100% - 60px) / 5) !important;
  }

}


/* Responsive Styles */
@media (max-width: 1200px) {}

@media (max-width: 1024px) {

  .cards {
    gap: 10px;
    height: 300px;

    .card {
      padding: 15px;
      min-width: 24%;
    }
  }

}

@media (max-width: 992px) {

  .cards {
    height: auto;
    flex-wrap: wrap !important;
    flex-direction: row !important;

    .card {
      min-width: 48.5%;
      min-height: 325px;
      aspect-ratio: 1/1;

      &:hover {
        width: 48.5% !important;
      }

      &:first-child {
        width: 100% !important;
        max-width: 48.5%;
      }

    }

  }


}

@media (max-width: 768px) {

  .cards {
    .card {
      .card-content {

        .card-title {
            font-size: 19px;
            margin-bottom: 8px;
            line-height: 1.15;
        }

        .card-description {
          font-size: 15px;
          line-height: 1.2;
        }

      }

    }

  }

}

@media (max-width: 600px) {

  .cards {
    height: auto;
    flex-wrap: wrap !important;
    flex-direction: row !important;

    .card {
      min-width: 99.5%;
      min-height: 325px;
      aspect-ratio: 1/1;

      &:first-child {
        width: 100% !important;
        max-width: 99.5%;
      }

      .card-content {
        .card-description {
          max-height: 100% !important;
          opacity: 1 !important;
          overflow: visible;
        }

      }

    }

  }

}

@media (max-width: 560px) {}

@media (max-width: 480px) {

  .cards {
    .card {
      .card-content {
        .card-description {
          font-size: 15px;
        }
      }
    }
  }


}

@media (max-width: 320px) {}