.gbbPageBody {
  font-family: "Inter", sans-serif !important;

  @media screen and (max-width: 768px) {
    padding: 16px !important;
  }
}

.gbbProductsItemsContainer {
  row-gap: 32px !important;
  column-gap: 8px !important;
}

.gbbProductItem {

  padding: 0 !important;
  border: none !important;
  outline: none !important;

  gap: 0px !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: max-content max-content max-content !important;
  align-content: start !important;

  .gbbProductImageContainer {
    grid-area: 1 / 1 !important;

    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;

    display: block !important;

    max-height: none !important;
    border-radius: 4px !important;
    overflow: hidden !important;

    .gbbProductImageContainerImg0 {

      width: 100% !important;
      height: 100% !important;
      aspect-ratio: 1 / 1 !important;
      object-fit: contain !important;

      display: block !important;

      max-height: none !important;
      border-radius: 4px !important;
      overflow: hidden !important;

    }

    .gbbPrevImage {}

    .gbbNextImage {}

    .gbbProductItemOverLay {
      grid-area: overlay;

      .gbbOverLayIconContainer {
        margin: 0;
        background-position: center center;
      }
    }
  }

  .gbbProductTextContainer {
    .gbbProductItemTitle {

      gap: 0;

      .gbbProductTitleOnly {

        font-family: "Inter", sans-serif;
        font-size: 16px;
        line-height: 24px;
        font-weight: 400;

        color: #000000;

        height: auto !important;
        padding: 0 !important;
        margin: 16px 0 4px 0 !important;
        border: none !important
      }

      .gbbVariantTitle {

        font-family: "Inter", sans-serif;
        font-size: 14px;
        line-height: 1;
        font-weight: 400;
        text-transform: capitalize;

        color: #737373;
      }
    }
  }

  .gbbProductActionContainer {
    display: contents !important;

    .gbbProductItemPricesContainer {
      .gbbProductItemCompareAtPrice {
        .gbbProductItemPrice {
          font-size: 16px !important;
          line-height: 1 !important;
          color: #000000 !important;
        }
      }
    }

    .gbbProductButtonWrapper {

      width: 108px !important;
      height: 36px !important;

      grid-area: 1 / 1 !important;
      align-self: end !important;
      justify-self: end !important;
      z-index: 10 !important;
      margin: 16px !important;

      .gbbProductAddButton {
        width: 36px !important;
        height: 36px !important;
      }

      .gbbProductQuantityHTML {
        width: auto !important;
        padding: 0 !important;

        .gbbProductQuantityRemoveButton {
          width: 36px !important;
          height: 36px !important;
          padding: 0 !important;

          .gbbProductQuantityRemoveButtonWrapper {
            svg {
              width: 24px !important;
              height: 24px !important;
            }
          }
        }

        .gbbProductQuantityLabel {
          min-width: 36px !important;
          height: 36px !important;

          display: flex;
          flex-direction: row;
          justify-content: center;
          align-items: center;
        }

        .gbbProductQuantityAddButton {
          width: 36px !important;
          height: 36px !important;
          padding: 0 !important;

          .gbbProductQuantityAddButtonWrapper {
            svg {
              width: 24px !important;
              height: 24px !important;
            }
          }
        }
      }
    }
  }
}

