:root {
  /* Brand Color Variables */
  --brand-primary: #050000;
  --brand-secondary: #47A744;
  --brand-accent: #CACACA;
  --brand-tertiary: #A3CDE0;
  --brand-neutral: #F6B4A7;
  --brand-highlight: #f8c2b9;
}

/* Brand Color Utility Classes */
.bg-brand-primary { background-color: var(--brand-primary) !important; }
.bg-brand-secondary { background-color: var(--brand-secondary) !important; }
.bg-brand-accent { background-color: var(--brand-accent) !important; }
.bg-brand-tertiary { background-color: var(--brand-tertiary) !important; }
.bg-brand-neutral { background-color: var(--brand-neutral) !important; }
.bg-brand-highlight { background-color: var(--brand-highlight) !important; }

.text-brand-primary { color: var(--brand-primary) !important; }
.text-brand-secondary { color: var(--brand-secondary) !important; }
.text-brand-accent { color: var(--brand-accent) !important; }
.text-brand-tertiary { color: var(--brand-tertiary) !important; }
.text-brand-neutral { color: var(--brand-neutral) !important; }
.text-brand-highlight { color: var(--brand-highlight) !important; }

.border-brand-primary { border-color: var(--brand-primary) !important; }
.border-brand-secondary { border-color: var(--brand-secondary) !important; }
.border-brand-accent { border-color: var(--brand-accent) !important; }

/* Apply brand colors to components with specific classes */

.navbar-default {
  background-color: var(--brand-primary) !important;
}

.site-footer,
.footer {
  background-color: var(--brand-secondary) !important;
}

/* Navigation links in branded components */
.site-header a,
.navbar-default a {
  color: white !important;
}

/* Buttons with brand colors */
.btn-primary,
button.primary {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: white !important;
}

.btn-secondary,
button.secondary {
  background-color: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
  color: white !important;
}

/* Links */
a {
  color: var(--brand-primary);
}

a:hover {
  color: var(--brand-accent);
}

/* Section backgrounds with brand colors */
.section-primary { background-color: var(--brand-primary); color: white; }
.section-secondary { background-color: var(--brand-secondary); color: white; }
.section-accent { background-color: var(--brand-accent); }
.section-tertiary { background-color: var(--brand-tertiary); }
.section-neutral { background-color: var(--brand-neutral); }
.section-highlight { background-color: var(--brand-highlight); }


:root {
  --font-primary: "Anton", ui-sans-serif, system-ui, sans-serif;
  --font-secondary: "Roboto", ui-sans-serif, system-ui, sans-serif;
  --font-accent: "Assistant", ui-sans-serif, system-ui, sans-serif;
}

/* Auto-apply brand fonts (respect manually assigned fonts) */
h1:not([data-font-family]), h2:not([data-font-family]), h3:not([data-font-family]), h4:not([data-font-family]), h5:not([data-font-family]), h6:not([data-font-family]) {
  font-family: var(--font-primary) !important;
}

p:not([data-font-family]), div:not([data-font-family]), span:not([data-font-family]), a:not([data-font-family]), li:not([data-font-family]), ul:not([data-font-family]), ol:not([data-font-family]), button:not([data-font-family]), input:not([data-font-family]), textarea:not([data-font-family]), select:not([data-font-family]) {
  font-family: var(--font-secondary) !important;
}

.accent-font:not([data-font-family]), .accent:not([data-font-family]), .highlight:not([data-font-family]), .callout:not([data-font-family]), .cta-title:not([data-font-family]), .promo-title:not([data-font-family]), .banner-text:not([data-font-family]) {
  font-family: var(--font-accent) !important;
}