/* Generated by scripts/build_bootstrap_theme.py. Main site: light mode only. */
:root {
  color-scheme: light;
  --primary: #2e235e;
  --site-primary-fill: #2e235e;
  --site-primary-label: #f2eef6;
  --site-primary-ink: #2e235e;
  --site-primary-hover: #2a2056;
  --site-primary-tint: #eae9ef;
  --site-primary-edge: #2e235e;
  --secondary: #ec008c;
  --site-secondary-fill: #c90077;
  --site-secondary-label: #f2eef6;
  --site-secondary-ink: #2e235e;
  --site-secondary-hover: #b9006d;
  --site-secondary-tint: #fde6f4;
  --site-secondary-edge: #ab0065;
  --success: #3cc4d3;
  --site-success-fill: #3cc4d3;
  --site-success-label: #2e235e;
  --site-success-ink: #2e235e;
  --site-success-hover: #53cbd8;
  --site-success-tint: #ecf9fb;
  --site-success-edge: #14646d;
  --warning: #f7b237;
  --site-warning-fill: #f7b237;
  --site-warning-label: #2e235e;
  --site-warning-ink: #2e235e;
  --site-warning-hover: #f8bb4f;
  --site-warning-tint: #fef7eb;
  --site-warning-edge: #805000;
  --danger: #ed2f41;
  --site-danger-fill: #c92234;
  --site-danger-label: #f2eef6;
  --site-danger-ink: #2e235e;
  --site-danger-hover: #b91f30;
  --site-danger-tint: #fdeaec;
  --site-danger-edge: #b51d30;
  --info: #b7e3ee;
  --site-info-fill: #b7e3ee;
  --site-info-label: #2e235e;
  --site-info-ink: #2e235e;
  --site-info-hover: #c0e6f0;
  --site-info-tint: #f8fcfd;
  --site-info-edge: #285b69;
  --light: #f2eef6;
  --site-light-fill: #f2eef6;
  --site-light-label: #2e235e;
  --site-light-ink: #2e235e;
  --site-light-hover: #f4f0f7;
  --site-light-tint: #fefdfe;
  --site-light-edge: #877299;
  --dark: #7f3f98;
  --site-dark-fill: #7f3f98;
  --site-dark-label: #f2eef6;
  --site-dark-ink: #2e235e;
  --site-dark-hover: #753a8c;
  --site-dark-tint: #f2ecf5;
  --site-dark-edge: #7f3f98;
}

