:root {
  --brand-font-sans: "Benton Sans", "BentonSans", "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --brand-blue: #003761;
  --brand-cream: #f7ebe3;
  --brand-green: #1fa138;
  --brand-light: #ededed;
  --brand-green-dark: #18852f;
  --brand-blue-dark: #002d4f;
}

html,
body {
  font-family: var(--brand-font-sans);
  background-color: var(--brand-cream);
  color: var(--brand-blue);
}

.font-sans {
  font-family: var(--brand-font-sans) !important;
}

/* Core backgrounds */
.bg-slate-50,
.bg-slate-100,
.bg-purple-50 {
  background-color: var(--brand-cream) !important;
}

.bg-slate-200,
.bg-slate-300,
.bg-gray-100 {
  background-color: var(--brand-light) !important;
}

.bg-slate-600,
.bg-slate-700,
.bg-slate-800,
.bg-slate-900,
.bg-gray-800,
.bg-blue-600,
.bg-blue-700,
.bg-purple-600,
.bg-purple-700 {
  background-color: var(--brand-blue) !important;
}

.bg-teal-500,
.bg-teal-600,
.bg-teal-700,
.bg-emerald-500,
.bg-emerald-600,
.bg-green-600,
.bg-green-700,
.bg-pink-500 {
  background-color: var(--brand-green) !important;
}

/* Core text */
.text-slate-500,
.text-slate-600,
.text-slate-700,
.text-slate-800,
.text-slate-900,
.text-gray-500,
.text-gray-600,
.text-gray-700,
.text-gray-800,
.text-blue-600,
.text-blue-700,
.text-blue-800 {
  color: var(--brand-blue) !important;
}

.text-slate-300,
.text-slate-400 {
  color: var(--brand-light) !important;
}

.text-teal-500,
.text-teal-600,
.text-teal-700,
.text-teal-800,
.text-emerald-500,
.text-emerald-600,
.text-green-600,
.text-green-700,
.text-purple-600,
.text-purple-700,
.text-pink-500 {
  color: var(--brand-green) !important;
}

/* Borders */
.border-slate-200,
.border-slate-300,
.border-slate-400,
.border-gray-200,
.border-gray-300,
.border-blue-100,
.border-blue-200,
.border-blue-300 {
  border-color: var(--brand-light) !important;
}

.border-slate-600,
.border-slate-700,
.border-slate-800,
.border-slate-900 {
  border-color: rgba(237, 237, 237, 0.35) !important;
}

.border-teal-500,
.border-teal-600,
.border-emerald-500,
.border-emerald-600,
.border-green-600 {
  border-color: var(--brand-green) !important;
}

/* Hover states */
.hover\:bg-teal-600:hover,
.hover\:bg-teal-700:hover,
.hover\:bg-emerald-500:hover,
.hover\:bg-emerald-600:hover,
.hover\:bg-green-700:hover {
  background-color: var(--brand-green-dark) !important;
}

.hover\:bg-slate-700:hover,
.hover\:bg-slate-800:hover,
.hover\:bg-slate-900:hover {
  background-color: var(--brand-blue-dark) !important;
}

.hover\:text-slate-900:hover,
.hover\:text-slate-800:hover,
.hover\:text-gray-800:hover,
.hover\:text-gray-900:hover {
  color: var(--brand-blue) !important;
}

.hover\:text-teal-700:hover,
.hover\:text-teal-800:hover,
.hover\:text-emerald-700:hover,
.hover\:text-green-700:hover,
.hover\:text-purple-600:hover {
  color: var(--brand-green-dark) !important;
}

/* Focus/rings */
.focus\:border-teal-500:focus,
.focus\:border-emerald-500:focus,
.focus\:border-green-600:focus {
  border-color: var(--brand-green) !important;
}

.focus\:ring-teal-500:focus,
.focus\:ring-emerald-500:focus,
.focus-visible\:ring-teal-500:focus-visible,
.focus-visible\:ring-emerald-500:focus-visible {
  --tw-ring-color: var(--brand-green) !important;
}

/* Gradient helpers used by buttons */
.from-teal-600 {
  --tw-gradient-from: var(--brand-green) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(31, 161, 56, 0) var(--tw-gradient-to-position) !important;
}

.to-teal-700 {
  --tw-gradient-to: var(--brand-green-dark) var(--tw-gradient-to-position) !important;
}

.hover\:from-teal-700:hover {
  --tw-gradient-from: var(--brand-green-dark) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(24, 133, 47, 0) var(--tw-gradient-to-position) !important;
}

.hover\:to-teal-800:hover {
  --tw-gradient-to: #146d26 var(--tw-gradient-to-position) !important;
}

.from-purple-600 {
  --tw-gradient-from: var(--brand-blue) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(0, 55, 97, 0) var(--tw-gradient-to-position) !important;
}

.from-purple-100\/50 {
  --tw-gradient-from: rgba(247, 235, 227, 0.5) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgba(247, 235, 227, 0) var(--tw-gradient-to-position) !important;
}

.to-pink-500 {
  --tw-gradient-to: var(--brand-green) var(--tw-gradient-to-position) !important;
}
