/* Non-critical theme utility classes - loaded asynchronously */

/* Utility classes for theme colors */
.bg-theme-primary { background-color: var(--theme-colors-primary) !important; }
.bg-theme-secondary { background-color: var(--theme-colors-secondary) !important; }
.bg-theme-accent { background-color: var(--theme-colors-accent) !important; }
.bg-theme-success { background-color: var(--theme-colors-success) !important; }
.bg-theme-warning { background-color: var(--theme-colors-warning) !important; }
.bg-theme-danger { background-color: var(--theme-colors-danger) !important; }
.bg-theme-surface { background-color: var(--theme-colors-surface) !important; }
.bg-theme-background { background-color: var(--theme-colors-background) !important; }

.text-theme-primary { color: var(--theme-colors-primary) !important; }
.text-theme-secondary { color: var(--theme-colors-secondary) !important; }
.text-theme-accent { color: var(--theme-colors-accent) !important; }
.text-theme-success { color: var(--theme-colors-success) !important; }
.text-theme-warning { color: var(--theme-colors-warning) !important; }
.text-theme-danger { color: var(--theme-colors-danger) !important; }
.text-theme-text-primary { color: var(--theme-colors-text-primary) !important; }
.text-theme-text-secondary { color: var(--theme-colors-text-secondary) !important; }

.border-theme-primary { border-color: var(--theme-colors-primary) !important; }
.border-theme-border { border-color: var(--theme-colors-border) !important; }

/* Button utility classes */
.btn-theme-primary {
  background-color: var(--theme-colors-btn-primary) !important;
  color: white !important;
  border-color: var(--theme-colors-btn-primary) !important;
}

.btn-theme-secondary {
  background-color: var(--theme-colors-btn-secondary) !important;
  color: white !important;
  border-color: var(--theme-colors-btn-secondary) !important;
}

.btn-theme-info {
  background-color: var(--theme-colors-btn-info) !important;
  color: white !important;
  border-color: var(--theme-colors-btn-info) !important;
}

/* Button outline variants */
.btn-outline-theme-primary {
  background-color: transparent !important;
  color: var(--theme-colors-btn-primary) !important;
  border: 1px solid var(--theme-colors-btn-primary) !important;
}

.btn-outline-theme-secondary {
  background-color: transparent !important;
  color: var(--theme-colors-btn-secondary) !important;
  border: 1px solid var(--theme-colors-btn-secondary) !important;
}

.btn-outline-theme-info {
  background-color: transparent !important;
  color: var(--theme-colors-btn-info) !important;
  border: 1px solid var(--theme-colors-btn-info) !important;
}

/* Button hover effects */
.btn-theme-primary:hover { opacity: 0.9 !important; }
.btn-theme-secondary:hover { opacity: 0.9 !important; }
.btn-theme-info:hover { opacity: 0.9 !important; }
.btn-outline-theme-primary:hover { background-color: var(--theme-colors-btn-primary) !important; color: white !important; }
.btn-outline-theme-secondary:hover { background-color: var(--theme-colors-btn-secondary) !important; color: white !important; }
.btn-outline-theme-info:hover { background-color: var(--theme-colors-btn-info) !important; color: white !important; }

/* Footer utility classes */
.bg-theme-footer { background-color: var(--theme-colors-footer-background) !important; }
.text-theme-footer { color: var(--theme-colors-footer-text) !important; }