/* ── Brand colours ─────────────────────────────────────────── */
:root {
  --brand:       #1a5c38;
  --brand-dark:  #123d25;
  --brand-light: #edf7f1;
  --brand-border:#b6dfc6;
}

/* ── Global ─────────────────────────────────────────────────── */
body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  background: #f8f9fa;
  color: #1a1a2e;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main { flex: 1; }

/* ── Navbar ─────────────────────────────────────────────────── */
.bg-brand          { background-color: var(--brand) !important; }
.navbar-brand      { font-size: 1.2rem; letter-spacing: -.3px; }

/* ── Buttons ────────────────────────────────────────────────── */
.btn-brand {
  background-color: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.btn-brand:hover, .btn-brand:focus {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: #fff;
}
.btn-outline-brand {
  color: var(--brand);
  border-color: var(--brand);
}
.btn-outline-brand:hover {
  background-color: var(--brand);
  color: #fff;
}

/* ── Text / background helpers ──────────────────────────────── */
.text-brand         { color: var(--brand) !important; }
.bg-brand-light     { background-color: var(--brand-light) !important; }
.border-brand       { border-color: var(--brand) !important; }
.alert-success-subtle { background-color: #d1f0dc; border-color: var(--brand-border); }

/* ── Cards ──────────────────────────────────────────────────── */
.card { border-radius: .75rem; }
.hover-card { transition: box-shadow .15s, transform .15s; }
.hover-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1) !important; transform: translateY(-2px); }

/* ── Hero ───────────────────────────────────────────────────── */
.hero {
  background: linear-gradient(135deg, #edf7f1 0%, #ffffff 60%);
  border-radius: 1rem;
  padding: 3.5rem 2rem !important;
  margin-bottom: 1rem;
}

/* ── Step numbers ───────────────────────────────────────────── */
.step-number {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Spinner (brand colour) ─────────────────────────────────── */
.spinner-brand {
  width: 56px; height: 56px;
  border: 5px solid var(--brand-light);
  border-top-color: var(--brand);
  border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Tender content display ─────────────────────────────────── */
.tender-content p {
  margin-bottom: .9rem;
  line-height: 1.75;
  color: #2d2d2d;
}

/* ── Monospace textarea ─────────────────────────────────────── */
.font-mono { font-family: 'Consolas', 'Courier New', monospace; font-size: .875rem; }

/* ── Card header ────────────────────────────────────────────── */
.card-header {
  border-radius: .75rem .75rem 0 0 !important;
  padding: .75rem 1.25rem;
  border-bottom: 1px solid var(--brand-border);
}

/* ── Badge ──────────────────────────────────────────────────── */
.badge.bg-brand { background-color: var(--brand) !important; }

/* ── Pricing card highlight ─────────────────────────────────── */
.border-brand { border: 2px solid var(--brand) !important; }

/* ── Sticky bottom bar ──────────────────────────────────────── */
.sticky-bottom { z-index: 100; box-shadow: 0 -2px 12px rgba(0,0,0,.07); }

/* ── Footer ─────────────────────────────────────────────────── */
.footer { margin-top: auto; }
