/* ========== FOOTER STYLES ========== */
:root{
  --footer-bg:#2b2b2b;
  --footer-text:#d0d0d0;
  --brand-green:#008F4A;
  --brand-green-hover:#006b37;
}

/* Entire footer background */
.footer{
  background:var(--footer-bg);
  color:var(--footer-text);
  font-size:0.95rem;
  line-height:1.55;
}

/* Inner flexible container */
.footer-content{
  max-width:1200px;
  margin:0 auto;
  padding:2.5rem 1rem;
  display:flex;
  flex-wrap:wrap;
  gap:2rem;
}

/* Each column */
.footer-section{
  flex:1 1 150px;
}

.footer-section h3{
  margin-bottom:0.75rem;
  font-size:1.05rem;
  color:#ffffff;
}

.footer-section p,
.footer-section li,
.footer-section a{
  color:var(--footer-text);
}

.footer-section ul{
  list-style:none;
  margin:0; padding:0;
}

.footer-section li{ margin-bottom:0.4rem; }

.footer-section a:hover{
  color:var(--brand-green);
  text-decoration:none;
}

/* Bottom strip */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  text-align:center;
  padding:1rem 0;
  font-size:0.85rem;
}

.footer-bottom a{ color:var(--footer-text); }
.footer-bottom a:hover{ color:var(--brand-green); }

/* Responsive */
@media(max-width:768px){
  .footer-content{
    flex-direction:column;
    text-align:center;
  }
  .footer-section{ margin-bottom:1.5rem; }
}
