:root {
  --fac-bg-base: #F7FAF8;
  --fac-bg-surface: #FFFFFF;
  --fac-bg-subtle: #F0F7F2;
  --fac-bg-card: #FFFFFF;
  --fac-primary: #16A34A;
  --fac-primary-hover: #15803D;
  --fac-primary-light: #DCFCE7;
  --fac-primary-active: #166534;
  --fac-secondary-accent: #0D9488;
  --fac-accent-soft: #ECFDF5;
  --fac-border-light: #E2ECE5;
  --fac-border-focus: #86EFAC;
  --fac-text-primary: #0F2418;
  --fac-text-secondary: #334E3F;
  --fac-text-muted: #64748B;
}

.fresh-athletic-modal-dialog {
  max-width: 500px;
  width: 92%;
  margin: 1.75rem auto;
}

#basketModal .modal-content {
  background-color: var(--fac-bg-surface);
  border-radius: 1rem;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

#basketModal .modal-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: calc(90vh - 170px);
  background-color: var(--fac-bg-base);
}

.bg-light-surface {
  background-color: var(--fac-bg-subtle);
}

.bg-success-light {
  background-color: var(--fac-primary-light);
}

.cart-item-card {
  background-color: var(--fac-bg-card);
  border-color: var(--fac-border-light) !important;
  transition: all 0.2s ease;
}

.cart-item-card:hover {
  border-color: var(--fac-border-focus) !important;
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.08);
}

.cart-item-img-wrapper {
  width: 52px;
  height: 52px;
  min-width: 52px;
  background: var(--fac-bg-subtle);
  border-radius: 0.5rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quantity-group {
  width: 95px;
}

.quantity-group .btn-outline-secondary {
  border-color: var(--fac-border-light);
  color: var(--fac-text-secondary);
  padding: 0.15rem 0.45rem;
}

.quantity-group .btn-outline-secondary:hover {
  background-color: var(--fac-primary-light);
  border-color: var(--fac-primary);
  color: var(--fac-primary-active);
}

.quantity-group .input-qty {
  border-color: var(--fac-border-light);
  background-color: #fff;
  color: var(--fac-text-primary);
  font-weight: 600;
  padding: 0.15rem;
}

.btn-outline-success {
  border-color: var(--fac-primary);
  color: var(--fac-primary);
}

.btn-outline-success:hover,
.btn-outline-success:active {
  background-color: var(--fac-primary-light);
  border-color: var(--fac-primary-hover);
  color: var(--fac-primary-hover);
}

.btn-success {
  background-color: var(--fac-primary) !important;
  border-color: var(--fac-primary) !important;
}

.btn-success:hover {
  background-color: var(--fac-primary-hover) !important;
  border-color: var(--fac-primary-hover) !important;
}

.btn-success:active {
  background-color: var(--fac-primary-active) !important;
  border-color: var(--fac-primary-active) !important;
}

.text-success {
  color: var(--fac-primary) !important;
}

/* Fix: modal buttons in 1 line on mobile */
@media (max-width: 575.98px) {
  #basketModal .modal-footer > .d-flex.gap-2.w-100 {
    flex-direction: row !important;
  }
  #basketModal .modal-footer .btn {
    flex: 1 1 0;
    min-width: 0;
    font-size: 0.8rem;
    padding: 0.5rem 0.4rem;
    white-space: nowrap;
    justify-content: center;
  }
  #basketModal .modal-footer .btn svg {
    flex-shrink: 0;
  }
}