.b2bquickorder-switch {
  margin: 1rem 0;
  text-align: right;
}

html.b2bquickorder-active #js-product-list .products,
body.b2bquickorder-active #js-product-list .products,
html.b2bquickorder-active #products .products:not(.b2bquickorder-products),
body.b2bquickorder-active #products .products:not(.b2bquickorder-products),
html.b2bquickorder-active .js-product-list .products:not(.b2bquickorder-products),
body.b2bquickorder-active .js-product-list .products:not(.b2bquickorder-products) {
  display: none !important;
}

html.b2bquickorder-active.b2bquickorder-updating #js-product-list .products,
body.b2bquickorder-active.b2bquickorder-updating #js-product-list .products {
  display: none !important;
}

.b2bquickorder--updating {
  position: relative;
}

.b2bquickorder--updating .b2bquickorder-products {
  opacity: 0.72;
}

.b2bquickorder--updating::after {
  content: '';
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  animation: b2bquickorder-spin 0.7s linear infinite;
}

@keyframes b2bquickorder-spin {
  to {
    transform: rotate(360deg);
  }
}

.b2bquickorder {
  margin: 1.5rem 0;
}

.b2bquickorder-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin: 1rem 0;
}

.b2bquickorder-actions--top {
  justify-content: flex-end;
}

.b2bquickorder-actions--bottom {
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.b2bquickorder-message {
  min-height: 1.5rem;
}

.b2bquickorder-product {
  margin-bottom: 1.75rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.b2bquickorder-product__header {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

.b2bquickorder-product__image {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  object-fit: cover;
}

.b2bquickorder-product__title {
  font-weight: 600;
  font-size: 1rem;
}

.b2bquickorder-table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.b2bquickorder-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.b2bquickorder-table th,
.b2bquickorder-table td {
  padding: 0.65rem 0.5rem;
  border-top: 1px solid #e6e6e6;
  vertical-align: middle;
}

.b2bquickorder-table th {
  font-weight: 600;
  background: #f8f8f8;
}

.b2bquickorder-table__qty-heading,
.b2bquickorder-table__qty-cell {
  text-align: right;
}

.b2bquickorder-qty {
  width: 90px;
  max-width: 100%;
  text-align: right;
}

.b2bquickorder-minqty {
  display: block;
  margin-top: 0.25rem;
  opacity: 0.75;
}

.b2bquickorder-muted,
.b2bquickorder-row--disabled {
  opacity: 0.65;
}

.b2bquickorder-empty-product {
  margin: 0;
  opacity: 0.75;
}

.b2bquickorder-native-controls {
  margin: 1rem 0 1.25rem;
}

.b2bquickorder-native-controls:empty {
  display: none;
}

.b2bquickorder-moved-native-control {
  margin-top: 0.75rem;
}

@media (max-width: 767px) {
  .b2bquickorder-switch {
    text-align: left;
  }

  .b2bquickorder-product {
    padding: 0.75rem;
  }

  .b2bquickorder-actions {
    justify-content: stretch;
  }

  .b2bquickorder-actions .btn {
    width: 100%;
  }
}

.b2bquickorder-product__title {
  flex: 1 1 auto;
}

.b2bquickorder-product__toggle {
  margin-left: auto;
  white-space: nowrap;
}

.b2bquickorder-product__body[hidden] {
  display: none !important;
}

.b2bquickorder-product--collapsed {
  padding-bottom: 1rem;
}

.b2bquickorder-product--expanded .b2bquickorder-product__header {
  margin-bottom: 0.75rem;
}

.b2bquickorder-combination-cell {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
}

.b2bquickorder-color-swatches {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  flex: 0 0 auto;
}

.b2bquickorder-color-swatch {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
  vertical-align: middle;
}

@media (max-width: 767px) {
  .b2bquickorder-product__header {
    align-items: flex-start;
  }

  .b2bquickorder-product__toggle {
    width: 100%;
    margin-left: 0;
  }

  .b2bquickorder-combination-cell {
    align-items: flex-start;
  }
}

.b2bquickorder-product--collapsed .b2bquickorder-product__header {
  margin-bottom: 0;
}