.gbbPageFooterHTML {
  @media screen and (max-width: 768px) {
    padding: 0px !important;
  }

  padding: 16px !important;

  .gbbFooterBundleInfoContainer {
    .gbbFooterBundleInfoContentContainer {
      row-gap: 4px !important;

      .gbbFooterBundleTitle {
        line-height: 32px !important;
      }

      .gbbFooterBundleSubtext {}
    }

    .gbbFooterClearItemsButtonWrapper {

      font-size: 12px !important;
      line-height: 48px !important;
      height: 48px !important;
      padding: 0 16px !important;
      border-radius: 4px !important;
      text-transform: uppercase !important;

      color: #000000 !important;
      background-color: #1212121a !important;

      .gbbFooterClearItemsIcon {
        display: none !important;

        svg {}

      }

      .gbbFooterClearItemsContent {}
    }

  }

  .gbbDiscountFooterHTML {
    .gbbDiscountMessageContainer {
      .gbbDiscountMessage {}
    }

    .progressBarContainer {
      .progressBar {
        height: 8px !important;
        border-radius: 2px !important;
        background-color: #1212121a !important;

        .progressBarFill {
          background-color: #000000 !important;
        }
      }
    }
  }

  .gbbFooterBundleItemsContainer {

    .gbbFooterTotalItemsInCart {}

    .gbbFooterProductsContainer {

      grid-template-rows: auto !important;

      .gbbFooterProductWrapper {

        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 16px !important;

        .gbbFooterProductImageContainer {
          width: 80px !important;
          height: 80px !important;
          aspect-ratio: 1 / 1 !important;
          border-radius: 4px !important;
          overflow: hidden !important;
          border: none !important;

          .gbbFooterProductImage {

            width: 100% !important;
            height: 100% !important;
            aspect-ratio: 1 / 1 !important;
            object-fit: cover !important;

            display: block !important;

          }
        }

        .gbbFooterProductInfoContainer {

          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: flex-start;

          .gbbFooterProductTitle {
            font-family: "Inter", sans-serif !important;
            font-size: 14px !important;
            line-height: 24px !important;
            font-weight: 400 !important;

            color: #000000 !important;

            margin: 0 0 4px 0 !important;
          }

          .gbbFooterVariantTitle {

            font-family: "Inter", sans-serif !important;
            font-size: 12px !important;
            line-height: 1 !important;
            font-weight: 400 !important;
            text-transform: capitalize !important;

            color: #737373 !important;

            margin: 0 0 4px 0 !important;

            &:empty {
              display: none;
              margin: 0 !important;
            }

          }

          .gbbFooterProductPriceContainer {
            font-size: 16px !important;
            line-height: 1 !important;
            color: #000000 !important;
          }
        }

        .gbbFooterProductActionContainer {

          margin: 0 0 0 auto !important;
          flex-shrink: 0;

          .gbbFooterProductQuantity {
            font-size: 16px !important;
            line-height: 24px !important;
            color: #000000 !important;
          }

          .gbbFooterProductRemoveButtonWrapper {
            width: 32px !important;
            height: 32px !important;
            padding: 0 !important;
            border-radius: 4px !important;
            border: none !important;

            cursor: pointer !important;

            svg path {
              fill: #000000 !important;
            }

            &:hover {
              background-color: #1212121a !important;
            }
          }
        }
      }

      .gbbEmptyProductCard {
        opacity: 0.3 !important;

        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 16px !important;

        .gbbEmptyProductCardImageContainer {
          width: 80px !important;
          height: 80px !important;
          aspect-ratio: 1 / 1 !important;

          border-radius: 4px !important;
          overflow: hidden !important;
          border-width: 1px !important;
        }

        .gbbEmptyProductCardInfoContainer {
          width: 100px !important;
        }

        .gbbEmptyProductCardActionContainer {
          width: 80px !important;
          margin: 0 0 0 auto !important;
        }
      }

    }
  }

  .gbbFooterActionContainer {
    .gbbFooterTotalContainer {
      .gbbBundleTotalWrapper {
        .gbbFooterTotalLabel {
          font-size: 14px !important;
          line-height: 1 !important;
          color: #000000 !important;
          text-transform: uppercase !important;
        }
      }

      .gbbFooterTotalValueContainer {}
    }

    .gbbFooterButtonsWrapper {
      .gbbFooterNextButton {
        font-size: 12px !important;
        line-height: 48px !important;
        height: 48px !important;
        padding: 0 16px !important;
        border-radius: 4px !important;
        text-transform: uppercase !important;

        color: #ffffff !important;
        background-color: #000000 !important;

      }
    }
  }

}