.section-product {
  width: 100%;
  display: flex;
  padding: 54px;

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

    .product__info-wrapper {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
    }
    .product__info-wrapper [id^="product-form-installment"] {
      margin-bottom: 15px;
    }
    .product__info-container {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      width: 100%;
      max-width: 100%;

      &.is-loading {
        pointer-events: none;
        cursor: wait !important;

        *,
        & > * {
          pointer-events: none;
          cursor: wait !important;
        }
      }

      & > div {
        margin: 0;
      }

      .product__title {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        margin-bottom: 8px;
        width: 100%;
        .product__title__header {
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          margin-bottom: 8px;
          .add-to-bookmarks {
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            svg {
              margin-left: 8px;
            }
            &.active {
              svg {
                fill: #000;
                path {
                  stroke: #000 !important;
                }
              }
            }
          }
        }
        .product__collection-name {
          text-align: left;
          text-transform: uppercase;
          text-decoration: none;
          color: var(--hp-color-blue);
          &:hover {
            text-decoration: underline;
            color: var(--hp-color-blue-hover);
          }
        }
        h1 {
          text-align: left;
          color: var(--hp-color-normal);
          margin: 0;
        }
      }
      .product__price {
        width: 100%;
        text-align: left;
        text-underline-position: from-font;
        text-decoration-skip-ink: none;
        margin: 0;
        margin-bottom: 16px;
        .price__container {
          margin-bottom: 0;
        }
      }
      .product__selected-options {
        width: 100%;
        display: inline-flex;
        flex-wrap: wrap;
        white-space: break-spaces;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        color: var(--hp-color-normal);
        padding: 16px 0;
        margin: 0;
        border-bottom: 1px solid #e5e5e5;
        border-top: 1px solid #e5e5e5;
      }
      .product__variants {
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        padding: 16px 0;
        gap: 16px;

        fieldset {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          justify-content: flex-start;
          width: 100%;
          max-height: fit-content;

          flex: auto;
          margin: 0;
          max-width: 100%;
          legend {
            width: 100%;
            text-align: left;
            color: var(--hp-color-normal);
            letter-spacing: 0;
            margin-bottom: 0;
          }
          .product__variants__options {
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            justify-content: flex-start;
            flex-wrap: wrap;

            label {
              margin: 10px 15px 0 0;
              height: 50px;
              border-width: 0;
              outline: 1px solid var(--hp-color-light);
              color: var(--hp-color-normal);
              border-radius: 32px;
              display: flex;
              align-items: center;
              justify-content: center;
              padding: 0 32px;
              background-color: transparent;
              font-family: var(--hp-font--secondary);
              font-weight: var(--hp-font-weight--regular);
              font-size: var(--hp-typo--body);
              line-height: 1.6;
              letter-spacing: 0%;
              transition: all 0.3s ease-in-out;
              box-sizing: border-box;
              &:before {
                display: none;
              }
              &:hover {
                outline-color: var(--hp-color-light-active);
              }
            }

            input[type="radio"]:checked + label {
              outline: 2px solid var(--hp-color-normal-active);
              color: var(--hp-color-normal-active);
              background-color: transparent;
              font-family: var(--hp-font--secondary);
              /* font-weight: var(--hp-font-weight--bold); */
              font-size: var(--hp-typo--body);
              line-height: 1.6;
              letter-spacing: 0%;
            }

            input[type="radio"]:not(:checked) + label {
              transition-delay: 0.2s !important;
            }
          }
        }
      }
      .product__description {
        width: 100%;
        margin: 16px 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        flex: auto;
        padding: 16px 0 0;
        border-top: 1px solid var(--hp-color-light);
        color: var(--hp-color-normal);
        span {
          margin-bottom: 8px;
          display: flex;
          width: 100%;
        }
        p {
          max-width: 650px;
        }
      }
      .product__quantity {
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        max-width: 100%;
        margin-bottom: 16px;
        flex: auto;

        label {
          text-align: left;
          color: var(--hp-color-normal);
          letter-spacing: 0;
          margin-bottom: 0;
        }
        .quantity {
          margin: 8px 0 0;
          height: 50px;
          border: 2px solid var(--hp-color-light);
          color: var(--hp-color-normal);
          border-radius: 32px;
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 0 32px;
          background-color: transparent;
          &:after {
            display: none;
          }
          button {
            color: var(--hp-color-normal);
            margin: 0;
            flex-shrink: unset;
            width: 20px;
            height: 20px;
            .svg-wrapper {
              width: 20px;
              height: 20px;
            }
            svg {
              path {
                transition: stroke 0.3s ease-in-out;
              }
            }
            &:hover {
              svg {
                path {
                  stroke: var(--hp-color-blue-hover);
                }
              }
            }
          }
          input {
            margin: 0 10px;
            width: 20px;
            &:focus {
              box-shadow: none;
              outline: none;
              border: 0;
            }
          }
        }
      }
      .product__inventory {
        margin: 0;
        .in-stock {
          color: var(--hp-color-green);
        }
        .out-of-stock {
          color: var(--hp-color-red);
        }
        .low-stock {
          color: var(--hp-color-yellow);
        }
      }
      .product__buy {
        width: 100%;
        display: flex;
        margin-top: 32px;
        padding-bottom: 32px;
        margin-bottom: 32px;
        border-bottom: 1px solid var(--hp-color-light);
        .product-form__submit {
          margin: 0;
        }
        product-form {
          margin: 0;
          width: 100%;
          form {
            width: 100%;
            max-width: 100%;
            margin: 0;
          }
        }
        .product-form__buttons {
          display: flex;
          flex-direction: row;
          align-items: flex-start;
          justify-content: flex-start;
          width: 100%;
          max-width: 100%;

          display: grid;
          gap: 16px;
          grid-template-columns: 1fr 1fr;
          .button,
          button {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: Soleil;
            font-size: 16px;
            font-weight: 600;
            line-height: 20.32px;
            text-align: center;
            text-underline-position: from-font;
            text-decoration-skip-ink: none;
            height: 56px;
            border: 0;
            border-radius: 28px;
            outline: 0;
            box-shadow: 0;

            text-decoration: none;
            font-family: var(--hp-font--secondary);
            font-weight: var(--hp-font-weight--regular);
            font-size: var(--hp-typo--body);
            span {
              text-decoration: none;
              font-family: var(--hp-font--secondary);
              font-weight: var(--hp-font-weight--regular);
              font-size: var(--hp-typo--body);
              line-height: 1;
            }

            &:before,
            &:after {
              display: none;
            }
          }
          .shopify-payment-button {
            margin-left: 16px;
            width: 100%;
            button {
              width: 100%;
              cursor: pointer;
              background-color: var(--hp-color-blue);
              color: var(--hp-color-light);
              height: 59px;
              border-radius: 32px;
              border: 2px solid var(--hp-color-blue);
              transition: background-color 0.3s ease-in-out,
                color 0.3s ease-in-out, border 0.3s ease-in-out;
              text-align: center;
              display: flex;
              align-items: center;
              justify-content: center;
              text-decoration: none;
              font-family: var(--hp-font--secondary);
              font-weight: var(--hp-font-weight--regular);
              font-size: var(--hp-typo--body);
              line-height: 1;
              span {
                text-decoration: none;
                font-family: var(--hp-font--secondary);
                font-weight: var(--hp-font-weight--regular);
                font-size: var(--hp-typo--body);
                line-height: 1;
              }
              &:hover {
                background-color: transparent !important;
                color: var(--hp-color-blue-hover) !important;
                border: 2px solid var(--hp-color-blue-hover) !important;
              }
            }
          }
        }
      }
      .product__accordion {
        width: 100%;
        padding: 4px 24px;
        &:first-of-type {
          padding-top: 32px;
        }
        &:last-of-type {
          padding-bottom: 20px;
        }
        summary {
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          height: 48px;

          .summary__title {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            .svg-wrapper {
              width: 48px;
              height: 48px;
            }
            .accordion__title {
              margin: 0 0 0 12px;
            }
          }
        }
        .accordion__content {
          padding-left: 58px;
        }
      }
      .product__contact-info {
        padding: 20px 20px 32px;
        margin-top: 20px;
        border-top: 1px solid var(--hp-color-light);
        width: 100%;
        a {
          color: var(--hp-color-blue);
          text-decoration: none;
        }
      }
    }
  }
}

@media screen and (max-width: 1024px) {
  .section-product {
    padding: 0;
    .product {
      flex-direction: column;

      .product__info-wrapper {
        width: 100%;
        max-width: 100%;
        padding: 32px 16px;
      }
      .product__info-container {
        width: 100%;
        .product__title {
          .add-to-bookmarks__label {
            display: none;
          }
        }

        .product__variants {
          fieldset {
            legend {
            }
            .product__variants__options {
              label {
                height: 40px;
                padding: 0 16px;
              }
            }
          }
        }
        .product__buy {
          margin-top: 32px;
          .product-form__buttons {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            .button,
            button {
              width: 100%;
              max-width: 100%;
            }
            .shopify-payment-button {
              margin-left: 0;
              width: 100%;
              max-width: 100%;
            }
          }
        }

        .product__accordion {
          width: 100%;
          padding: 4px 0px;
        }
      }
    }
  }
}
