/* e.SOL brand, taken from the client's logo: the slate badge, the gold "e.", the green "SOL",
   and the blue and orange of the figures. Loaded on every page after the vendor styles. */
:root {
  --esol-slate: #3D4460; --esol-slate-dark: #2B3148; --esol-slate-soft: #E9EBF2;
  --esol-gold: #F2D14B; --esol-gold-soft: #FBF1C4;
  --esol-green: #4DAA3F; --esol-green-dark: #2F7F2A; --esol-green-darker: #276B23; --esol-green-soft: #E3F2DF;
  --esol-blue: #3E5A94; --esol-sky: #5BC3EC; --esol-orange: #F7844F;
  --esol-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Arabic", sans-serif;
}
/* The vendor stylesheet sets every element to a font file that is not shipped, so browsers fell back to a
   serif. Same selector, loaded later: every device now uses its own clean font (icon fonts keep theirs). */
* { font-family: var(--esol-font); }

.brand-wordmark { height: 30px; width: auto; display: block; }
.brand-mark { width: 72px; height: 72px; display: block; margin: 0 auto; }

/* ---------- buttons and form fields, on every page (the green of "SOL", dark enough for white text) ---------- */
.btn-primary { --bs-btn-bg: #2F7F2A; --bs-btn-border-color: #2F7F2A; --bs-btn-hover-bg: #276B23; --bs-btn-hover-border-color: #276B23;
  --bs-btn-active-bg: #215C1E; --bs-btn-active-border-color: #215C1E; --bs-btn-disabled-bg: #2F7F2A; --bs-btn-disabled-border-color: #2F7F2A; --bs-btn-focus-shadow-rgb: 47, 127, 42; }
.btn-outline-primary { --bs-btn-color: #2F7F2A; --bs-btn-border-color: #2F7F2A; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #2F7F2A; --bs-btn-hover-border-color: #2F7F2A;
  --bs-btn-active-color: #fff; --bs-btn-active-bg: #276B23; --bs-btn-active-border-color: #276B23; --bs-btn-focus-shadow-rgb: 47, 127, 42; }
.form-control:focus, .form-select:focus { border-color: #86BF7D; box-shadow: 0 0 0 .25rem rgba(47, 127, 42, .2); }
.form-check-input:checked { background-color: var(--esol-green-dark); border-color: var(--esol-green-dark); }
.form-check-input:focus { border-color: #86BF7D; box-shadow: 0 0 0 .25rem rgba(47, 127, 42, .2); }

/* ---------- member pages (body.m-ui); the staff dashboard keeps each staff member's chosen colour ---------- */
.m-ui { --bs-link-color: var(--esol-blue); --bs-link-color-rgb: 62, 90, 148; --bs-link-hover-color: var(--esol-slate-dark); --bs-link-hover-color-rgb: 43, 49, 72; }
.m-ui .text-primary { color: var(--esol-green-dark) !important; }
.m-ui .bg-primary { background-color: var(--esol-green-dark) !important; }
.m-ui .mainCo { color: var(--esol-slate) !important; }
.m-ui .mainCoBg { background-color: var(--esol-slate) !important; }
.m-ui .navbar { border-bottom: 3px solid var(--esol-gold); }
.m-ui .nav-tabs .nav-link { color: var(--esol-blue); }
.m-ui .nav-tabs .nav-link.active { color: var(--esol-slate); font-weight: 600; box-shadow: inset 0 3px 0 var(--esol-gold); }
.m-ui .list-group-item.active { background-color: var(--esol-slate); border-color: var(--esol-slate); }
