/*
================================================

Space Vanta Theme 1.0

Module:
Cart / Quantity

File:
quantity.css

Responsibility:
Cart quantity control structure

================================================
*/


.sv-cart-item__quantity {
  display: flex;
  align-items: center;
  gap: 12px;

  margin-top: 20px;
}


/*
------------------------------------------------
Quantity Label
------------------------------------------------
*/

.sv-cart-item__quantity-label {
  font-size: 11px;
  line-height: 1.4;

  letter-spacing: 0.07em;

  opacity: 0.58;
}


/*
------------------------------------------------
Quantity Control
------------------------------------------------
*/

.sv-cart-item__quantity-control {
  display: inline-flex;
  align-items: center;

  position: relative;

  min-height: 24px;

  padding: 0;

  background: transparent;
}


/*
------------------------------------------------
Quantity Buttons
------------------------------------------------
*/

.sv-cart-item__quantity-minus,
.sv-cart-item__quantity-plus {
  appearance: none;

  width: 20px;
  height: 24px;

  margin: 0;
  padding: 0;

  border: 0;
  outline: 0;

  background: transparent;

  color: var(--sv-color-text-primary);

  font-size: 14px;
  line-height: 24px;

  text-align: center;

  cursor: pointer;

  opacity: 0.72;

  transition:
    opacity var(--sv-transition-fast),
    transform var(--sv-transition-fast);
}


.sv-cart-item__quantity-minus:hover,
.sv-cart-item__quantity-plus:hover {
  opacity: 1;
}


.sv-cart-item__quantity-minus:active,
.sv-cart-item__quantity-plus:active {
  transform: scale(0.9);
}


/*
------------------------------------------------
Quantity Value
------------------------------------------------
*/

.sv-cart-item__quantity-value {
  min-width: 18px;

  font-size: 12px;
  line-height: 24px;

  text-align: center;

  letter-spacing: 0.04em;

  opacity: 0.9;
}


/*
------------------------------------------------
Loading State
------------------------------------------------
*/

.sv-cart-item__quantity-control[data-cart-loading="true"] {
  opacity: 0.5;
}


.sv-cart-item__quantity-control[data-cart-loading="true"]
.sv-cart-item__quantity-minus,
.sv-cart-item__quantity-control[data-cart-loading="true"]
.sv-cart-item__quantity-plus {
  cursor: wait;
}


/*
------------------------------------------------
Responsive
------------------------------------------------
*/

@media (max-width: 767px) {

  .sv-cart-item__quantity {
    margin-top: 18px;
    gap: 10px;
  }

  .sv-cart-item__quantity-label {
    font-size: 10px;
  }

}