/* UBSS Nigeria — shared design tokens
   Earth-green + harvest-gold heritage palette. Loaded by every page. */

:root {
  /* brand greens */
  --green-900: #0a3324;
  --green-800: #0f4630;
  --green-700: #15603f;
  --green-600: #1a7a4f;
  --green-500: #21965f;
  --green-400: #38b07a;
  --green-50:  #eef7f1;

  /* harvest gold */
  --gold-700: #9a6b0d;
  --gold-600: #b8860b;
  --gold-500: #ca8a04;
  --gold-400: #d9a420;
  --gold-300: #e8c45f;
  --gold-50:  #fbf3dc;
  --gold-text: #7a5408; /* AA-contrast gold for small text on light backgrounds */

  /* neutrals */
  --cream:   #fbfaf6;
  --paper:   #ffffff;
  --ink:     #15241c;
  --ink-2:   #3c4a42;
  --muted:   #64746b;
  --line:    #e4e6e0;
  --line-2:  #eef0ea;

  /* status */
  --ok:      #1a7a4f;
  --warn:    #b8860b;
  --danger:  #b4452f;
  --info:    #2b6cb0;

  /* effects */
  --shadow-sm: 0 1px 2px rgba(10, 51, 36, .06), 0 1px 3px rgba(10, 51, 36, .08);
  --shadow:    0 4px 16px rgba(10, 51, 36, .08), 0 1px 4px rgba(10, 51, 36, .06);
  --shadow-lg: 0 18px 48px rgba(10, 51, 36, .14);
  --radius:    14px;
  --radius-sm: 9px;
  --radius-lg: 22px;

  --maxw: 1180px;

  --font-display: "Fraunces", "Georgia", "Times New Roman", serif;
  --font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* z-scale */
  --z-nav: 100;
  --z-modal: 300;
  --z-toast: 400;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 .4em;
}

a { color: var(--green-700); text-decoration: none; }
a:hover { text-decoration: underline; }

img, svg { max-width: 100%; display: block; }

button { font-family: inherit; cursor: pointer; }

/* shared brand lockup (used by landing nav, footer, admin sidebar, login) */
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand:hover { text-decoration: none; }
.brand .mark { flex: none; }
.brand-text { display: flex; flex-direction: column; line-height: 1.05; }

:focus-visible {
  outline: 3px solid var(--gold-400);
  outline-offset: 2px;
  border-radius: 4px;
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}
