.rbsv4-product-carousel {
  width: min(100vw, 1920px);
  margin: 8rem auto;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  padding: 0 4rem;

  .rbsv4-product-carousel__top-content {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4rem;

    .rbsv4-product-carousel__header-container {
      display: flex;
      flex-direction: column;
      gap: 16px;

      .rbsv4-product-carousel__title {
        color: #031424;
        font-family: Poppins;
        font-size: 48px;
        font-style: normal;
        font-weight: 600;
        line-height: 56px;
      }

      .rbsv4-product-carousel__subtitle {
        color: #4f5250;
        font-family: Lato;
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: 28px;
      }
    }

    .rbsv4-product-carousel__link-container {
      display: flex;
      justify-content: center;
      gap: 4px;

      .rbsv4-product-carousel__link span {
        text-decoration: underline;
        color: #031424;
        font-family: Poppins;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 18px;
        letter-spacing: 0.36px;
        text-transform: capitalize;
      }
    }
  }

  .rbsv4-product-carousel__carousel {
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
    overflow-x: scroll;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;

    .rbsv4-product-carousel__carousel-item {
      position: relative;
      flex: 0 0 320px;
      min-width: 0;
    }
  }

  .product-card {
    .product-card__description {
      margin-bottom: 0.75rem;
    }
  }

  .rbsv4-product-carousel__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 0 0;

    .rbsv4-product-carousel__nav-dots {
      display: flex;
      gap: 8px;

      .rbsv4-product-carousel__nav-dot {
        width: 10px;
        height: 10px;
        border-radius: 20px;
        background-color: #031424;
        opacity: 0.5;
        border: none;
        cursor: pointer;
        padding: 0;
        transition: opacity 0.3s ease, width 0.3s ease;

        &.active {
          width: 20px;
          opacity: 1;
        }
      }
    }

    .rbsv4-product-carousel__nav-buttons {
      display: flex;
      gap: 0.75rem;

      .rbsv4-product-carousel__nav-btn {
        all: unset;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 32px;
        height: 32px;
        padding: 8px;
        border-radius: 8px;
        border: 2px solid #858A88;
        cursor: pointer;

        &.rbsv4-product-carousel__nav-btn--next {
          transform: rotate(180deg);
        }

        &.active {
          border: 2px solid #031424;

          svg path {
            stroke: #062F56;
          }
        }
      }
    }
  }
}

@media (max-width: 991px) {
  .rbsv4-product-carousel {
    margin: 2.4rem auto;
    padding: 0 1.6rem;

    .rbsv4-product-carousel__top-content {
      flex-direction: column;
      align-items: start;
      gap: 0.8rem;
      margin-bottom: 3.2rem;

      .rbsv4-product-carousel__header-container {
        gap: 0.8rem;

        .rbsv4-product-carousel__title {
          font-size: 32px;
          line-height: 42px;
        }

        .rbsv4-product-carousel__subtitle {
          font-size: 14px;
          line-height: 20px;
        }
      }

      .rbsv4-product-carousel__link-container {
        display: flex;
        justify-content: center;
        gap: 4px;

        .rbsv4-product-carousel__link span {
          text-align: right;
          font-size: 14px;
          line-height: 14px;
          letter-spacing: 0.28px;
          text-transform: capitalize;
        }
      }
    }

    .rbsv4-product-carousel__carousel {
      .rbsv4-product-carousel__carousel-item {
        flex: 0 0 240px;
      }
    }

    .rbsv4-product-carousel__nav {
      display: none;
    }
  }

  .product-card {
    .product-card__link {
      max-height: unset !important;
    }
  }
}
