.other-products {
  --background: #f9f9f9;
  --color: #141B4D;
  background: var(--background);
  color: var(--color);
  display: block;

  .other-products__container {
    display: flex;
    flex-direction: column;
    gap: 5rem;

    .other-products__header {
      text-align: center;

      .other-products__heading {
        font-size: var(--heading-size, 4.8rem);
      }
    }

    .other-products__body {
      position: relative;

      &:not(:has(.swiper-initialized)) {
        .swiper-wrapper {
          display: grid;
          gap: 2rem;
          grid-template-columns: var(--grid-columns);
        }

        .other-products__navigation {
          display: none;
        }
      }

      .other-products__navigation {
        --size: 4.4rem;
        display: flex;
        gap: 1rem;
        justify-content: space-between;
        padding: 0 2rem;
        pointer-events: none;
        position: absolute;
        top: 50%;
        translate: 0 -100%;
        width: 100%;
        z-index: 2;

        button {
          all: unset;
          cursor: pointer;
          display: grid;
          height: var(--size);
          place-items: center;
          pointer-events: all;
          width: var(--size);

          &.swiper-button-disabled {
            cursor: not-allowed;
            opacity: 0.25;
          }

          &.swiper-button-lock {
            display: none;
          }

          rect {
            fill: #111;
            transition: all .15s cubic-bezier(0.4, 0, 0.2, 1);
          }

          path {
            stroke: #fff;
            transition: all .15s cubic-bezier(0.4, 0, 0.2, 1);
          }

          &:hover rect {
            fill: #fff;
          }

          &:hover path {
            stroke: #111;
          }
        }
      }
    }

    .other-products__item {
      color: inherit;
      text-decoration: none;

      .other-products__item-media {
        background: #fff;
        border-radius: 1rem;
        margin-bottom: 2rem;
        padding-bottom: 100%;
        position: relative;

        .other-products__item-image {
          position: absolute;
          height: calc(100% - 4rem);
          left: 50%;
          object-fit: cover;
          top: 50%;
          translate: -50% -50%;
          width: calc(100% - 4rem);
        }
      }

      .other-products__item-title {
        font-size: var(--title-size, 2.3rem);
        line-height: 1.3;
        margin-bottom: 0.3em;
      }

      .other-products__item-description {
        font-size: var(--description-size, 1.4rem);
        line-height: 1.4;
        margin-bottom: 1em;
      }

      .other-products__item-price {
        font-size: var(--price-size, 2.2rem);

        s {
          opacity: 0.5;
        }
      }
    }

    .other-products__footer {
      display: flex;
      justify-content: center;

      .button--normal {
        --button-size: 1.5rem;
        --color-button: 255 255 255;
        --PX: 4.4em;
        border: 1px solid #072b31;
        border-radius: .5em;
        color: #141b4d;
        font-weight: 400;

        &:hover {
          --button-bg-hover: rgb(255 255 255 / 0%);
        }
      }
    }
  }
}