:root {
  /* Cor base (Red 500) */
  --bs-primary: #8d0000;
  --bs-primary-rgb: 244, 67, 54;

  /* Cores para estados interativos */
  --bs-primary-hover: #5a0000; /* ~10% mais escuro */
  --bs-primary-active: #5e0e0e; /* ~20% mais escuro */
  --bs-primary-border: var(--bs-primary-hover);
  --bs-primary-text: #fff;

  /* Cores para elementos derivados */
  --bs-primary-bg-subtle: #ffebee; /* ~90% mais claro */
  --bs-primary-border-subtle: #ffcdd2; /* ~70% mais claro */

  /* Botões */
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary-hover);
  --bs-btn-hover-border-color: var(--bs-primary-hover);
  --bs-btn-active-bg: var(--bs-primary-active);
  --bs-btn-active-border-color: var(--bs-primary-active);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);

  /* Links */
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: var(--bs-primary-hover);

  /* Badges */
  --bs-badge-bg: var(--bs-primary);

  /* Formulários */
  --bs-form-valid-border-color: var(--bs-primary);
  --bs-form-valid-color: var(--bs-primary);
  --bs-form-check-input-checked-bg-color: var(--bs-primary);
  --bs-form-check-input-checked-border-color: var(--bs-primary);

  /* Alertas */
  --bs-alert-color: #664d03;
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: #523e02;
}

/* Aplica cores em componentes específicos */
.btn-primary {
  --bs-btn-color: var(--bs-primary-text);
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary-hover);
  --bs-btn-hover-border-color: var(--bs-primary-hover);
  --bs-btn-active-bg: var(--bs-primary-active);
  --bs-btn-active-border-color: var(--bs-primary-active);
}

.alert-primary {
  --bs-alert-color: var(--bs-alert-color);
  --bs-alert-bg: var(--bs-alert-bg);
  --bs-alert-border-color: var(--bs-alert-border-color);
  --bs-alert-link-color: var(--bs-alert-link-color);
}

.bg-primary {
  background-color: var(--bs-primary) !important;
}

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

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