.koala-deal {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 16px 0;
  line-height: 1.5;
  width: 100%;
  padding: 8px;
  border: 1px solid var(--block-border-color);
  border-radius: var(--block-border-radius);
  background-color: var(--block-bg-color);
  overflow: hidden;
}

.koala--hidden {
  display: none !important;
}

.koala-deal__tier__variant-groups {
  list-style: none !important;
  margin: 0;
  flex-direction: column;
  gap: 4px;
  padding: 0 16px 10px;
  display: none;
}

.koala-deal__tier__variant-group {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
}

.koala-deal__tier__variant-group-number {
  background-color: var(--label-bg-color);
  color: var(--label-text-color);
  font-weight: var(--label-font-weight);
  font-size: 10px;
  width: 22px;
  min-width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.koala-deal__tier__variants {
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  gap: 4px;
  flex-wrap: wrap;
}

.koala-deal__tiers__list {
  display: flex;
  flex-direction: column;
  list-style: none !important;
  width: 100%;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.koala-deal__tier {
  display: flex !important;
  justify-content: center;
  flex-direction: column;
  cursor: pointer;
  width: 100%;
  margin: 0;
  border: 2px solid var(--border-color);
  border-radius: var(--border-radius);
  background-color: var(--bg-color);
  min-height: 68px;
  overflow: hidden;
}

.koala-deal__tiers__table {
  border-collapse: separate !important;
  border-spacing: 1px !important;
  border: none !important;
}

.koala-deal__tiers__table {
  border: none !important;
}

.koala-deal__tiers__table td {
  border: none !important;
}

.koala-deal__tiers__table tr {
  border: none !important;
}

.koala-deal__tiers__table th {
  border: none !important;
}

.koala-deal__tiers__table .koala-deal__tier__badge {
  margin: 0 auto;
}

.koala-deal__tiers__table .koala-deal__tier > td {
  padding: 10px 16px;
}

.koala-deal__tiers__table .koala-deal__tier > td:last-child {
  width: 30%;
}

.koala-deal__tiers__table .koala-deal__tier {
  display: table-row !important;
  border: unset;
  min-height: unset;
  cursor: inherit;
  flex-direction: unset;
}

.koala-deal__tiers__table .koala-deal__tier:first-child > td:first-child {
  border-top-left-radius: var(--border-radius);
}

.koala-deal__tiers__table .koala-deal__tier:first-child > td:last-child {
  border-top-right-radius: var(--border-radius);
}

.koala-deal__tiers__table .koala-deal__tier:last-child > td:first-child {
  border-bottom-left-radius: var(--border-radius);
}

.koala-deal__tiers__table .koala-deal__tier:last-child > td:last-child {
  border-bottom-right-radius: var(--border-radius);
}

.koala-deal__tier__label {
  background-color: var(--label-bg-color);
  color: var(--label-text-color);
  font-weight: var(--label-font-weight);
  font-size: var(--label-font-size);
  padding: 8px 16px;
  display: flex !important;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  width: 100%;
}

.koala-deal__tier__body {
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  align-items: center;
  padding: 10px 16px;
}

.koala-deal__tier__input {
  display: none !important;
}

.koala-deal__tier__input:checked + .koala-deal__tier {
  border: 2px solid var(--border-selected-color) !important;
  background-color: var(--bg-selected-color) !important;
}

.koala-deal__tier__radio {
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 2px solid var(--radio-color) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.koala-deal__tier__input:checked + .koala-deal__tier .koala-deal__tier__radio {
  border: 2px solid var(--radio-selected-color) !important;
}

.koala-deal__tier__input:checked
  + .koala-deal__tier
  .koala-deal__tier__variant-groups {
  display: flex;
}

.koala-deal__tier__input:checked
  + .koala-deal__tier
  .koala-deal__tier__radio:after {
  background: var(--radio-selected-color) !important;
  content: " " !important;
  width: 10px !important;
  min-width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
}

.koala-deal__tier__content-container {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px !important;
  align-items: center !important;
}

.koala-deal__tier__description-container {
  display: flex !important;
  flex-direction: column;
}

.koala-deal__tier__title-container {
  display: flex !important;
  flex-direction: row;
  gap: 4px;
  align-items: flex-start;
}

.koala-deal__tier__title {
  color: var(--title-color);
  font-size: var(--title-font-size);
  font-weight: var(--title-font-weight);
}

.koala-deal__tier__subtitle {
  color: var(--subtitle-color);
  font-size: var(--subtitle-font-size);
  font-weight: var(--subtitle-font-weight);
}

.koala-deal__tier__badge {
  padding: 4px 8px;
  border-radius: 12px;
  display: flex !important;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-size: var(--badge-font-size);
  font-weight: var(--badge-font-weight);
  background-color: var(--badge-bg-color);
  color: var(--badge-text-color);
}

.koala-deal__tier__pricing-container {
  display: flex !important;
  flex-direction: column;
  align-items: flex-end;
}

.koala-deal__tier__regular-price {
  text-decoration: line-through;
  color: var(--regular-price-color);
  font-size: var(--regular-price-font-size);
  font-weight: var(--regular-price-font-weight);
}

.koala-deal__tier__price {
  color: var(--price-color);
  font-size: var(--price-font-size);
  font-weight: var(--price-font-weight);
}

.koala-deal__title {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
  color: var(--block-title-color);
  font-size: var(--block-title-font-size);
  font-weight: var(--block-title-font-weight);
}

.koala-deal__out-of-stock {
  font-size: 12px;
  border: 2px solid var(--block-bg-color);
  color: rgb(235, 0, 27);
  background: rgb(235 0 27 / 5%);
  padding: 10px;
  border-radius: var(--border-radius);
}

.koala-deal__branding {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}

.koala-deal__tier__quantity-container {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  gap: 16px;
  align-items: center;
}

.koala-deal__quantity-label {
  color: var(--quantity-selector-label-color);
  font-size: var(--quantity-selector-label-font-size);
  font-weight: var(--quantity-selector-label-font-weight);
}

.koala-deal__quantity-container {
  display: flex;
  align-items: center;
}

.koala-deal__quantity-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--quantity-button-text-color);
  font-weight: bold;
  background-color: var(--quantity-button-background-color);
  border-radius: var(--quantity-button-border-radius);
  cursor: pointer;
  user-select: none;
  transition: opacity 0.3s ease;
}

.koala-deal__quantity-button:not(.koala-deal__quantity-button-disabled):hover {
  opacity: 0.8;
}

.koala-deal__quantity-button-disabled {
  background-color: var(--quantity-button-background-color);
  opacity: 0.6;
  cursor: not-allowed;
}

.koala-deal__quantity-input {
  background-color: transparent;
  text-align: center;
  color: var(--quantity-selector-label-color);
  font-size: var(--quantity-selector-label-font-size);
  margin: 0 5px;
  width: 48px;
  height: 32px;
  border: none;
}

.koala-deal__quantity-input::-webkit-outer-spin-button,
.koala-deal__quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.koala-deal__quantity-input[type="number"] {
  -moz-appearance: textfield;
}

.koala-deal__quantity-highlighted-row > td {
  transition: background-color 0.3s ease;
}

.koala-deal__quantity-highlighted-row > td:first-child {
  background-color: var(--bg-selected-color);
}

.koala-deal__quantity-highlighted-row > td:last-child {
  background-color: var(--bg-selected-color);
}

.koala-deal__bundle {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.koala-deal__bundle-products {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}

.koala-deal__bundle-product {
  display: flex;
  flex-direction: row;
  gap: 8px;
  padding: 8px;
  background-color: var(--bg-color);
  border-radius: var(--border-radius);
  overflow: hidden;
}

.koala-deal__bundle-product__info {
  display: flex;
  flex-direction: row;
  gap: 8px;
  justify-content: space-between;
}

.koala-deal__bundle-product__title {
  color: var(--title-color);
  font-weight: var(--title-font-weight);
  font-size: var(--title-font-size);
}

.koala-deal__bundle-product__price {
  color: var(--price-color);
  font-weight: var(--price-font-weight);
  font-size: var(--price-font-size);
}

.koala-deal__bundle-product__regular-price {
  color: var(--regular-price-color);
  font-weight: var(--regular-price-font-weight);
  font-size: var(--regular-price-font-size);
  text-decoration: line-through;
}

.koala-deal__bundle-product__pricing {
  display: flex;
  flex-direction: column;
  align-items: end;
}

.koala-deal__bundle-product__variants {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 4px;
  width: 100%;
}

.koala-deal__bundle-product__variants > * {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.koala-deal__bundle-product__variants > *:nth-child(3) {
  grid-column: 1 / span 2;
}

.koala-deal__bundle-product__image {
  display: flex;
  justify-content: center;
  align-content: center;
  width: 64px;
  height: 64px;
  min-height: 64px;
  min-width: 64px;
  background-color: var(--product-image-bg-color);
  border: 1px solid var(--product-image-border-color);
  border-radius: var(--product-image-border-radius);
  overflow: hidden;
}

.koala-deal__bundle-product__separator {
  width: calc(var(--separator-font-size) + 4px);
  height: calc(var(--separator-font-size) + 4px);
  color: var(--separator-color);
  background-color: var(--separator-bg-color);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--separator-border-color);
  margin: 0 auto;
  border-radius: 100%;
  font-size: var(--separator-font-size);
  font-weight: var(--separator-font-weight);
}

.koala-deal__bundle-total__label {
  color: var(--footer-text-color);
  font-weight: var(--footer-text-font-weight);
  font-size: var(--footer-text-font-size);
}

.koala-deal__bundle-total__price {
  color: var(--footer-price-color);
  font-weight: var(--footer-price-font-weight);
  font-size: var(--footer-price-font-size);
}

.koala-deal__bundle-total__regular-price {
  color: var(--footer-regular-price-color);
  font-weight: var(--footer-regular-price-font-weight);
  font-size: var(--footer-regular-price-font-size);
  text-decoration: line-through;
}

.koala-deal__bundle-total {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8px;
  padding: 0 8px;
}

.koala-deal__bundle-total__pricing {
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: baseline;
}

.koala-deal__bundle-action {
  color: inherit;
  text-decoration: inherit;
  cursor: inherit;
}

.koala-deal__bundle-action__button {
  width: 100%;
  background-color: var(--call-to-action-button-bg-color);
  color: var(--call-to-action-button-color);
  font-size: var(--call-to-action-button-font-size);
  font-weight: var(--call-to-action-button-font-weight);
  border: 1px solid var(--call-to-action-button-border-color);
  border-radius: var(--call-to-action-button-border-radius);
  padding: 10px 8px;
  cursor: pointer;
}

.koala-deal__bundle-action__button:hover {
  box-shadow: 0 0 2px var(--call-to-action-button-border-color);
}

.koala-deal__bundle-action__button--loading {
  opacity: 0.5;
  cursor: default;
  position: relative;
}

.koala-deal__bundle-action--disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}

.koala-deal__bundle-action--disabled .koala-deal__bundle-action__button-text {
  display: none;
}

.koala-deal__bundle-out-of-stock-message {
  display: none;
}

.koala-deal__bundle-action--disabled .koala-deal__bundle-out-of-stock-message {
  display: block;
}

.koala-deal__bundle-action--disabled .koala-deal__bundle-action__button:hover {
  box-shadow: unset;
}

.koala-deal__bundle-action__button--loading:after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--call-to-action-button-color);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: absolute;
  top: calc(50% - 8px);
  left: calc(50% - 8px);
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.koala-deal__bundle-product__info-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.koala-deal__bundle-product__variants-container {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
}

.koala-deal__bundle-product__variants-index {
  color: var(--product-variant-number-color);
  font-weight: var(--product-variant-number-font-weight);
  font-size: var(--product-variant-number-font-size);
}

.koala-deal__bundle-product__title-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.koala-deal__bundle-product__quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--product-quantity-font-size);
  font-weight: var(--product-quantity-font-weight);
  border: 1px solid var(--product-quantity-border-color);
  color: var(--product-quantity-color);
  background-color: var(--product-quantity-bg-color);
  border-radius: 6px;
  padding: 0 2px;
  width: fit-content;
}