/* DMC CUMAC — styled to match cumac.org
 *
 * Brand extracted from cumac.org's Squarespace theme:
 *   accent (navy):       #152B70
 *   dark accent (blue):  #3A519C
 *   light accent:        #EAEAEE
 *   CTA orange-red:      #F0523D
 *   body text:           #272727
 *   light background:    #F6F6F6
 *   font:                Work Sans (500 / 700)
 *   button shape:        pill (fully rounded)
 */

:root {
  --cumac-navy: #152B70;
  --cumac-navy-hover: #0E1F54;
  --cumac-blue: #3A519C;
  --cumac-light: #EAEAEE;
  --cumac-orange: #F0523D;
  --cumac-orange-hover: #D94428;
  --cumac-text: #272727;
  --cumac-bg: #F6F6F6;

  /* Bootstrap overrides */
  --bs-primary: var(--cumac-navy);
  --bs-primary-rgb: 21, 43, 112;
  --bs-link-color: var(--cumac-navy);
  --bs-link-color-rgb: 21, 43, 112;
  --bs-link-hover-color: var(--cumac-navy-hover);
  --bs-body-color: var(--cumac-text);
  --bs-body-bg: var(--cumac-bg);
  --bs-body-font-family: 'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bs-body-font-weight: 500;
  --bs-border-radius: 999px;
  --bs-border-radius-sm: 999px;
  --bs-border-radius-lg: 999px;
}

html, body {
  font-family: 'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-weight: 500;
  color: var(--cumac-text);
  background-color: var(--cumac-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Work Sans', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--cumac-text);
}

a {
  color: var(--cumac-navy);
  text-decoration: none;
}
a:hover {
  color: var(--cumac-navy-hover);
  text-decoration: underline;
}

/* Navbar — navy bar with logo */
.navbar.cumac-navbar {
  background-color: var(--cumac-navy);
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}
.navbar.cumac-navbar .navbar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.navbar.cumac-navbar .navbar-brand img {
  height: 40px;
  width: auto;
  display: block;
}
.navbar.cumac-navbar .nav-link {
  color: rgba(255, 255, 255, 0.88);
  font-weight: 500;
  padding-left: 1rem;
  padding-right: 1rem;
}
.navbar.cumac-navbar .nav-link:hover,
.navbar.cumac-navbar .nav-link.active {
  color: #fff;
}
.navbar.cumac-navbar .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.4);
}
.navbar.cumac-navbar .navbar-toggler:focus {
  box-shadow: none;
}

/* Pill buttons — CUMAC uses button-shape-pill with solid fill */
.btn {
  border-radius: 999px;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.6rem 1.6rem;
  text-transform: none;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btn-lg {
  padding: 0.85rem 2rem;
  font-size: 1rem;
}
.btn-sm {
  padding: 0.4rem 1.1rem;
  font-size: 0.85rem;
}

.btn-primary {
  background-color: var(--cumac-navy);
  border-color: var(--cumac-navy);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--cumac-navy-hover) !important;
  border-color: var(--cumac-navy-hover) !important;
  color: #fff !important;
}

.btn-outline-primary {
  color: var(--cumac-navy);
  border-color: var(--cumac-navy);
  background-color: transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--cumac-navy);
  border-color: var(--cumac-navy);
  color: #fff;
}

/* CTA / accent button — the CUMAC orange */
.btn-accent {
  background-color: var(--cumac-orange);
  border-color: var(--cumac-orange);
  color: #fff;
}
.btn-accent:hover,
.btn-accent:focus,
.btn-accent:active {
  background-color: var(--cumac-orange-hover);
  border-color: var(--cumac-orange-hover);
  color: #fff;
}

/* Cards — square-ish, subtle borders, no playful radii */
.card {
  border-radius: 6px;
  border-color: var(--cumac-light);
  background-color: #fff;
}
.card-header {
  background-color: #fff;
  border-bottom-color: var(--cumac-light);
  font-weight: 700;
}

/* Form controls */
.form-control,
.form-select {
  border-radius: 6px;
  border-color: var(--cumac-light);
  font-family: 'Work Sans', system-ui, sans-serif;
  font-weight: 500;
  padding: 0.6rem 0.9rem;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--cumac-blue);
  box-shadow: 0 0 0 0.2rem rgba(58, 81, 156, 0.15);
}
.form-label {
  font-weight: 700;
  color: var(--cumac-text);
}

/* Tables */
.table {
  --bs-table-hover-bg: rgba(21, 43, 112, 0.04);
}
.table thead th {
  font-weight: 700;
  color: var(--cumac-text);
  border-bottom-color: var(--cumac-navy);
}

/* Badges */
.badge.bg-primary {
  background-color: var(--cumac-navy) !important;
}
.badge.bg-accent {
  background-color: var(--cumac-orange) !important;
  color: #fff;
}

/* Utility: text colors */
.text-navy    { color: var(--cumac-navy) !important; }
.text-accent  { color: var(--cumac-orange) !important; }
.bg-navy      { background-color: var(--cumac-navy) !important; }
.bg-accent    { background-color: var(--cumac-orange) !important; }
