@charset "UTF-8";
/*!
 * Bootstrap v5.3.8 - Custom Theme
 * Based on color scheme: Savanna Green, Sunshine Yellow, Crimson Accent, Neutrals
 */

/* ===================================
   Custom Color Variables
   =================================== */

:root,
[data-bs-theme=light] {
  /* Savanna Green */
  --bs-green: #059669;
  --bs-green-light: #10B981;
  --bs-green-dark: #047857;
  --bs-green-dark-mode: #34D399;

  /* Sunshine Yellow */
  --bs-yellow: #FBBF24;
  --bs-yellow-light: #FDE047;
  --bs-yellow-dark: #CA8A04;

  /* Accent - Crimson */
  --bs-crimson: #991B1B;

  /* Neutrals */
  --bs-sand: #F9FAFB;
  --bs-gray-cool: #E5E7EB;
  --bs-graphite: #1F2937;
  --bs-black: #111827;

  /* Primary Theme Colors */
  --bs-primary: #059669;
  --bs-primary-rgb: 5, 150, 105;
  --bs-secondary: #FBBF24;
  --bs-secondary-rgb: 251, 191, 36;
  --bs-success: #10B981;
  --bs-success-rgb: 16, 185, 129;
  --bs-info: #0dcaf0;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning: #FDE047;
  --bs-warning-rgb: 253, 224, 71;
  --bs-danger: #991B1B;
  --bs-danger-rgb: 153, 27, 27;
  --bs-light: #F9FAFB;
  --bs-light-rgb: 249, 250, 251;
  --bs-dark: #1F2937;
  --bs-dark-rgb: 31, 41, 55;

  /* Gray Scale */
  --bs-gray-100: #F9FAFB;
  --bs-gray-200: #F3F4F6;
  --bs-gray-300: #E5E7EB;
  --bs-gray-400: #D1D5DB;
  --bs-gray-500: #9CA3AF;
  --bs-gray-600: #6B7280;
  --bs-gray-700: #4B5563;
  --bs-gray-800: #1F2937;
  --bs-gray-900: #111827;

  /* Body */
  --bs-body-color: #111827;
  --bs-body-color-rgb: 17, 24, 39;
  --bs-body-bg: #ffffff;
  --bs-body-bg-rgb: 255, 255, 255;

  /* Text Emphasis */
  --bs-primary-text-emphasis: #047857;
  --bs-secondary-text-emphasis: #CA8A04;
  --bs-success-text-emphasis: #047857;
  --bs-danger-text-emphasis: #7F1D1D;
  --bs-warning-text-emphasis: #CA8A04;
  --bs-light-text-emphasis: #4B5563;
  --bs-dark-text-emphasis: #111827;

  /* Background Subtle */
  --bs-primary-bg-subtle: #D1FAE5;
  --bs-secondary-bg-subtle: #FEF3C7;
  --bs-success-bg-subtle: #D1FAE5;
  --bs-danger-bg-subtle: #FEE2E2;
  --bs-warning-bg-subtle: #FEF9C3;
  --bs-light-bg-subtle: #F9FAFB;
  --bs-dark-bg-subtle: #E5E7EB;

  /* Border Subtle */
  --bs-primary-border-subtle: #6EE7B7;
  --bs-secondary-border-subtle: #FCD34D;
  --bs-success-border-subtle: #6EE7B7;
  --bs-danger-border-subtle: #FECACA;
  --bs-warning-border-subtle: #FDE68A;
  --bs-light-border-subtle: #E5E7EB;
  --bs-dark-border-subtle: #9CA3AF;

  /* Links */
  --bs-link-color: #059669;
  --bs-link-color-rgb: 5, 150, 105;
  --bs-link-hover-color: #047857;
  --bs-link-hover-color-rgb: 4, 120, 87;

  /* Borders */
  --bs-border-color: #E5E7EB;
  --bs-border-color-translucent: rgba(31, 41, 55, 0.175);

  /* Secondary/Tertiary Backgrounds */
  --bs-secondary-bg: #F3F4F6;
  --bs-secondary-bg-rgb: 243, 244, 246;
  --bs-tertiary-bg: #F9FAFB;
  --bs-tertiary-bg-rgb: 249, 250, 251;

  /* Form Validation */
  --bs-form-valid-color: #10B981;
  --bs-form-valid-border-color: #10B981;
  --bs-form-invalid-color: #991B1B;
  --bs-form-invalid-border-color: #991B1B;
}

