.product-main__wrapper {
  color: var(--color-primary);
  background: var(--background-primary);
}

.product-main__container--padding-top {
  padding-top: var(--padding-top-mobile, 0);
}

.product-main__container--padding-bottom {
  padding-bottom: var(--padding-bottom-mobile, 0);
}

.product-main__grid {
  position: relative;
  font-size: var(--font-size-regular);
  line-height: var(--line-height-lg);
}

.product-main__gallery-item {
  padding-bottom: 24px;
}

.product-main__gallery-item--borders .product-main__gallery-image {
  border: 1px solid var(--color-border);
}

.product-main__gallery-image {
  border-radius: var(--border-radius-rounded-blocks);
  width: 100%;
}

.product-main__title {
  font-size: 40px;
  line-height: var(--line-height-md);
  margin-bottom: 8px;
}

.product-main__price {
  margin: 0 0 20px;
}

.product-main__price-separator {
  margin: 0 5px;
}

.product-main__price bq-product-price {
  font-size: 24px;
  font-family: var(--font-body);
  font-weight: var(--font-weight-bold);
}

.product-main__description {
  padding: 0 0 25px;
}

.product-main__description:last-child {
  padding: 40px 0 0;
}

.product-main__variant-label {
  margin-bottom: 6px;
}

.product-main__availability,
.product-main__variant {
  padding: 0 0 32px;
}

.product-main__variant bq-product-variations-select {
  display: block;
}

.product-main__availability bq-product-availability {
  font-family: var(--font-body);
  font-size: calc(var(--font-size-regular) - 2px);
}

.product-main__availability bq-product-availability[visible="true"] {
  margin-right: 20px;
}

.product-main__availability bq-product-availability-calendar {
  font-size: calc(var(--font-size-regular) - 2px);
  font-family: var(--font-body);
  line-height: var(--line-height-lg);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.product-main__availability bq-product-availability-calendar:hover {
  text-decoration: none !important;
}

.product-main__message {
  text-align: center;
  font-size: calc(var(--font-size-regular) - 4px);
  padding: 23px 0 32px;
  color: var(--color-secondary);
}

@media (min-width: 768px) {
  .product-main__grid {
    --grid-left: 60%;
    --grid-right: 40%;
    --grid-gap: 16px;
    display: grid;
    grid-template-columns: var(--grid-left) var(--grid-right);
  }

  .product-main__info {
    padding-left: var(--grid-gap);
  }

  .product-main__grid--overlay:has(ul.product-main__gallery):after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: -2px;
    width: calc(var(--grid-left) + var(--grid-gap));
    height: 50px;
    background: linear-gradient(0deg, var(--background-primary) 38%, var(--background-primary-00) 95%);
  }

  ul.product-main__gallery {
    position: relative;
    max-height: 1524px;
    overflow: auto;
  }
}

@media (min-width: 992px) {
  .product-main__container--padding-top {
    padding-top: var(--padding-top, 0);
  }

  .product-main__container--padding-bottom {
    padding-bottom: var(--padding-bottom, 0);
  }

  .product-main__grid {
    --grid-gap: 47px;
  }
}
