:root{
  /* Brand green = Fast Shipping background */
  --brand-green: #28a745;
  --brand-green-rgb: 40, 167, 69;

  /* Theme primary (was green-ish) => align to Fast Shipping green */
  --primary: var(--brand-green);
  --primary-hover: #218838;

  /* Bootstrap primary/success => align to Fast Shipping green */
  --bs-primary: var(--brand-green);
  --bs-primary-rgb: var(--brand-green-rgb);
  --bs-primary-bg-subtle: rgba(var(--brand-green-rgb), 0.10);
  --bs-primary-border-subtle: rgba(var(--brand-green-rgb), 0.28);

  --bs-success: var(--brand-green);
  --bs-success-rgb: var(--brand-green-rgb);
  --bs-success-bg-subtle: rgba(var(--brand-green-rgb), 0.10);
  --bs-success-border-subtle: rgba(var(--brand-green-rgb), 0.28);

  /* Form "valid" states (often green) */
  --bs-form-valid-color: var(--brand-green);
  --bs-form-valid-border-color: var(--brand-green);
}

/* Bootstrap helpers */
.text-success{ color: var(--brand-green) !important; }
.bg-success{ background-color: var(--brand-green) !important; }
.border-success{ border-color: var(--brand-green) !important; }

.text-primary{ color: var(--brand-green) !important; }
.bg-primary{ background-color: var(--brand-green) !important; }
.border-primary{ border-color: var(--brand-green) !important; }

/* Ensure primary buttons (e.g., Apply Filters) use Fast Shipping green */
.btn-primary{
  background-color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
}
.btn-primary:hover,
.btn-primary:focus{
  background-color: #218838 !important;
  border-color: #1e7e34 !important;
}
.btn-primary:active,
.btn-primary.active{
  background-color: #1e7e34 !important;
  border-color: #1c7430 !important;
}
.btn-outline-primary{
  color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background-color: var(--brand-green) !important;
  border-color: var(--brand-green) !important;
  color: #fff !important;
}

/* Tailwind green/emerald utilities (map to Fast Shipping green hue) */
.text-green-50,.text-green-100,.text-green-200,.text-green-300,.text-green-400,.text-green-500,.text-green-600,.text-green-700,.text-green-800,.text-green-900,
.text-emerald-50,.text-emerald-100,.text-emerald-200,.text-emerald-300,.text-emerald-400,.text-emerald-500,.text-emerald-600,.text-emerald-700,.text-emerald-800,.text-emerald-900{
  color: var(--brand-green) !important;
}

.bg-green-50,.bg-emerald-50{ background-color: rgba(var(--brand-green-rgb), 0.06) !important; }
.bg-green-100,.bg-emerald-100{ background-color: rgba(var(--brand-green-rgb), 0.10) !important; }
.bg-green-200,.bg-emerald-200{ background-color: rgba(var(--brand-green-rgb), 0.16) !important; }
.bg-green-300,.bg-emerald-300{ background-color: rgba(var(--brand-green-rgb), 0.22) !important; }
.bg-green-400,.bg-emerald-400{ background-color: rgba(var(--brand-green-rgb), 0.32) !important; }
.bg-green-500,.bg-green-600,.bg-green-700,.bg-green-800,.bg-green-900,
.bg-emerald-500,.bg-emerald-600,.bg-emerald-700,.bg-emerald-800,.bg-emerald-900{
  background-color: var(--brand-green) !important;
}

.border-green-50,.border-emerald-50{ border-color: rgba(var(--brand-green-rgb), 0.18) !important; }
.border-green-100,.border-emerald-100{ border-color: rgba(var(--brand-green-rgb), 0.22) !important; }
.border-green-200,.border-emerald-200{ border-color: rgba(var(--brand-green-rgb), 0.28) !important; }
.border-green-300,.border-emerald-300{ border-color: rgba(var(--brand-green-rgb), 0.34) !important; }
.border-green-400,.border-emerald-400{ border-color: rgba(var(--brand-green-rgb), 0.44) !important; }
.border-green-500,.border-green-600,.border-green-700,.border-green-800,.border-green-900,
.border-emerald-500,.border-emerald-600,.border-emerald-700,.border-emerald-800,.border-emerald-900{
  border-color: var(--brand-green) !important;
}

/* Tailwind gradients */
.from-green-500,.from-green-600,.from-green-700,.from-emerald-500,.from-emerald-600,.from-emerald-700{
  --tw-gradient-from: var(--brand-green) !important;
  --tw-gradient-to: rgb(var(--brand-green-rgb) / 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}
.to-green-500,.to-green-600,.to-green-700,.to-emerald-500,.to-emerald-600,.to-emerald-700{
  --tw-gradient-to: var(--brand-green) !important;
}

/* Tailwind ring */
.ring-green-500,.ring-green-600,.ring-emerald-500,.ring-emerald-600{
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(var(--brand-green-rgb) / var(--tw-ring-opacity)) !important;
}
.focus\:ring-green-500:focus,.focus\:ring-green-600:focus,.focus\:ring-emerald-500:focus,.focus\:ring-emerald-600:focus{
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(var(--brand-green-rgb) / var(--tw-ring-opacity)) !important;
}
