/* ==========================================================================
   Updated Anson General Contracting – Dark Mode + Lime Green Accents
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@500;600;700;800&family=Poppins:wght@400;500;600;700&display=swap');

/* ── Core Variables ──────────────────────────────────────────────── */
:root {
  --primary:       #070B0C;          /* Very dark – almost black */
  --bg-dark:       #0a0e0f;          /* Main background */
  --bg-darker:     #050809;          /* Cards, navbar, deeper sections */
  --text:          #e8ecef;          /* Main text – light gray-white */
  --text-muted:    #a0a8b0;          /* Secondary text */
  --accent:        #89CE01;          /* Bright lime green – CTAs, borders, links */
  --accent-dark:   #6eb800;          /* Hover/darker green */
  --border:        #89CE0166;        /* Semi-transparent lime for subtle borders */
  --card-border:   #89CE0133;        /* Very subtle lime border on cards */
  --bg-card:       #111518;          /* Card background – slightly lighter than body */

  --font-heading:  'Montserrat', 'Poppins', sans-serif;
  --font-body:     'Inter', system-ui, sans-serif;

  --shadow:        0 4px 20px rgba(0,0,0,0.45);
  --shadow-sm:     0 2px 8px rgba(0,0,0,0.35);
  --transition:    all 0.22s ease;
}

/* ── Global ──────────────────────────────────────────────────────── */
body {
  font-family: var(--font-body);
  color: var(--text);
  background-color: var(--bg-dark);
  line-height: 1.65;
}

main.container {
  padding-top: 2.5rem !important;
  padding-bottom: 4rem !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #f0f4f8 !important;          /* pure white – best contrast */
    /* or slightly off-white for less harshness: #f0f4f8 */
}

.display-5, .display-4, .display-6 {
    color: #f0f4f8 !important;
}

h1.text-center, 
h1.fw-bold,
h2.h4.mb-4.text-center {
    position: relative;
    padding-bottom: 0.6rem;
    margin-bottom: 1.8rem;
}

h1.text-center::after,
h2.h4.mb-4.text-center::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: var(--accent);     /* #89CE01 */
    border-radius: 2px;
}

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

/* Links */
a {
  color: var(--accent);
  text-decoration: none;
  transition: var(--transition);
}
a:hover,
a:focus {
  color: var(--accent-dark);
  text-decoration: underline;
}

/* ── Navbar ──────────────────────────────────────────────────────── */
.navbar {
  background-color: var(--primary) !important;
  border-bottom: 2px solid var(--accent) !important;
  box-shadow: var(--shadow-sm);
}

.navbar-brand img {
  filter: brightness(1.15); /* makes logo pop a bit on dark bg */
}

.nav-link {
  color: var(--text) !important;
  font-weight: 500;
}
.nav-link:hover,
.nav-link.active {
  color: var(--accent) !important;
}

/* ── Cards ───────────────────────────────────────────────────────── */
.card {
  background-color: var(--bg-card);
  border: 1px solid var(--card-border);
  border-radius: 0.85rem;
  box-shadow: var(--shadow-sm);
  color: var(--text);
  transition: var(--transition);
}

.card:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow);
  transform: translateY(-3px);
}

.card-header {
  background-color: #0f1417;
  border-bottom: 1px solid var(--border);
  color: white;
}

/* Tables */
.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: #2a343a;
}

.table thead th {
  background-color: #0f1417;
  color: white;
  border-bottom: 2px solid var(--accent);
}

.table-hover tbody tr:hover {
  background-color: rgba(137, 206, 1, 0.08);
}

/* Buttons */
.btn-primary {
  background-color: var(--accent);
  border-color: var(--accent);
  color: #0a0e0f;               /* very dark text on lime */
  font-weight: 600;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--accent-dark);
  border-color: var(--accent-dark);
  color: #0a0e0f;
}

.btn-outline-primary,
.btn-outline-accent {
  color: var(--accent);
  border-color: var(--accent);
}
.btn-outline-primary:hover,
.btn-outline-accent:hover {
  background-color: var(--accent);
  color: #0a0e0f;
}

/* Forms */
.form-control,
.form-select {
  background-color: #14191d;
  border: 1px solid #2a343a;
  color: var(--text);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 0.25rem rgba(137, 206, 1, 0.25);
}

.form-label {
  color: white;
}

/* Alerts */
.alert-info {
  background-color: rgba(25, 135, 84, 0.15);
  border-color: rgba(25, 135, 84, 0.35);
  color: #d1e7dd;
}

/* Utility classes */
.border-accent       { border-color: var(--accent) !important; }
.text-accent         { color: var(--accent) !important; }
.bg-accent-light     { background-color: rgba(137, 206, 1, 0.09) !important; }