.product-overview {
  display: flex;
  flex-direction: column;
  overflow-x: auto;

  .product-overview__row {
    display: flex;
    width: 100%;

    &:first-child {
      .product-overview__heading {
        width: 100%;
        max-width: 41rem;
        box-sizing: content-box;
        margin-left: 0;
        margin-bottom: 3.2rem;

        @media screen and (min-width: 750px) {
          margin-bottom: 2.4rem;
        }
      }
    }

    &:nth-child(2) {
      .most-popular {
        border-top-left-radius: var(--media-radius);
        border-top-right-radius: var(--media-radius);
      }
    }

    &:last-child {
      .most-popular {
        border-bottom-left-radius: var(--media-radius);
        border-bottom-right-radius: var(--media-radius);
      }

      .product-overview__column {
        padding-bottom: 2.8rem;

        @media screen and (min-width: 750px) {
          padding-bottom: 4.6rem;
        }
      }
    }

    .product-overview__column {
      display: flex;
      flex-direction: column;
      padding: 1.2rem;
      width: 100%;
      flex-shrink: 0;
      max-width: 16rem;
      border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.2);

      @media screen and (min-width: 750px) {
        max-width: 24rem;
      }

      @media screen and (min-width: 990px) {
        max-width: 35rem;
      }

      &:empty {
        display: block;
      }

      &.no-border {
        border-bottom: 0;
      }

      &.no-padding {
        padding: 0;
      }

      &.product-overview__heading {
        padding-top: 4rem;
        padding-left: 0;
        padding-right: 4rem;
        padding-bottom: 0;
        margin-bottom: 2.4rem;

        @media screen and (min-width: 750px) {
          margin-bottom: 3.2rem;
        }
      }

      &.product-overview__product-card {
        * + * {
          margin-top: 1.2rem;
        }

        &.most-popular {
          .button {
            background-color: #252525;
            color: white;
          }
        }

        &:not(.most-popular) {
          .most-popular-label {
            opacity: 0;
          }
        }

        .most-popular-label {
          width: fit-content;
          color: rgb(var(--color-foreground));
          background-color: white;
          font-size: 1.1rem;
          font-weight: 500;
          line-height: 120%;
          letter-spacing: -0.11px;
          border-radius: 20rem;
          padding: 1rem 1.2rem;
        }

        .product-image {
          overflow: hidden;
          border-radius: var(--media-radius);
          line-height: 0;

          img {
            object-fit: contain;
            margin: 0 auto;
            display: block;

            width: 130px;
            height: 98px;

            @media screen and (min-width: 750px) {
              width: 180px;
              height: 136px;
            }

            @media screen and (min-width: 990px) {
              width: 325px;
              height: 245px;
            }
          }
        }

        .product-text-content {
          margin-bottom: 1.2rem;

          * {
            margin: 0;
          }

          * + * {
            margin-top: 0.8rem;
          }

          .product-title {
            font-family: var(--Suisse-Intl);
            font-weight: 500;
            line-height: 120%;
          }

          .product-description,
          .product-price {
            font-size: 0.9375em;
            line-height: 130%;
            letter-spacing: -0.3px;
          }

          .product-price {
            color: rgb(var(--color-foreground));
          }
        }
      }

      &.product-overview__title-container,
      &.product-overview__text-container {
        .product-overview__title {
          color: rgb(var(--color-foreground));
          font-weight: 500;
          line-height: 130%;
          letter-spacing: -0.13px;
          font-size: 0.6875em;

          @media screen and (min-width: 990px) {
            font-size: 0.8125em;
          }
        }
      }

      &.product-overview__title-container {
        .product-overview__title {
          display: inline-block;
          width: 100%;
        }
      }

      &.product-overview__text-container {
        display: flex;
        flex-direction: column;

        @media screen and (min-width: 990px) {
          .product-overview__title {
            opacity: 0;
          }
        }

        .product-overview__text {
          font-size: 0.9375em;
          line-height: 130%;
          letter-spacing: -0.3px;
        }
      }

      .button {
        margin-top: auto;
        width: fit-content;
      }
    }

    .product-overview__heading {
      * {
        margin: 0;
      }

      * + * {
        margin-top: 1.6rem;
      }

      .h1 {
        font-size: 2.285715em;
        font-weight: 440;
        line-height: 110%;
        letter-spacing: -1.08px;

        @media screen and (min-width: 750px) {
          font-size: 2.25em;
        }
      }
    }
  }
}
