/**
 * Smart River — achat rapide B2B : quantité, boutons Ajouter / Choisir / Indisponible, indicateur de stock
 *
 * Élément commun aux miniatures produit et à la vue liste, chargé sur toutes les pages
 * (config/theme.yml > assets > css > all). Règles limitées à .sr-buy (bloc d'achat) et .sr-stock.
 * Templates : catalog/_partials/sr-add-to-cart.tpl, catalog/_partials/sr-stock.tpl
 * Script : assets/js/add-to-cart.js
 *
 * Personnalisation : variables --sr-buy-*.
 */

.sr-buy,
.sr-stock {
  --sr-buy-accent: #1b7d36;
  --sr-buy-border: #e8e8ec;
  --sr-buy-danger: #b42318;
  --sr-buy-energy: #c6f432;
  --sr-buy-hover: #f4f5f7;
  --sr-buy-ink: #0c1522;
  --sr-buy-muted: #6b7280;
  --sr-buy-success: #1a7f4b;
  --sr-buy-surface: #ffffff;
  --sr-buy-text: #1f2328;
  --sr-buy-transition: 0.2s ease;
  --sr-buy-warning: #9a5b00;
}

.sr-stock {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}


.sr-stock::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}


.sr-stock--in {
  color: var(--sr-buy-success);
}


.sr-stock--order {
  color: var(--sr-buy-warning);
}


.sr-stock--out {
  color: var(--sr-buy-danger);
}


.sr-buy .sr-add-form {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin: 0;
}


.sr-buy .sr-qty {
  display: inline-flex;
  align-items: center;
  height: 2.5rem;
  border: 1px solid var(--sr-buy-border);
  border-radius: 8px;
  background: var(--sr-buy-surface);
}


.sr-buy .sr-qty__btn {
  width: 2rem;
  height: 100%;
  border: 0;
  background: transparent;
  color: var(--sr-buy-muted);
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
}


.sr-buy .sr-qty__btn:hover {
  color: var(--sr-buy-text);
}


.sr-buy .sr-qty__input {
  width: 2.75rem;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sr-buy-text);
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: center;
  -moz-appearance: textfield;
}


.sr-buy .sr-qty__input::-webkit-outer-spin-button,
.sr-buy .sr-qty__input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}


.sr-buy .sr-qty__input.error {
  color: var(--sr-buy-danger);
}


.sr-buy .sr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  padding: 0 1rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--sr-buy-transition), border-color var(--sr-buy-transition), color var(--sr-buy-transition);
}


.sr-buy .sr-btn--primary {
  background: var(--sr-buy-accent);
  color: #fff;
}


.sr-buy .sr-btn--primary:hover {
  filter: brightness(0.92);
}


.sr-buy .sr-btn--primary.is-added {
  background: var(--sr-buy-ink);
  color: var(--sr-buy-energy);
}


.sr-buy .sr-btn--primary:disabled {
  opacity: 0.6;
  cursor: wait;
}


.sr-buy .sr-btn--ghost {
  border-color: var(--sr-buy-border);
  background: var(--sr-buy-surface);
  color: var(--sr-buy-text);
}


.sr-buy .sr-btn--ghost:hover {
  border-color: var(--sr-buy-accent);
  color: var(--sr-buy-accent);
  text-decoration: none;
}


.sr-buy .sr-btn--disabled {
  background: var(--sr-buy-hover);
  color: var(--sr-buy-muted);
  cursor: not-allowed;
}


.sr-buy .sr-btn:focus-visible {
  outline: 2px solid var(--sr-buy-accent);
  outline-offset: 2px;
}