[data-bs-theme=dark] {
  color-scheme: dark;

  /* Dark Mode Colors */
  --bs-body-color: #E5E7EB;
  --bs-body-color-rgb: 229, 231, 235;
  --bs-body-bg: #111827;
  --bs-body-bg-rgb: 17, 24, 39;

  --bs-emphasis-color: #F9FAFB;
  --bs-emphasis-color-rgb: 249, 250, 251;

  /* Primary/Secondary in Dark Mode */
  --bs-primary: #34D399;
  --bs-primary-rgb: 52, 211, 153;
  --bs-secondary: #FDE047;
  --bs-secondary-rgb: 253, 224, 71;

  /* Text Emphasis - Dark Mode */
  --bs-primary-text-emphasis: #6EE7B7;
  --bs-secondary-text-emphasis: #FEF08A;
  --bs-success-text-emphasis: #6EE7B7;
  --bs-danger-text-emphasis: #FCA5A5;
  --bs-warning-text-emphasis: #FEF08A;
  --bs-light-text-emphasis: #F9FAFB;
  --bs-dark-text-emphasis: #E5E7EB;

  /* Background Subtle - Dark Mode */
  --bs-primary-bg-subtle: #064E3B;
  --bs-secondary-bg-subtle: #713F12;
  --bs-success-bg-subtle: #064E3B;
  --bs-danger-bg-subtle: #450A0A;
  --bs-warning-bg-subtle: #713F12;
  --bs-light-bg-subtle: #374151;
  --bs-dark-bg-subtle: #1F2937;

  /* Border Subtle - Dark Mode */
  --bs-primary-border-subtle: #047857;
  --bs-secondary-border-subtle: #CA8A04;
  --bs-success-border-subtle: #047857;
  --bs-danger-border-subtle: #7F1D1D;
  --bs-warning-border-subtle: #CA8A04;
  --bs-light-border-subtle: #4B5563;
  --bs-dark-border-subtle: #374151;

  /* Secondary/Tertiary Backgrounds - Dark Mode */
  --bs-secondary-bg: #1F2937;
  --bs-secondary-bg-rgb: 31, 41, 55;
  --bs-tertiary-bg: #374151;
  --bs-tertiary-bg-rgb: 55, 65, 81;

  /* Borders - Dark Mode */
  --bs-border-color: #374151;
  --bs-border-color-translucent: rgba(249, 250, 251, 0.15);

  /* Links - Dark Mode */
  --bs-link-color: #34D399;
  --bs-link-hover-color: #6EE7B7;
  --bs-link-color-rgb: 52, 211, 153;
  --bs-link-hover-color-rgb: 110, 231, 183;

  /* Form Validation - Dark Mode */
  --bs-form-valid-color: #6EE7B7;
  --bs-form-valid-border-color: #6EE7B7;
  --bs-form-invalid-color: #FCA5A5;
  --bs-form-invalid-border-color: #FCA5A5;
}

/* ===================================
   Component Overrides
   =================================== */

/* Buttons - Solid */
.btn-primary {
  --bs-btn-bg: #059669;
  --bs-btn-border-color: #059669;
  --bs-btn-hover-bg: #047857;
  --bs-btn-hover-border-color: #047857;
  --bs-btn-active-bg: #047857;
  --bs-btn-active-border-color: #047857;
  --bs-btn-disabled-bg: #059669;
  --bs-btn-disabled-border-color: #059669;
}

.btn-secondary {
  --bs-btn-color: #111827;
  --bs-btn-bg: #FBBF24;
  --bs-btn-border-color: #FBBF24;
  --bs-btn-hover-color: #111827;
  --bs-btn-hover-bg: #F59E0B;
  --bs-btn-hover-border-color: #F59E0B;
  --bs-btn-active-bg: #F59E0B;
  --bs-btn-active-border-color: #F59E0B;
}

