.single-product {
  @media (hover: hover) {
    .storefront-sticky-add-to-cart a:not(.button):hover {
      color: white;
    }
  }

  div.product {
    padding-block: 56px;

    @media (max-width: 1024px) {
      padding-block: 40px;
      row-gap: 32px;
    }

    &:before {
      display: none;
    }

    button[type='submit'] {
      opacity: 1 !important;
      position: relative;
      border: none;
      outline: 0;
      background: 0 0;
      cursor: pointer;
      display: flex;
      padding: 0.85714286rem 1.71428571rem;
      justify-content: center;
      align-items: center;
      gap: 0.71428571rem;
      text-decoration: none !important;
      transition: background-color 0.3s ease, color 0.3s ease,
        border-color 0.3s ease;
      border: 1px solid #000;
      font-size: 1rem;
      font-style: normal;
      font-weight: 500;
      line-height: 120%;
      background-color: #fff !important;
      color: #000 !important;

      @media (hover: hover) {
        &:hover {
          background-color: #000 !important;
          color: #fff !important;
        }
      }

      &:focus-visible {
        background-color: #000 !important;
        color: #fff !important;
      }
    }
  }

  & {
    .images,
    .summary {
      width: unset !important;
      margin: 0 !important;
    }
  }

  .single-product__gallery {
    grid-column: 1/6;

    @media (max-width: 1024px) {
      grid-column: 1/-1;
      grid-row: 1;
    }

    .images {
      width: 100%;
      float: none !important;

      .woocommerce-product-gallery__container {
        width: 100% !important;

        @media (min-width: 1025px) {
          display: flex;
          flex-direction: column;
          gap: 8px;
        }

        @media (max-width: 1024px) {
          display: grid;
          grid-auto-flow: column;
          overflow-x: auto;
          scrollbar-width: none;
          gap: 12px;
          margin-inline: calc(var(--padding-x) * -1);
          padding-inline: var(--padding-x);
          width: unset !important;
          transform: none !important;
        }
      }

      .woocommerce-product-gallery__trigger {
        z-index: 1 !important;

        @media (max-width: 1024px) {
          right: 0 !important;
        }
      }

      .woocommerce-product-gallery__image:not(:only-child) {
        float: unset !important;

        @media (min-width: 1025px) {
          width: 100% !important;
        }

        @media (max-width: 1024px) {
          width: calc(
            5 * var(--column-width) + 4 * var(--grid-gutter)
          ) !important;
        }
      }

      .flex-viewport {
        margin: 0 !important;
        height: unset !important;
        overflow: initial !important;
      }

      .zoomImg {
        display: none !important;
      }

      a > img {
        width: 100%;

        @media (max-width: 1024px) {
          width: 100%;
          height: 30vh;
          object-fit: cover;
        }
      }

      .flex-control-nav {
        display: none !important;

        display: flex;
        flex-direction: column;
        gap: 8px;

        li {
          margin: 0 !important;
          width: 100% !important;

          img {
            width: 100%;
          }
        }
      }
    }
  }

  .single-product__summary {
    grid-column: 7/-1;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 32px;

    ul {
      padding-inline-start: 1.3ch;
      list-style: disc;
    }

    ol {
      padding-inline-start: 1.3ch;
      list-style: decimal;
    }

    li {
      list-style: inherit;
    }

    .single-product__summary__headings {
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      gap: 16px;

      @media (max-width: 1024px) {
        gap: 32px;
      }

      .single-product__title {
        color: black;
        text-wrap: balance;
      }
    }

    @media (max-width: 1024px) {
      grid-column: 1/-1;
      grid-row: 2;
      gap: 32px;
    }

    .cart {
      display: flex;
      padding: 24px !important;
      margin: 0 !important;
      flex-direction: column;
      gap: 16px;
      border-radius: 4px;
      background: #f8f7f4;

      &::before,
      &::after {
        display: none !important;
      }

      .cart__quantity {
        padding: 14px 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        align-items: center;
        border-radius: 4px;
        background: #fff;

        .quantity {
          margin: 0 !important;
        }
      }

      .cart__actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        align-items: center;

        .cart__actions__total {
          color: var(--NOIR-CF, #2c2b2b);
          font-size: 22px;
          font-weight: 600;
          line-height: normal;
        }
      }
    }

    .woocommerce-product-details__short-description {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 24px;

      ul {
        padding-inline-start: 1.3ch;
        list-style: disc;
      }

      ol {
        padding-inline-start: 1.3ch;
        list-style: decimal;
      }

      li {
        list-style: inherit;
      }
    }

    .venue-informations {
      display: flex;
      flex-direction: column;
      gap: 8px;

      li {
        display: flex;
        align-items: center;
        gap: 12px;

        &:has(> .h-cta-secondary) {
          @media (max-width: 1024px) {
            display: grid;
            grid-template-columns: auto 1fr;
            grid-template-areas: 'icon text' 'icon link';
            row-gap: 0px;
            span {
              &[class^='icon'] {
                grid-area: icon;
              }

              :not([class^='icon']) {
                grid-area: text;
              }
            }

            .h-cta-secondary {
              grid-area: link;
              padding-block: 8px;
            }
          }
        }

        .h-cta-secondary {
          padding-inline: 0;
          white-space: nowrap;
        }
      }
    }
  }

  .single-product__specs {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  & .woocommerce-tabs {
    display: none;
  }

  .woocommerce-message {
    display: flex;
    /* height: 41px; */
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    column-gap: 12px;
    row-gap: 8px;
    align-self: stretch;
    margin-bottom: 0;
    border-radius: 0;
    border: none;

    @media (max-width: 813px) {
      display: grid;
      grid-template-columns: auto 1fr;
      padding: 16px var(--padding-x);

      .button {
        grid-column: 1/-1;
        place-self: self-end;
      }
    }

    &:after {
      display: none;
    }

    &:before {
      font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;

      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;

      content: '\e910';
      position: relative;

      top: unset;
      left: unset;
      display: initial;
    }

    .button {
      border: none;
      margin: 0;
      padding-inline-start: unset;
      white-space: nowrap;

      &::after {
        display: none;
      }
    }
  }
}
