/*
  All Minnesota — Indigenous-led community meal distribution
  Color palette: primary green #1B5E3B, light green #2E7D4F, gold #C49A2C,
  dark text #2C2C2C, light bg #F9F7F2
  Mobile-first, Bootstrap grid. No Google Fonts — system stack.
*/

:root {
  --primary-green: #1B5E3B;
  --light-green: #2E7D4F;
  --gold: #C49A2C;
  --dark-text: #2C2C2C;
  --light-bg: #F9F7F2;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--dark-text);
  background-color: #fff;
}

/* Navbar: dark green */
.navbar.bg-primary-green {
  background-color: var(--primary-green) !important;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.9);
  transition: color 0.2s ease;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: #fff;
}

.navbar-logo {
  max-height: 44px;
  width: auto;
  object-fit: contain;
}

/* Hero section: full-width dark green */
.hero-section {
  background-color: var(--primary-green);
}

.hero-statement {
  color: rgba(255, 255, 255, 0.95);
}

.hero-logo {
  filter: brightness(1.05);
  max-width: 280px;
  height: auto;
  object-fit: contain;
}

/* Gold CTA buttons: gold bg, dark text, rounded */
.btn-gold {
  background-color: var(--gold);
  color: var(--dark-text);
  border: none;
  border-radius: 0.375rem;
  font-weight: 600;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.btn-gold:hover {
  background-color: #b08a26;
  color: var(--dark-text);
  transform: translateY(-1px);
}

.btn-gold:active {
  transform: translateY(0);
}

/* Outline primary green */
.btn-outline-primary-green {
  color: var(--primary-green);
  border-color: var(--primary-green);
  border-radius: 0.375rem;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.btn-outline-primary-green:hover {
  background-color: var(--primary-green);
  color: #fff;
  border-color: var(--primary-green);
  transform: translateY(-1px);
}

.btn-outline-primary-green:active {
  transform: translateY(0);
}

/* Text utilities */
.text-primary-green {
  color: var(--primary-green) !important;
}

.text-gold {
  color: var(--gold) !important;
}

.bg-primary-green {
  background-color: var(--primary-green) !important;
}

.bg-light-green {
  background-color: var(--light-green) !important;
}

.bg-gold {
  background-color: var(--gold) !important;
}

/* Progress bar fill: gold */
.progress-bar.bg-gold {
  background-color: var(--gold);
  color: var(--dark-text);
}

/* Light warm off-white background */
.bg-light-custom {
  background-color: var(--light-bg);
}

/* CTA band (footer-style strip) */
.cta-band {
  background-color: var(--primary-green);
}

/* Cards: subtle styling + hover */
.card {
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.card:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
}

.card-title.text-primary-green {
  color: var(--primary-green);
}

/* Footer logo */
.footer-logo {
  max-height: 48px;
  width: auto;
  object-fit: contain;
  filter: brightness(1.05);
}

.footer-brand:hover {
  color: #fff !important;
  opacity: 0.95;
}

.footer-brand {
  transition: opacity 0.2s ease;
}

/* Kanban board */
.kanban-column {
  min-height: 200px;
}

.task-card .card-body {
  font-size: 0.9rem;
}

/* Kanban drag-and-drop */
.task-card {
  cursor: grab;
}
.task-card:active {
  cursor: grabbing;
}
.kanban-column {
  min-height: 100px;
}
.kanban-column .task-card.sortable-ghost {
  opacity: 0.4;
  cursor: grabbing;
}

/* Alerts: map success to our green for consistency */
.alert-success {
  background-color: rgba(30, 94, 59, 0.1);
  border-color: var(--light-green);
  color: var(--primary-green);
}
