.product-bundles-section {
  position: relative;
  color: rgb(var(--color-text));
  background-color: rgb(var(--color-background));
}
.product-bundles__wrapper {
  display: flex;
  flex-direction: row;
  align-items: var(--align-center);
  column-gap: 60px;
  width: 100%;
  color: rgb(var(--color-text));
  background-color: rgb(var(--color-background));
}
.product-bundles__list-wrapper,
.product-bundles__image {
  flex: 1;
}
.product-bundles__list-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 48px;
  width: 100%;
}
.product-bundles__list {
  display: flex;
  flex-direction: column;
  row-gap: 48px;
  width: 100%;
}
.product-bundles__list,
.product-bundles__cta,
.product-bundles__error {
  margin-top: 24px;
}
.product-bundles__image {
  position: relative;
  display: flex;
  width: 100%;
  aspect-ratio: var(--aspect-ratio);
}
.product-bundles__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.product-bundles__image .empty-image-class {
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-image-background));
}
.product-bundles__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.product-bundles__item .block-product-bundles__item-image-wrapper,
.product-bundles__item .block-product-card__layer-image-wrapper {
  width: 100px;
  flex-shrink: 0;
  border: 0;
}
.product-bundles__item .block-product-card__title {
  padding-inline-end: 0;
}
.product-bundles__item .block-product-card__price {
  max-width: 125px;
}
.product-bundles__item .block-product-card__price .product-price {
  justify-content: flex-end;
}
.block-product-bundles__item-image-wrapper img {
  max-width: 100%;
  height: auto;
  aspect-ratio: var(--aspect-ratio);
  object-fit: cover;
}
.block-product-bundles__item-title-wrapper {
  flex: 1;
}
.product-bundles__form {
  width: 100%;
}
.product-bundles__form .form__error-message {
  display: flex;
  gap: 4px;
  align-items: center;
  color: rgb(var(--color-tag-background));
  margin-block: 10px;
}
.product-bundles__form .form__error-message::after {
  content: attr(data-message);
}
.product-bundles__form .button {
  width: 100%;
}
.product-bundles__cta-separator {
  padding: 0 8px;
}
@media (max-width: 960px) {
  .product-bundles__wrapper {
    flex-direction: column-reverse;
    row-gap: 8px;
  }
  .product-bundles__list-wrapper,
  .product-bundles__list {
    row-gap: 24px;
  }
}
