/* =========================================================
   AGRILAND — brand theme
   Palette pulled from the business plan: deep field-green,
   ripened-wheat gold, warm parchment background.
   ========================================================= */

:root {
  --al-green-dark: #1f4e2c;
  --al-green: #2e7d45;
  --al-green-pale: #eef3ea;
  --al-gold: #b7862c;
  --al-gold-pale: #fbf3e4;
  --al-ink: #2b2b26;
  --al-paper: #fbfaf6;
  --al-line: #e3ded0;
  --al-radius: 6px;
}

body {
  font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--al-ink);
  background-color: var(--al-paper);
}

h1, h2, h3, h4, .brand-font {
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  color: var(--al-green-dark);
}

a { color: var(--al-green-dark); }
a:hover { color: var(--al-gold); }

/* ---- Navbar ---- */
.al-navbar {
  background-color: rgba(251, 250, 246, 0.96);
  border-bottom: 1px solid var(--al-line);
  transition: box-shadow 0.2s ease, padding 0.2s ease;
}
@supports (backdrop-filter: blur(6px)) {
  .al-navbar { backdrop-filter: blur(6px); }
}
.al-navbar-scrolled {
  box-shadow: 0 4px 16px rgba(31, 78, 44, 0.08);
}
.al-navbar .navbar-brand {
  padding: 0;
  margin-right: 1.5rem;
}
.al-navbar-mark {
  height: 44px;
  width: auto;
  display: block;
}
.al-navbar-wordmark {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  font-size: 1.45rem;
  letter-spacing: 0.01em;
  color: var(--al-green-dark);
  line-height: 1;
}
.al-navbar-wordmark span { color: var(--al-gold); }
.al-navbar .nav-link {
  color: var(--al-ink);
  font-weight: 500;
  position: relative;
  padding-bottom: 4px;
}
.al-navbar .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: var(--al-gold);
  transition: width 0.18s ease;
}
.al-navbar .nav-link:hover::after,
.al-navbar .nav-link.active::after { width: 100%; }
.al-navbar .nav-link:hover,
.al-navbar .nav-link.active { color: var(--al-green-dark); }

/* ---- Buttons ---- */
.btn-al-primary {
  background-color: var(--al-green-dark);
  border-color: var(--al-green-dark);
  color: #fff;
}
.btn-al-primary:hover {
  background-color: #163a20;
  border-color: #163a20;
  color: #fff;
}
.btn-al-gold {
  background-color: var(--al-gold);
  border-color: var(--al-gold);
  color: #fff;
}
.btn-al-gold:hover {
  background-color: #9c7024;
  border-color: #9c7024;
  color: #fff;
}
.btn-outline-al {
  border-color: var(--al-green-dark);
  color: var(--al-green-dark);
}
.btn-outline-al:hover {
  background-color: var(--al-green-dark);
  color: #fff;
}

/* ---- Hero ---- */
.al-hero {
  background: linear-gradient(180deg, var(--al-green-pale) 0%, var(--al-paper) 100%);
  border-bottom: 1px solid var(--al-line);
}
.al-hero h1 {
  font-size: clamp(2.1rem, 4vw, 3.2rem);
  line-height: 1.15;
}
.al-hero .lead {
  font-size: 1.15rem;
  color: #4a4a42;
  max-width: 40rem;
}

/* ---- Callout / pull-quote (echoes the plan's callout boxes) ---- */
.al-callout {
  background-color: var(--al-gold-pale);
  border: 1px solid var(--al-gold);
  border-radius: var(--al-radius);
  padding: 1.1rem 1.4rem;
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 600;
  color: var(--al-green-dark);
}

/* ---- Cards ---- */
.al-card {
  border: 1px solid var(--al-line);
  border-radius: var(--al-radius);
  background: #fff;
}
.al-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background-color: var(--al-green-dark);
  color: #fff;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 700;
  flex-shrink: 0;
}

/* ---- Tables ---- */
.table-al thead th {
  background-color: var(--al-green-dark);
  color: #fff;
  font-weight: 600;
  border: none;
}
.table-al td, .table-al th { vertical-align: middle; }

/* ---- Section rhythm ---- */
.al-section { padding: 3.5rem 0; }
.al-section-title {
  border-bottom: 2px solid var(--al-gold);
  display: inline-block;
  padding-bottom: 0.35rem;
  margin-bottom: 1.75rem;
}

/* ---- Badges for score / status ---- */
.badge-score {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 0.9rem;
  padding: 0.35em 0.6em;
}

/* ---- Footer ---- */
.al-footer {
  background-color: var(--al-green-dark);
  color: #d9e4dc;
}
.al-footer a { color: #fff; }
.al-footer a:hover { color: var(--al-gold-pale); }

/* ---- Dashboard sidebar (admin) ---- */
.al-sidebar {
  background-color: var(--al-green-dark);
  min-height: calc(100vh - 0px);
}
.al-sidebar-mark {
  height: 40px;
  width: auto;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}
.al-sidebar .nav-link {
  color: #d9e4dc;
  border-radius: var(--al-radius);
  margin-bottom: 0.15rem;
}
.al-sidebar .nav-link.active,
.al-sidebar .nav-link:hover {
  background-color: rgba(255,255,255,0.12);
  color: #fff;
}

/* ---- Misc ---- */
.al-stat {
  border: 1px solid var(--al-line);
  border-radius: var(--al-radius);
  background: #fff;
  padding: 1.2rem;
}
.al-stat .num {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--al-green-dark);
}
.al-stat .label { color: #6b6b60; font-size: 0.9rem; }

.al-funnel-step {
  background-color: var(--al-green-pale);
  border: 1px solid var(--al-line);
  border-radius: var(--al-radius);
  padding: 0.6rem 1rem;
  text-align: center;
  font-weight: 600;
  color: var(--al-green-dark);
}
