.fbtwoo-form-container {
  align-self: flex-start;
  clear: both;
}

.fbtwoo-form__main {
  display: flex;
  flex-direction: row;
  gap: 2rem;
}

.fbtwoo-form__items {
  display: flex;
  gap: 0.5rem;
  background: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

.fbtwoo-form__submit-area {
  display: flex;
  flex-direction: column;
  /* justify-content: center; */
}

.fbtwoo-form__item {
  position: relative;
}

.fbtwoo-form__item-first-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  position: relative;
}

.fbtwoo-form__item-image-container {
  position: relative;
}

.fbtwoo-form__item-checkbox {
  position: absolute;
  top: 0;
  right: 0;
}
.fbtwoo-form__item-checkbox input[type="checkbox"] {
  vertical-align: top;
}

.fbtwoo-form__total-price-container {
  display: grid;
  grid-template-columns: auto auto;
  gap: 0.5rem;
  margin-bottom: 15px;
}

.fbtwoo-form__total-price .amount {
  font-weight: 600;
}

.fbtwoo-form__total-price--has-discount {
  text-decoration: line-through;
  opacity: 0.7;
}

.fbtwoo-form__item-checkbox input[type="checkbox"]:focus-visible,
.fbtwoo-form .fbtwoo-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Fallback for browsers that don't support :focus-visible */
.fbtwoo-form__item-checkbox input[type="checkbox"]:focus:not(:focus-visible),
.fbtwoo-form .fbtwoo-button:focus:not(:focus-visible) {
  outline: none;
}

@media only screen and (max-width: 600px) {
  .fbtwoo-form__main {
    display: flex;
    flex-direction: column;
  }
}

/* Stacked layout */
.fbtwoo-layout-stacked .fbtwoo-form__main {
  flex-direction: column;
}

.fbtwoo-layout-stacked .fbtwoo-form__items {
  flex-direction: column;
  gap: 0.75rem;
}

.fbtwoo-layout-stacked .fbtwoo-form__item {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  grid-template-areas:
    "image title"
    "image price";
  column-gap: 1rem;
  align-items: start;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 0.75rem;
}

.fbtwoo-layout-stacked .fbtwoo-form__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.fbtwoo-layout-stacked .fbtwoo-form__item-first-row {
  grid-area: image;
}

.fbtwoo-layout-stacked .fbtwoo-form__item-title {
  grid-area: title;
  align-self: end;
}

.fbtwoo-layout-stacked .fbtwoo-form__item-price {
  grid-area: price;
  align-self: start;
}

.fbtwoo-layout-stacked .fbtwoo-form__plus-symbol {
  display: none;
}