body { color: #2e235e; }
a { color: #2e235e; }
a:hover, a:focus { color: #2e235e; }
.text-muted { color: #2e235e !important; }
.btn-link { color: #2e235e; }
.btn-link:hover, .btn-link:focus { color: #2e235e; }
.btn:focus, .btn.focus, .form-control:focus, .custom-select:focus {
  box-shadow: none;
  outline: 2px solid #2e235e;
  outline-offset: 3px;
}
header .btn:focus { outline-color: #f7b237; }
.form-control, .custom-select { color: #2e235e; border-color: #877299; }
.form-control::placeholder { color: #2e235e; opacity: 1; }
.form-control:focus { color: #2e235e; border-color: #2e235e; }
.form-control.is-valid, .was-validated .form-control:valid { border-color: #14646d; }
.form-control.is-invalid, .was-validated .form-control:invalid { border-color: #b51d30; }
.valid-feedback, .valid-tooltip { color: #2e235e; }
.invalid-feedback, .invalid-tooltip { color: #2e235e; }
.valid-tooltip { background: #eaf9fb; }
.invalid-tooltip { background: #fdebed; }
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #2e235e; border-color: #2e235e;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #2e235e;
}
.page-link { color: #2e235e; border-color: #877299; }
.page-link:hover, .page-link:focus { color: #2e235e; background: #f2eef6; }
.page-item.active .page-link { color: #f2eef6; background: #2e235e; border-color: #2e235e; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: #f2eef6; background: #2e235e;
}
.progress-bar { color: #f2eef6; background-color: #2e235e; }
.dropdown-menu { background-color: #7f3f98; }
.dropdown-item { color: #f2eef6; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active, .dropdown-item:active {
  color: #f2eef6; background: #2e235e;
}
.navbar-dark .navbar-nav .nav-link { color: #f2eef6; }
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: #f2eef6; }
.table.table-dark, .table-dark, .thead-dark th, .table .thead-dark th {
  color: #f2eef6; background-color: #7f3f98; border-color: #92819f;
}
.alert .close, .modal .close { color: inherit; opacity: 1; }
input[type=checkbox], input[type=radio] { accent-color: #2e235e; }

/* $primary: #2e235e */
.btn-primary, .btn-primary:disabled, .btn-primary.disabled {
  color: var(--site-primary-label); background-color: var(--site-primary-fill); border-color: var(--site-primary-ink);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: var(--site-primary-label); background-color: var(--site-primary-hover); border-color: var(--site-primary-ink); box-shadow: none;
}
.btn-outline-primary { color: var(--site-primary-ink); border-color: var(--site-primary-ink); }
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary.focus,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: var(--site-primary-label); background-color: var(--site-primary-fill); border-color: var(--site-primary-ink); box-shadow: none;
}
.btn-outline-primary:disabled, .btn-outline-primary.disabled { color: var(--site-primary-ink); background: transparent; }
.badge-primary, .badge-primary[href]:hover, .badge-primary[href]:focus {
  color: var(--site-primary-label); background-color: var(--site-primary-fill);
}
.bg-primary { background-color: var(--site-primary-fill) !important; color: var(--site-primary-label) !important; }
a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus {
  background-color: var(--site-primary-hover) !important;
}
.text-primary { color: var(--site-primary-ink) !important; }
a.text-primary:hover, a.text-primary:focus { color: #2e235e !important; }
.bg-primary.text-white, .bg-primary.text-dark { color: var(--site-primary-label) !important; }
.border-primary { border-color: var(--site-primary-edge) !important; }
.alert-primary, .list-group-item-primary { color: var(--site-primary-ink); background: var(--site-primary-tint); border-color: var(--site-primary-edge); }
.alert-primary a, .alert-primary .alert-link { color: var(--site-primary-ink); text-decoration: underline; }
.list-group-item-primary.list-group-item-action:hover,
.list-group-item-primary.list-group-item-action:focus { color: var(--site-primary-ink); background: var(--site-primary-tint); }
.list-group-item-primary.list-group-item-action.active { color: var(--site-primary-label); background: var(--site-primary-fill); border-color: var(--site-primary-ink); }
.table-primary, .table-primary > th, .table-primary > td,
.table-hover .table-primary:hover, .table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th { color: #2e235e; background: var(--site-primary-tint); }

/* $secondary: #ec008c */
.btn-secondary, .btn-secondary:disabled, .btn-secondary.disabled {
  color: var(--site-secondary-label); background-color: var(--site-secondary-fill); border-color: var(--site-secondary-ink);
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary.focus,
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: var(--site-secondary-label); background-color: var(--site-secondary-hover); border-color: var(--site-secondary-ink); box-shadow: none;
}
.btn-outline-secondary { color: var(--site-secondary-ink); border-color: var(--site-secondary-ink); }
.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary.focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: var(--site-secondary-label); background-color: var(--site-secondary-fill); border-color: var(--site-secondary-ink); box-shadow: none;
}
.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { color: var(--site-secondary-ink); background: transparent; }
.badge-secondary, .badge-secondary[href]:hover, .badge-secondary[href]:focus {
  color: var(--site-secondary-label); background-color: var(--site-secondary-fill);
}
.bg-secondary { background-color: var(--site-secondary-fill) !important; color: var(--site-secondary-label) !important; }
a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus {
  background-color: var(--site-secondary-hover) !important;
}
.text-secondary { color: var(--site-secondary-ink) !important; }
a.text-secondary:hover, a.text-secondary:focus { color: #2e235e !important; }
.bg-secondary.text-white, .bg-secondary.text-dark { color: var(--site-secondary-label) !important; }
.border-secondary { border-color: var(--site-secondary-edge) !important; }
.alert-secondary, .list-group-item-secondary { color: var(--site-secondary-ink); background: var(--site-secondary-tint); border-color: var(--site-secondary-edge); }
.alert-secondary a, .alert-secondary .alert-link { color: var(--site-secondary-ink); text-decoration: underline; }
.list-group-item-secondary.list-group-item-action:hover,
.list-group-item-secondary.list-group-item-action:focus { color: var(--site-secondary-ink); background: var(--site-secondary-tint); }
.list-group-item-secondary.list-group-item-action.active { color: var(--site-secondary-label); background: var(--site-secondary-fill); border-color: var(--site-secondary-ink); }
.table-secondary, .table-secondary > th, .table-secondary > td,
.table-hover .table-secondary:hover, .table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th { color: #2e235e; background: var(--site-secondary-tint); }

/* $success: #3cc4d3 */
.btn-success, .btn-success:disabled, .btn-success.disabled {
  color: var(--site-success-label); background-color: var(--site-success-fill); border-color: var(--site-success-ink);
}
.btn-success:hover, .btn-success:focus, .btn-success.focus,
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: var(--site-success-label); background-color: var(--site-success-hover); border-color: var(--site-success-ink); box-shadow: none;
}
.btn-outline-success { color: var(--site-success-ink); border-color: var(--site-success-ink); }
.btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success.focus,
.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: var(--site-success-label); background-color: var(--site-success-fill); border-color: var(--site-success-ink); box-shadow: none;
}
.btn-outline-success:disabled, .btn-outline-success.disabled { color: var(--site-success-ink); background: transparent; }
.badge-success, .badge-success[href]:hover, .badge-success[href]:focus {
  color: var(--site-success-label); background-color: var(--site-success-fill);
}
.bg-success { background-color: var(--site-success-fill) !important; color: var(--site-success-label) !important; }
a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus {
  background-color: var(--site-success-hover) !important;
}
.text-success { color: var(--site-success-ink) !important; }
a.text-success:hover, a.text-success:focus { color: #2e235e !important; }
.bg-success.text-white, .bg-success.text-dark { color: var(--site-success-label) !important; }
.border-success { border-color: var(--site-success-edge) !important; }
.alert-success, .list-group-item-success { color: var(--site-success-ink); background: var(--site-success-tint); border-color: var(--site-success-edge); }
.alert-success a, .alert-success .alert-link { color: var(--site-success-ink); text-decoration: underline; }
.list-group-item-success.list-group-item-action:hover,
.list-group-item-success.list-group-item-action:focus { color: var(--site-success-ink); background: var(--site-success-tint); }
.list-group-item-success.list-group-item-action.active { color: var(--site-success-label); background: var(--site-success-fill); border-color: var(--site-success-ink); }
.table-success, .table-success > th, .table-success > td,
.table-hover .table-success:hover, .table-hover .table-success:hover > td,
.table-hover .table-success:hover > th { color: #2e235e; background: var(--site-success-tint); }

/* $warning: #f7b237 */
.btn-warning, .btn-warning:disabled, .btn-warning.disabled {
  color: var(--site-warning-label); background-color: var(--site-warning-fill); border-color: var(--site-warning-ink);
}
.btn-warning:hover, .btn-warning:focus, .btn-warning.focus,
.btn-warning:not(:disabled):not(.disabled):active,
.btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: var(--site-warning-label); background-color: var(--site-warning-hover); border-color: var(--site-warning-ink); box-shadow: none;
}
.btn-outline-warning { color: var(--site-warning-ink); border-color: var(--site-warning-ink); }
.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning.focus,
.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: var(--site-warning-label); background-color: var(--site-warning-fill); border-color: var(--site-warning-ink); box-shadow: none;
}
.btn-outline-warning:disabled, .btn-outline-warning.disabled { color: var(--site-warning-ink); background: transparent; }
.badge-warning, .badge-warning[href]:hover, .badge-warning[href]:focus {
  color: var(--site-warning-label); background-color: var(--site-warning-fill);
}
.bg-warning { background-color: var(--site-warning-fill) !important; color: var(--site-warning-label) !important; }
a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus {
  background-color: var(--site-warning-hover) !important;
}
.text-warning { color: var(--site-warning-ink) !important; }
a.text-warning:hover, a.text-warning:focus { color: #2e235e !important; }
.bg-warning.text-white, .bg-warning.text-dark { color: var(--site-warning-label) !important; }
.border-warning { border-color: var(--site-warning-edge) !important; }
.alert-warning, .list-group-item-warning { color: var(--site-warning-ink); background: var(--site-warning-tint); border-color: var(--site-warning-edge); }
.alert-warning a, .alert-warning .alert-link { color: var(--site-warning-ink); text-decoration: underline; }
.list-group-item-warning.list-group-item-action:hover,
.list-group-item-warning.list-group-item-action:focus { color: var(--site-warning-ink); background: var(--site-warning-tint); }
.list-group-item-warning.list-group-item-action.active { color: var(--site-warning-label); background: var(--site-warning-fill); border-color: var(--site-warning-ink); }
.table-warning, .table-warning > th, .table-warning > td,
.table-hover .table-warning:hover, .table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th { color: #2e235e; background: var(--site-warning-tint); }

/* $danger: #ed2f41 */
.btn-danger, .btn-danger:disabled, .btn-danger.disabled {
  color: var(--site-danger-label); background-color: var(--site-danger-fill); border-color: var(--site-danger-ink);
}
.btn-danger:hover, .btn-danger:focus, .btn-danger.focus,
.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: var(--site-danger-label); background-color: var(--site-danger-hover); border-color: var(--site-danger-ink); box-shadow: none;
}
.btn-outline-danger { color: var(--site-danger-ink); border-color: var(--site-danger-ink); }
.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger.focus,
.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: var(--site-danger-label); background-color: var(--site-danger-fill); border-color: var(--site-danger-ink); box-shadow: none;
}
.btn-outline-danger:disabled, .btn-outline-danger.disabled { color: var(--site-danger-ink); background: transparent; }
.badge-danger, .badge-danger[href]:hover, .badge-danger[href]:focus {
  color: var(--site-danger-label); background-color: var(--site-danger-fill);
}
.bg-danger { background-color: var(--site-danger-fill) !important; color: var(--site-danger-label) !important; }
a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus {
  background-color: var(--site-danger-hover) !important;
}
.text-danger { color: var(--site-danger-ink) !important; }
a.text-danger:hover, a.text-danger:focus { color: #2e235e !important; }
.bg-danger.text-white, .bg-danger.text-dark { color: var(--site-danger-label) !important; }
.border-danger { border-color: var(--site-danger-edge) !important; }
.alert-danger, .list-group-item-danger { color: var(--site-danger-ink); background: var(--site-danger-tint); border-color: var(--site-danger-edge); }
.alert-danger a, .alert-danger .alert-link { color: var(--site-danger-ink); text-decoration: underline; }
.list-group-item-danger.list-group-item-action:hover,
.list-group-item-danger.list-group-item-action:focus { color: var(--site-danger-ink); background: var(--site-danger-tint); }
.list-group-item-danger.list-group-item-action.active { color: var(--site-danger-label); background: var(--site-danger-fill); border-color: var(--site-danger-ink); }
.table-danger, .table-danger > th, .table-danger > td,
.table-hover .table-danger:hover, .table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th { color: #2e235e; background: var(--site-danger-tint); }

/* $info: #b7e3ee */
.btn-info, .btn-info:disabled, .btn-info.disabled {
  color: var(--site-info-label); background-color: var(--site-info-fill); border-color: var(--site-info-ink);
}
.btn-info:hover, .btn-info:focus, .btn-info.focus,
.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: var(--site-info-label); background-color: var(--site-info-hover); border-color: var(--site-info-ink); box-shadow: none;
}
.btn-outline-info { color: var(--site-info-ink); border-color: var(--site-info-ink); }
.btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info.focus,
.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: var(--site-info-label); background-color: var(--site-info-fill); border-color: var(--site-info-ink); box-shadow: none;
}
.btn-outline-info:disabled, .btn-outline-info.disabled { color: var(--site-info-ink); background: transparent; }
.badge-info, .badge-info[href]:hover, .badge-info[href]:focus {
  color: var(--site-info-label); background-color: var(--site-info-fill);
}
.bg-info { background-color: var(--site-info-fill) !important; color: var(--site-info-label) !important; }
a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus {
  background-color: var(--site-info-hover) !important;
}
.text-info { color: var(--site-info-ink) !important; }
a.text-info:hover, a.text-info:focus { color: #2e235e !important; }
.bg-info.text-white, .bg-info.text-dark { color: var(--site-info-label) !important; }
.border-info { border-color: var(--site-info-edge) !important; }
.alert-info, .list-group-item-info { color: var(--site-info-ink); background: var(--site-info-tint); border-color: var(--site-info-edge); }
.alert-info a, .alert-info .alert-link { color: var(--site-info-ink); text-decoration: underline; }
.list-group-item-info.list-group-item-action:hover,
.list-group-item-info.list-group-item-action:focus { color: var(--site-info-ink); background: var(--site-info-tint); }
.list-group-item-info.list-group-item-action.active { color: var(--site-info-label); background: var(--site-info-fill); border-color: var(--site-info-ink); }
.table-info, .table-info > th, .table-info > td,
.table-hover .table-info:hover, .table-hover .table-info:hover > td,
.table-hover .table-info:hover > th { color: #2e235e; background: var(--site-info-tint); }

/* $light: #f2eef6 */
.btn-light, .btn-light:disabled, .btn-light.disabled {
  color: var(--site-light-label); background-color: var(--site-light-fill); border-color: var(--site-light-ink);
}
.btn-light:hover, .btn-light:focus, .btn-light.focus,
.btn-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: var(--site-light-label); background-color: var(--site-light-hover); border-color: var(--site-light-ink); box-shadow: none;
}
.btn-outline-light { color: var(--site-light-ink); border-color: var(--site-light-ink); }
.btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light.focus,
.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: var(--site-light-label); background-color: var(--site-light-fill); border-color: var(--site-light-ink); box-shadow: none;
}
.btn-outline-light:disabled, .btn-outline-light.disabled { color: var(--site-light-ink); background: transparent; }
.badge-light, .badge-light[href]:hover, .badge-light[href]:focus {
  color: var(--site-light-label); background-color: var(--site-light-fill);
}
.bg-light { background-color: var(--site-light-fill) !important; color: var(--site-light-label) !important; }
a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus {
  background-color: var(--site-light-hover) !important;
}
.text-light { color: var(--site-light-ink) !important; }
a.text-light:hover, a.text-light:focus { color: #2e235e !important; }
.bg-light.text-white, .bg-light.text-dark { color: var(--site-light-label) !important; }
.border-light { border-color: var(--site-light-edge) !important; }
.alert-light, .list-group-item-light { color: var(--site-light-ink); background: var(--site-light-tint); border-color: var(--site-light-edge); }
.alert-light a, .alert-light .alert-link { color: var(--site-light-ink); text-decoration: underline; }
.list-group-item-light.list-group-item-action:hover,
.list-group-item-light.list-group-item-action:focus { color: var(--site-light-ink); background: var(--site-light-tint); }
.list-group-item-light.list-group-item-action.active { color: var(--site-light-label); background: var(--site-light-fill); border-color: var(--site-light-ink); }
.table-light, .table-light > th, .table-light > td,
.table-hover .table-light:hover, .table-hover .table-light:hover > td,
.table-hover .table-light:hover > th { color: #2e235e; background: var(--site-light-tint); }

/* $dark: #7f3f98 */
.btn-dark, .btn-dark:disabled, .btn-dark.disabled {
  color: var(--site-dark-label); background-color: var(--site-dark-fill); border-color: var(--site-dark-ink);
}
.btn-dark:hover, .btn-dark:focus, .btn-dark.focus,
.btn-dark:not(:disabled):not(.disabled):active,
.btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: var(--site-dark-label); background-color: var(--site-dark-hover); border-color: var(--site-dark-ink); box-shadow: none;
}
.btn-outline-dark { color: var(--site-dark-ink); border-color: var(--site-dark-ink); }
.btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark.focus,
.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: var(--site-dark-label); background-color: var(--site-dark-fill); border-color: var(--site-dark-ink); box-shadow: none;
}
.btn-outline-dark:disabled, .btn-outline-dark.disabled { color: var(--site-dark-ink); background: transparent; }
.badge-dark, .badge-dark[href]:hover, .badge-dark[href]:focus {
  color: var(--site-dark-label); background-color: var(--site-dark-fill);
}
.bg-dark { background-color: var(--site-dark-fill) !important; color: var(--site-dark-label) !important; }
a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus {
  background-color: var(--site-dark-hover) !important;
}
.text-dark { color: var(--site-dark-ink) !important; }
a.text-dark:hover, a.text-dark:focus { color: #2e235e !important; }
.bg-dark.text-white, .bg-dark.text-dark { color: var(--site-dark-label) !important; }
.border-dark { border-color: var(--site-dark-edge) !important; }
.alert-dark, .list-group-item-dark { color: var(--site-dark-ink); background: var(--site-dark-tint); border-color: var(--site-dark-edge); }
.alert-dark a, .alert-dark .alert-link { color: var(--site-dark-ink); text-decoration: underline; }
.list-group-item-dark.list-group-item-action:hover,
.list-group-item-dark.list-group-item-action:focus { color: var(--site-dark-ink); background: var(--site-dark-tint); }
.list-group-item-dark.list-group-item-action.active { color: var(--site-dark-label); background: var(--site-dark-fill); border-color: var(--site-dark-ink); }
.table-dark, .table-dark > th, .table-dark > td,
.table-hover .table-dark:hover, .table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th { color: #2e235e; background: var(--site-dark-tint); }


/* Swap purple fills only within buttons, including their interaction states. */
.btn-primary, .btn-outline-primary, .btn.bg-primary {
  --site-primary-fill: var(--site-dark-fill);
  --site-primary-hover: var(--site-dark-hover);
}
.btn-dark, .btn-outline-dark, .btn.bg-dark {
  --site-dark-fill: var(--site-primary-fill);
  --site-dark-hover: var(--site-primary-hover);
}

.list-group-item.active { color: #f2eef6; background: #2e235e; border-color: #2e235e; }


/* Dark text on light surfaces; preserve light text utilities on dark surfaces. */
.text-dark, .text-body, .text-muted, .text-black-50 {
  color: #2e235e !important;
}
.text-light { color: #f2eef6 !important; }
.table, .card, .modal-content, .popover, .popover-header, .popover-body,
.list-group-item, .page-item.disabled .page-link, .dropdown-item.disabled,
.dropdown-item:disabled, .btn-link:disabled, .btn-link.disabled,
.custom-control-input:disabled ~ .custom-control-label,
.custom-control-input[disabled] ~ .custom-control-label {
  color: #2e235e;
}
/* Keep the existing high-contrast tooltip and navbar treatment. */
.navbar-dark .navbar-brand, .navbar-dark .navbar-text,
.navbar-dark .navbar-toggler, .navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link { color: #f2eef6; }

/* Pink prose and email links; navigation and button colours stay unchanged. */
:is(p, h1, h2, h3, h4, h5, h6) a:not(.btn),
a[href^="mailto:" i]:not(.btn) {
  color: var(--site-prose-link, var(--site-secondary-fill));
}
:is(p, h1, h2, h3, h4, h5, h6) a:not(.btn):hover,
:is(p, h1, h2, h3, h4, h5, h6) a:not(.btn):focus,
a[href^="mailto:" i]:not(.btn):hover,
a[href^="mailto:" i]:not(.btn):focus {
  color: var(--site-prose-link-hover, var(--site-secondary-hover));
}
/* Keep prose and email links readable on purple or pink containing surfaces. */
:where(.bg-primary, .bg-secondary, .bg-dark, header, .footer, .navbar, .list-group-item.active) {
  --site-prose-link: var(--site-primary-label);
  --site-prose-link-hover: var(--site-primary-label);
}