.btn-success {
  --bs-btn-bg: #10B981;
  --bs-btn-border-color: #10B981;
  --bs-btn-hover-bg: #059669;
  --bs-btn-hover-border-color: #059669;
  --bs-btn-active-bg: #059669;
  --bs-btn-active-border-color: #059669;
}

.btn-warning {
  --bs-btn-color: #111827;
  --bs-btn-bg: #FDE047;
  --bs-btn-border-color: #FDE047;
  --bs-btn-hover-color: #111827;
  --bs-btn-hover-bg: #FBBF24;
  --bs-btn-hover-border-color: #FBBF24;
  --bs-btn-active-bg: #FBBF24;
  --bs-btn-active-border-color: #FBBF24;
}

.btn-danger {
  --bs-btn-bg: #991B1B;
  --bs-btn-border-color: #991B1B;
  --bs-btn-hover-bg: #7F1D1D;
  --bs-btn-hover-border-color: #7F1D1D;
  --bs-btn-active-bg: #7F1D1D;
  --bs-btn-active-border-color: #7F1D1D;
}

.btn-light {
  --bs-btn-color: #111827;
  --bs-btn-bg: #F9FAFB;
  --bs-btn-border-color: #F9FAFB;
  --bs-btn-hover-bg: #E5E7EB;
  --bs-btn-hover-border-color: #E5E7EB;
  --bs-btn-active-bg: #E5E7EB;
  --bs-btn-active-border-color: #E5E7EB;
}

.btn-dark {
  --bs-btn-bg: #1F2937;
  --bs-btn-border-color: #1F2937;
  --bs-btn-hover-bg: #111827;
  --bs-btn-hover-border-color: #111827;
  --bs-btn-active-bg: #111827;
  --bs-btn-active-border-color: #111827;
}

/* Buttons - Outline */
.btn-outline-primary {
  --bs-btn-color: #059669;
  --bs-btn-border-color: #059669;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #059669;
  --bs-btn-hover-border-color: #059669;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #059669;
  --bs-btn-active-border-color: #059669;
  --bs-btn-disabled-color: #059669;
  --bs-btn-disabled-border-color: #059669;
}

.btn-outline-secondary {
  --bs-btn-color: #FBBF24;
  --bs-btn-border-color: #FBBF24;
  --bs-btn-hover-color: #111827;
  --bs-btn-hover-bg: #FBBF24;
  --bs-btn-hover-border-color: #FBBF24;
  --bs-btn-active-color: #111827;
  --bs-btn-active-bg: #FBBF24;
  --bs-btn-active-border-color: #FBBF24;
  --bs-btn-disabled-color: #FBBF24;
  --bs-btn-disabled-border-color: #FBBF24;
}

.btn-outline-success {
  --bs-btn-color: #10B981;
  --bs-btn-border-color: #10B981;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #10B981;
  --bs-btn-hover-border-color: #10B981;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #10B981;
  --bs-btn-active-border-color: #10B981;
  --bs-btn-disabled-color: #10B981;
  --bs-btn-disabled-border-color: #10B981;
}

.btn-outline-warning {
  --bs-btn-color: #CA8A04;
  --bs-btn-border-color: #FDE047;
  --bs-btn-hover-color: #111827;
  --bs-btn-hover-bg: #FDE047;
  --bs-btn-hover-border-color: #FDE047;
  --bs-btn-active-color: #111827;
  --bs-btn-active-bg: #FDE047;
  --bs-btn-active-border-color: #FDE047;
  --bs-btn-disabled-color: #FDE047;
  --bs-btn-disabled-border-color: #FDE047;
}

.btn-outline-danger {
  --bs-btn-color: #991B1B;
  --bs-btn-border-color: #991B1B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #991B1B;
  --bs-btn-hover-border-color: #991B1B;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #991B1B;
  --bs-btn-active-border-color: #991B1B;
  --bs-btn-disabled-color: #991B1B;
  --bs-btn-disabled-border-color: #991B1B;
}

