.product-information {
  display: flex;
  gap: var(--global-col-gap-lg);
  align-items: flex-start;
  padding: var(--global-sect-pad-y-lg) var(--global-sect-pad-x-sm);
  margin: auto;

  &.gallery-position-right {
    flex-direction: row-reverse;
  }

  @media screen and (max-width: 768px) {
    flex-direction: column;
  }

  .product-gallery {
    flex: 1 1 4%;
    width: 40%;
    user-select: none;

    @media screen and (max-width: 768px) {
      width: 100%;
    }

    @media screen and (min-width: 769px) {
      position: sticky;
      top: var(--global-sect-pad-y-lg);
    }

    .images {
      width: 100%;
      max-width: 100%;
      max-height: 100vh;
      min-height: 0;
      min-width: 0;
      overflow: hidden;
      position: relative;

      .tags {
        position: absolute;
        padding: var(--tag-pad-y-sm) var(--tag-pad-x-sm);
        width: 100%;
        z-index: 2;

        .tag {
          &.sale {
          }
          &.new {
          }
        }
      }

      .swiper-wrapper .swiper-slide {
        .image-container {
          width: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          overflow: hidden;

          picture {
            display: contents;
          }

          img {
            min-width: 100%;
            overflow: hidden;
            object-fit: cover;
            height: auto;
          }

          .video-external-container,
          .video-stored-container,
          .video-container {
            height: 100%;
            width: 100%;
            padding: 0;
          }
        }
      }

      &.swiper-enabled {
        .swiper-slide:after {
          content: "";
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          transition: opacity 0.3s;
          opacity: 0;
          pointer-events: none;
        }

        &:not(.swiper-initialized) {
          .swiper-slide:after {
            opacity: 1;
          }
        }
      }

      .swiper-button {
        opacity: 0;
      }

      &.swiper-initialized {
        &:hover,
        &:focus-within {
          .swiper-button {
            opacity: 1;

            &.swiper-button-disabled {
              opacity: 0.35;
            }
          }
        }

        .swiper-button {
          @media screen and (max-width: 768px) {
            opacity: 1;

            &.swiper-button-disabled {
              opacity: 0.35;
            }
          }

          &.swiper-button-disabled {
            pointer-events: all;
            cursor: default !important;
          }

          &:after {
            content: none;
          }

          @media screen and (min-width: 769px) {
            &:hover {
              cursor: pointer;
              opacity: 0.7;
            }
          }
        }
      }
    }

    .thumbnails {
      overflow: hidden;
      margin-top: var(--global-grid-gap);
      transition: opacity 0.3s;
      display: block;
      opacity: 1;
      position: relative;

      @media screen and (max-width: 768px) {
        margin-top: 24px;
      }

      &:not(.swiper-initialized) {
        display: none;
        opacity: 0;

        .swiper-wrapper .swiper-slide:after {
          opacity: 1;
        }
      }

      &.thumbnails-swiper {
        padding-right: 10%;
      }

      &.thumbnails-swiper-paginated {
        padding: 0 40px;

        .swiper-slide {
          opacity: 1;
          transition: opacity 0.1s;

          &:not(.swiper-slide-visible) {
            opacity: 0;
          }
        }

        .swiper-button {
          opacity: 0;
        }

        &.swiper-initialized {
          .swiper-button {
            position: absolute;
            z-index: 3;
            top: 59%;
            transition: opacity 0.3s ease-in-out;
            opacity: 1;
            height: var(--arrow-button-size);
            width: var(--arrow-button-size);

            &.swiper-button-disabled {
              opacity: 0.35;
              pointer-events: all;
              cursor: default !important;
            }

            &.swiper-button-prev {
              left: 0;
            }

            &.swiper-button-next {
              rotate: 180deg;
              right: 0;
            }

            &:after {
              content: none;
            }

            svg {
              circle {
                fill: var(--brand-black);
              }
              path {
                fill: var(--brand-white);
              }
            }

            @media screen and (min-width: 769px) {
              &:not(.swiper-button-disabled):hover {
                cursor: pointer;
                opacity: 0.7;
              }
            }
          }
        }
      }

      .swiper-wrapper {
        .swiper-slide {
          height: auto;
          overflow: hidden;
          /* margin-right: var(--global-grid-gap) !important; */

          &:after {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            transition: opacity 0.3s;
            opacity: 0;
            pointer-events: none;
          }

          .thumbnail-container {
            width: 100%;
            aspect-ratio: 1;
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            cursor: pointer;

            picture {
              display: contents;
            }

            img {
              min-width: 100%;
              overflow: hidden;
              object-fit: cover;
              height: auto;
            }
          }
        }
      }
    }
  }

  .product-details {
    flex: 1 1 60%;
    width: 60%;
    display: flex;
    flex-direction: column;
    gap: var(--global-text-gap);

    @media screen and (max-width: 768px) {
      width: 100%;
    }

    .product-title {
      display: flex;
      flex-direction: column;
      gap: 24px;
      @media screen and (max-width: 768px) {
        gap: 16px;
      }
    }

    .pricing {
      display: none;
      gap: var(--global-text-gap);
      align-items: baseline;

      &.active {
        display: flex;
      }

      .price {
        font-family: Archivo;
        font-size: 28px;
        font-style: normal;
        font-weight: 400;
        line-height: var(--global-headline-sm-line-height);
        letter-spacing: var(--global-headline-sm-letter-spacing);
        display: flex;
        flex-direction: row;
        gap: 5px;
        @media screen and (max-width: 768px) {
          font-size: 24px;
          line-height: 32px;
        }
      }

      .price-compare {
        color: #0e1b4d7f;
        text-decoration: line-through;
      }

      .price-current {
        color: var(--brand-black);
      }
    }

    .reasons-to-buy {
      display: flex;
      gap: var(--global-text-gap);
      flex-wrap: wrap;

      .reason {
        display: flex;
        align-items: center;
        position: relative;

        @media screen and (min-width: 769px) {
          flex-direction: column;
          align-items: flex-start;
          justify-content: center;

          &:not(:first-child)::before {
            content: "";
            border: var(--input-border-width) solid
              var(--background-fill-border-light-1);
            position: absolute;
            left: calc(var(--global-col-gap-sm) * -1 * 2);
            width: 0;
            height: 100%;
          }
        }

        .icon {
          flex-shrink: 0;
          display: contents;

          svg {
            width: var(--icon-size);
            height: var(--icon-size);
            flex: 0 0 var(--icon-size);
          }
        }

        picture {
          flex-shrink: 0;

          img {
            max-width: var(--icon-size);
            max-height: var(--icon-size);
            width: auto;
            height: auto;
            object-fit: contain;
          }
        }

        .text {
          margin: 0;
        }
      }
    }

    .product-form {
      display: block;

      .product-form__error-message-wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 5px;
        &[hidden] {
          display: none;
        }
        svg {
          height: var(--icon-size);
          width: var(--icon-size);
        }
      }

      form {
        display: flex;
        flex-direction: column;
        gap: var(--input-lg-form-gap);
        variant-radios {
          legend {
            margin-bottom: var(--input-global-label-gap);
          }
          fieldset {
            display: flex;
            flex-direction: column;
            gap: var(--input-global-label-gap);
            .variant-radios {
              display: flex;
              flex-direction: row;
              flex-wrap: wrap;
              .radio {
                width: 100%;
              }
            }
          }
        }
        .sealsubs-target-element {
          .sealsubs-container {
            margin: 0;
          }
          .sls-more-info-text,
          .sls-more-info-container {
            padding-bottom: 0;
          }
        }
      }

      .product-form__buttons {
        display: flex;
        flex-direction: row;
        gap: var(--input-lg-form-gap);
        @media screen and (max-width: 768px) {
          justify-content: space-between;
        }
        .product-form__submit {
          border-radius: 0;
          width: fit-content;
          background: var(--brand-black);
          border: 1px solid var(--brand-black);
          height: 40px;
          max-height: 40px;
          min-height: 0;
          transition: var(--brand-blue);
          transition: all 0.3s ease-in-out;
          padding: 0 var(--button-primary-md-pad-x);
          &:hover {
            background: var(--brand-blue);
          }
          &:focus,
          &:focus-within {
            outline: 2px solid var(--brand-blue);
            outline-offset: 2px;
          }
          span {
            display: flex;
            flex-direction: row;
            gap: var(--button-primary-md-icon-gap);
            align-items: center;
            color: #fff;
            font-family: Archivo;
            font-size: var(--button-primary-md-font-size);
            font-style: normal;
            font-weight: 500;
            line-height: var(--button-primary-md-line-height);
            letter-spacing: var(--button-primary-md-letter-spacing);
          }
          &:after,
          &:before {
            border-radius: 0;
            content: none;
            box-shadow: none;
          }
        }
      }

      quantity-input {
        border-radius: 0;
        min-height: 0;
        height: 40px;
        min-width: fit-content;
        width: auto;
        &:after,
        &:before {
          border-radius: 0;
          content: none;
          box-shadow: none;
        }
        .quantity__button {
          border-radius: 0;
          width: 40px;
          height: 40px;
          &[name="plus"] {
            border-right: 1px solid var(--brand-black);
            border-top: 1px solid var(--brand-black);
            border-bottom: 1px solid var(--brand-black);
          }
          &[name="minus"] {
            border-left: 1px solid var(--brand-black);
            border-top: 1px solid var(--brand-black);
            border-bottom: 1px solid var(--brand-black);
          }
          &:focus,
          &:focus-visible {
            outline: 2px solid var(--brand-blue);
          }
        }
        .quantity__input {
          width: 40px;
          height: 40px;
          border: 1px solid var(--brand-black);
          &:focus,
          &:focus-visible {
            outline: 2px solid var(--brand-blue);
          }
        }
      }
    }

    .product-text-content {
      display: flex;
      flex-direction: column;
      gap: 14px;
      p,
      li,
      ul,
      span,
      ol {
        margin: 0;
        color: var(--brand-black);
        font-family: Questrial;
        font-size: var(---global-body-lg-font-size);
        font-style: normal;
        font-weight: 400;
        line-height: var(--global-body-lg-line-height);
        letter-spacing: var(--global-body-lg-letter-spacing);
      }
    }

    .product-accordions {
      details {
        border-top: 1px solid var(--brand-black);
        border-bottom: 1px solid var(--brand-black);
        svg {
          height: var(--toggle-icon-size);
          width: var(--toggle-icon-size);
        }

        &:not(:first-child) {
          border-top: var(--global-border-width) solid var(--toggle-bg-stroke);
        }

        .icon-plus,
        .icon-minus {
          min-height: var(--toggle-icon-size);
          min-width: var(--toggle-icon-size);
        }

        .icon-minus {
          display: none;
        }

        &[open] {
          summary {
            padding-bottom: var(--toggle-heading-gap);
            .icon-minus {
              display: block;
              color: var(--toggle-icon-fill-active);
            }
            .icon-plus {
              display: none;
            }
          }
          .details {
            padding-bottom: var(--toggle-pad);
          }
        }

        summary {
          margin: 0;
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: var(--toggle-pad) 0;
          font-family: Archivo;
          font-size: 18px;
          font-style: normal;
          font-weight: 500;
          color: var(--brand-black);
        }

        .details {
          svg {
            height: var(--toggle-icon-size);
            width: var(--toggle-icon-size);
            color: var(--toggle-icon-fill-default);
          }
          * {
            &:first-child {
              margin-top: 0;
            }

            &:last-child {
              margin-bottom: 0;
            }
          }
        }
      }
    }
  }
}
