/**
 * MR-2026-09-002 — Booking quantity control (GENERIC EXTENSION).
 * Uses booking-service-pick shell tokens; not extracted from a car quantity component
 * (car has none for service-level quantity).
 */

.booking-quantity-input {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  box-sizing: border-box;
}

.booking-quantity-input .bq-qty {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0 4px;
  flex-wrap: wrap;
}

.booking-quantity-input .bq-qty-btn {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  border: 1.5px solid var(--bsp-line, #cfd9e0);
  background: #fff;
  color: var(--bsp-ink, #1a2836);
  font: inherit;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 auto;
}

.booking-quantity-input .bq-qty-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.booking-quantity-input .bq-qty-input {
  width: 96px;
  min-height: 48px;
  text-align: center;
  font: inherit;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.04em;
  border: 1.5px solid var(--bsp-line, #cfd9e0);
  border-radius: 12px;
  background: #fff;
  color: var(--bsp-ink, #1a2836);
  padding: 8px 10px;
  box-sizing: border-box;
}

.booking-quantity-input .bq-qty-input:focus {
  outline: 3px solid color-mix(in srgb, var(--bsp-accent, #006fb9) 35%, #fff);
  outline-offset: 2px;
  border-color: var(--bsp-accent, #006fb9);
}

.booking-quantity-input .bq-qty-unit {
  font-size: 15px;
  font-weight: 700;
  color: var(--bsp-muted, #5a6b78);
}

.booking-quantity-input .bq-qty-hint {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--bsp-muted, #5a6b78);
  font-weight: 600;
}

@media (max-width: 480px) {
  .booking-quantity-input .bq-qty-btn {
    width: 52px;
    height: 52px;
  }
  .booking-quantity-input .bq-qty-input {
    flex: 1 1 auto;
    min-width: 88px;
    max-width: 140px;
  }
}
