:root {
  color-scheme: light;
  --brand-primary-dark: #6D0E28;
  --brand-accent-warm: #B56B7D;
  --brand-accent-soft: #ECBCC5;
  --brand-neutral-100: #F8FAFC;
  --brand-neutral-200: #E5E7EB;
  --brand-neutral-400: #6B7280;
  --bs-body-bg: var(--brand-neutral-100);
  --bs-body-color: #111111;
  --bs-heading-color: #111111;
  --bs-secondary-color: var(--brand-neutral-400);
  --bs-border-color: var(--brand-neutral-200);
  --bs-border-color-translucent: rgba(17, 17, 17, 0.08);
  --bs-primary: #7A032B;
  --bs-primary-rgb: 122, 3, 43;
  --bs-primary-bg-subtle: #F2D9DF;
  --bs-primary-border-subtle: #D9A4B3;
  --bs-secondary: #843548;
  --bs-secondary-rgb: 132, 53, 72;
  --bs-secondary-bg-subtle: #F4D9DE;
  --bs-secondary-border-subtle: #D5A2B0;
  --bs-link-color: var(--brand-accent-warm);
  --bs-link-hover-color: var(--brand-primary-dark);
  --bs-link-color-rgb: 181, 107, 125;
  --bs-link-hover-color-rgb: 109, 14, 40;
}

body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--bs-heading-color);
}

.navbar.bg-body-tertiary {
  background-color: rgba(236, 188, 197, 0.35) !important;
  border-color: var(--bs-border-color);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--brand-primary-dark);
  --bs-btn-hover-border-color: var(--brand-primary-dark);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-bg: var(--brand-primary-dark);
  --bs-btn-active-border-color: var(--brand-primary-dark);
}

.btn-outline-primary {
  --bs-btn-color: var(--brand-accent-warm);
  --bs-btn-border-color: var(--brand-accent-warm);
  --bs-btn-hover-bg: var(--brand-accent-warm);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: var(--brand-accent-warm);
  --bs-btn-focus-shadow-rgb: 181, 107, 125;
  --bs-btn-active-bg: var(--brand-accent-warm);
  --bs-btn-active-border-color: var(--brand-accent-warm);
}

.btn-outline-secondary {
  --bs-btn-color: var(--brand-primary-dark);
  --bs-btn-border-color: var(--brand-primary-dark);
  --bs-btn-hover-bg: var(--brand-primary-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: var(--brand-primary-dark);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-bg: var(--brand-primary-dark);
  --bs-btn-active-border-color: var(--brand-primary-dark);
}

.badge.bg-primary-subtle,
.bg-primary-subtle {
  background-color: var(--brand-accent-soft) !important;
  color: var(--bs-primary);
}

a {
  color: var(--bs-link-color);
}

a:hover,
a:focus {
  color: var(--bs-link-hover-color);
}

.sidebar {
  background-color: rgba(248, 250, 252, 0.92);
}

.sidebar .nav-link:hover,
.sidebar .nav-link:focus {
  color: var(--bs-primary);
  background-color: var(--bs-primary-bg-subtle);
}

.sidebar .nav-link.active {
  background-color: var(--bs-primary-bg-subtle);
  color: var(--bs-primary);
  font-weight: 600;
}

.card,
.list-group-item,
.table {
  border-color: var(--bs-border-color);
}

.table thead {
  background-color: rgba(236, 188, 197, 0.35);
}

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

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--brand-accent-warm);
  box-shadow: 0 0 0 0.25rem rgba(181, 107, 125, 0.25);
}

.link-offset-2 {
  accent-color: var(--bs-primary);
}
