/* Shared royal purple palette for every application and authentication page. */
:root {
  --royal: #663399;
  --royal-dark: #48216f;
  --royal-deep: #32174d;
  --royal-light: #8552b5;
  --royal-soft: #f0e8f7;
  --royal-bg: #faf7fd;
  --royal-border: #dfcfea;
  --royal-ink: #281b36;
  --royal-muted: #70627e;
  --purple: var(--royal);
  --purple-dark: var(--royal-dark);
  --bg: var(--royal-bg);
  --bs-primary: var(--royal);
  --bs-primary-rgb: 102, 51, 153;
  --bs-primary-text-emphasis: var(--royal-dark);
  --bs-primary-bg-subtle: var(--royal-soft);
  --bs-primary-border-subtle: var(--royal-border);
  --bs-link-color: var(--royal);
  --bs-link-color-rgb: 102, 51, 153;
  --bs-link-hover-color: var(--royal-dark);
  --bs-link-hover-color-rgb: 72, 33, 111;
  --bs-body-color: var(--royal-ink);
  --bs-body-bg: var(--royal-bg);
  --bs-border-color: var(--royal-border);
}

::selection { background: var(--royal-border); color: var(--royal-deep); }
a { color: var(--royal); }
a:hover { color: var(--royal-dark); }

.btn-primary, .btn-purple, .btn-purple-solid {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--royal);
  --bs-btn-border-color: var(--royal);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--royal-dark);
  --bs-btn-hover-border-color: var(--royal-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--royal-deep);
  --bs-btn-active-border-color: var(--royal-deep);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--royal);
  --bs-btn-disabled-border-color: var(--royal);
  --bs-btn-focus-shadow-rgb: 102, 51, 153;
}
.btn-outline-primary {
  --bs-btn-color: var(--royal);
  --bs-btn-border-color: var(--royal);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--royal);
  --bs-btn-hover-border-color: var(--royal);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--royal-dark);
  --bs-btn-active-border-color: var(--royal-dark);
  --bs-btn-disabled-color: var(--royal);
  --bs-btn-disabled-border-color: var(--royal);
  --bs-btn-focus-shadow-rgb: 102, 51, 153;
}
.btn-link { --bs-btn-color: var(--royal); --bs-btn-hover-color: var(--royal-dark); }
.form-control:focus, .form-select:focus, .biz-select:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--royal-light);
  box-shadow: 0 0 0 .2rem rgba(102, 51, 153, .18);
}
.form-check-input:checked { background-color: var(--royal); border-color: var(--royal); }
.form-check-input:focus { border-color: var(--royal-light); box-shadow: 0 0 0 .2rem rgba(102, 51, 153, .18); }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--royal);
  color: #fff;
}
.dropdown-menu { --bs-dropdown-link-active-bg: var(--royal); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--royal); }
.pagination {
  --bs-pagination-color: var(--royal);
  --bs-pagination-hover-color: var(--royal-dark);
  --bs-pagination-focus-color: var(--royal-dark);
  --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(102, 51, 153, .18);
  --bs-pagination-active-bg: var(--royal);
  --bs-pagination-active-border-color: var(--royal);
}
.accordion {
  --bs-accordion-active-bg: var(--royal-soft);
  --bs-accordion-active-color: var(--royal-dark);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(102, 51, 153, .18);
}
.table-primary {
  --bs-table-bg: var(--royal-soft);
  --bs-table-color: var(--royal-dark);
  --bs-table-border-color: var(--royal-border);
  --bs-table-striped-bg: #e9ddf2;
  --bs-table-hover-bg: #e4d6ee;
  --bs-table-active-bg: #dfcfea;
}
@media screen {
  .table-light, .table-secondary {
    --bs-table-bg: var(--royal-soft);
    --bs-table-color: var(--royal-dark);
    --bs-table-border-color: var(--royal-border);
  }
  .table { --bs-table-hover-bg: var(--royal-bg); }
}