.btn-outline-light {
  --bs-btn-color: #4B5563;
  --bs-btn-border-color: #E5E7EB;
  --bs-btn-hover-color: #111827;
  --bs-btn-hover-bg: #F9FAFB;
  --bs-btn-hover-border-color: #E5E7EB;
  --bs-btn-active-color: #111827;
  --bs-btn-active-bg: #F9FAFB;
  --bs-btn-active-border-color: #E5E7EB;
  --bs-btn-disabled-color: #E5E7EB;
  --bs-btn-disabled-border-color: #E5E7EB;
}

.btn-outline-dark {
  --bs-btn-color: #1F2937;
  --bs-btn-border-color: #1F2937;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1F2937;
  --bs-btn-hover-border-color: #1F2937;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1F2937;
  --bs-btn-active-border-color: #1F2937;
  --bs-btn-disabled-color: #1F2937;
  --bs-btn-disabled-border-color: #1F2937;
}

/* Alerts */
.alert-primary {
  --bs-alert-bg: #D1FAE5;
  --bs-alert-color: #047857;
  --bs-alert-border-color: #6EE7B7;
}

.alert-secondary {
  --bs-alert-bg: #FEF3C7;
  --bs-alert-color: #CA8A04;
  --bs-alert-border-color: #FCD34D;
}

.alert-danger {
  --bs-alert-bg: #FEE2E2;
  --bs-alert-color: #7F1D1D;
  --bs-alert-border-color: #FECACA;
}

/* Badges */
.badge.bg-primary {
  background-color: #059669 !important;
}

.badge.bg-secondary {
  background-color: #FBBF24 !important;
  color: #111827 !important;
}

.badge.bg-danger {
  background-color: #991B1B !important;
}

/* Navigation */
.navbar-light {
  --bs-navbar-color: #4B5563;
  --bs-navbar-hover-color: #059669;
  --bs-navbar-active-color: #059669;
  --bs-navbar-brand-color: #111827;
  --bs-navbar-brand-hover-color: #059669;
}

/* Forms */
.form-control:focus,
.form-select:focus {
  border-color: #34D399;
  box-shadow: 0 0 0 0.25rem rgba(5, 150, 105, 0.25);
}

.form-check-input:checked {
  background-color: #059669;
  border-color: #059669;
}

/* Tables */
.table-primary {
  --bs-table-bg: #D1FAE5;
  --bs-table-color: #047857;
  --bs-table-border-color: #6EE7B7;
}

.table-secondary {
  --bs-table-bg: #FEF3C7;
  --bs-table-color: #CA8A04;
  --bs-table-border-color: #FCD34D;
}

/* Cards */
.card {
  --bs-card-border-color: #E5E7EB;
  --bs-card-cap-bg: #F9FAFB;
}

/* Progress */
.progress {
  --bs-progress-bar-bg: #059669;
}

/* List Groups */
.list-group-item-primary {
  --bs-list-group-color: #047857;
  --bs-list-group-bg: #D1FAE5;
  --bs-list-group-border-color: #6EE7B7;
}

.list-group-item-secondary {
  --bs-list-group-color: #CA8A04;
  --bs-list-group-bg: #FEF3C7;
  --bs-list-group-border-color: #FCD34D;
}

/* Pagination */
.pagination {
  --bs-pagination-active-bg: #059669;
  --bs-pagination-active-border-color: #059669;
}

/* ===================================
   Utility Classes
   =================================== */

/* Text Colors */
.text-primary {
  color: #059669 !important;
}

.text-secondary {
  color: #FBBF24 !important;
}

.text-crimson {
  color: #991B1B !important;
}

.text-graphite {
  color: #1F2937 !important;
}

/* Background Colors */
.bg-primary {
  background-color: #059669 !important;
}

.bg-secondary {
  background-color: #FBBF24 !important;
}

.bg-crimson {
  background-color: #991B1B !important;
}

.bg-sand {
  background-color: #F9FAFB !important;
}

.bg-graphite {
  background-color: #1F2937 !important;
  color: #F9FAFB !important;
}

/* Border Colors */
.border-primary {
  border-color: #059669 !important;
}

.border-secondary {
  border-color: #FBBF24 !important;
}

.border-crimson {
  border-color: #991B1B !important;
}






footer {
  background: #f8f9fa;
  padding: 1rem 0;
  border-top: 1px solid #dee2e6;
}

/* ── FOOTER SHELL ── */
.site-footer {
  background-color: #001E15;
  color: var(--bs-light);
  font-family: 'DM Sans', sans-serif;
}

/* top accent stripe: primary green → green-dark → secondary yellow */
.footer-stripe {
  height: 4px;
  background: linear-gradient(
          90deg,
          var(--bs-primary)     0%,
          var(--bs-green-dark)  55%,
          var(--bs-secondary)   100%
  );
}

.footer-main {
  padding: 64px 0 48px;
}

/* ── Column headings ── */
.footer-heading {
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bs-secondary);          /* sunshine yellow */
  margin-bottom: 1.4rem;
}

/* ── Social icons ── */
.social-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.social-list li a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--bs-gray-cool);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s, gap 0.2s;
}

.social-list li a:hover {
  color: var(--bs-primary);
  gap: 0.9rem;
}

.social-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.35);
  background: rgba(var(--bs-primary-rgb), 0.1);
  font-size: 1rem;
  flex-shrink: 0;
  color: var(--bs-primary);
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.social-list li a:hover .social-icon-wrap {
  background: rgba(var(--bs-primary-rgb), 0.25);
  border-color: var(--bs-primary);
  color: var(--bs-secondary);          /* yellow icon on hover */
}

/* ── Useful links ── */
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.footer-links li a {
  color: var(--bs-gray-cool);
  text-decoration: none;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  transition: color 0.2s;
}

.footer-links li a::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 1px;
  background: var(--bs-primary);
  transition: width 0.25s, margin-right 0.25s;
  margin-right: 0;
  vertical-align: middle;
}

.footer-links li a:hover {
  color: var(--bs-primary);
}

.footer-links li a:hover::before {
  width: 12px;
  margin-right: 6px;
}

/* ── Contact block ── */
.contact-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.contact-item i {
  color: var(--bs-primary);
  font-size: 1rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.contact-item p {
  margin: 0;
  color: var(--bs-gray-cool);
  font-size: 0.875rem;
  line-height: 1.55;
}

.contact-item a {
  color: var(--bs-gray-cool);
  text-decoration: none;
  transition: color 0.2s;
}

.contact-item a:hover {
  color: var(--bs-primary);
}

/* ── Logo column ── */
.footer-logo-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.footer-logo-img {
  width: 100%;
  height: auto;
}

/* text fallback if /hero-logo.jpg is missing */
.footer-logo-text {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--bs-primary);
  letter-spacing: -0.02em;
  line-height: 1;
}

.footer-logo-sub {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bs-secondary);
}

.footer-tagline {
  font-size: 0.82rem;
  color: var(--bs-gray-cool);
  opacity: 0.8;
  line-height: 1.55;
}

/* CTA — mirrors your .btn-primary overrides */
.footer-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background-color: var(--bs-primary);          /* #059669 */
  color: #fff;
  border: none;
  padding: 0.55rem 1.1rem;
  border-radius: 50px;
  font-family: 'Syne', sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background-color 0.2s, transform 0.15s;
}

.footer-cta-btn:hover {
  background-color: var(--bs-green-dark);       /* #047857 */
  color: #fff;
  transform: translateY(-1px);
}

/* pill badge — mirrors your .badge.bg-secondary override */
.footer-badge {
  display: inline-block;
  background-color: var(--bs-secondary);        /* #FBBF24 */
  color: var(--bs-black);                        /* #111827 */
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  padding: 2px 8px;
  border-radius: 50px;
}

/* ── Divider ── */
.footer-divider {
  border-color: rgba(229, 231, 235, 0.12);
  margin: 0;
}

/* ── Bottom bar ── */
.footer-bottom {
  padding: 20px 0;
}

.footer-bottom p,
.footer-bottom a {
  font-size: 0.78rem;
  color: rgba(229, 231, 235, 0.5);
  margin: 0;
  text-decoration: none;
  transition: color 0.2s;
}

.footer-bottom a:hover {
  color: var(--bs-secondary);                    /* yellow on hover */
}

.footer-bottom-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* ── Column vertical dividers (desktop only) ── */
@media (min-width: 992px) {
  .footer-col-border {
    border-left: 1px solid rgba(229, 231, 235, 0.1);
    padding-left: 2rem !important;
  }
}

