/* Footer Styles */
.site-footer {
  background-color: #313131;
  color: #ffffff;
  padding: 60px 0 30px;
  font-family: 'Libre Franklin', sans-serif;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.footer-main {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
  gap: 40px;
}

.footer-logo {
  flex: 1 1 300px;
}

.footer-logo-img {
  width: 180px;
  margin-bottom: 20px;
}

.footer-about {
  color: #b3b3b3;
  line-height: 1.6;
  max-width: 280px;
  font-size: 14px;
}

.footer-section-title {
  font-size: 12px;
  text-transform: uppercase;
  color: rgb(221, 221, 221);
  display: block;
  margin-bottom: 10px;
  margin-top: 20px;
  font-weight: 600;
}

.footer-sitemap {
  flex: 3 1 700px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.sitemap-column {
  flex: 1 1 180px;
}

.sitemap-title {
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.sitemap-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sitemap-list li {
  margin-bottom: 12px;
}

.sitemap-list a {
  color: #b3b3b3;
  text-decoration: none;
  font-size: 13px;
  transition: color 0.3s ease;
}

.sitemap-list a:hover {
  color: #802f2f;
}

.sitemap-list .see-all {
  color: #2ba55e;
  text-decoration: underline;
}

.footer-bottom {
  border-top: 1px solid #333;
  padding-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.footer-contact {
  display: flex;
  align-items: center;
  gap: 30px;
}

.footer-btn {
  background-color: #ab2510;
  color: white;
  padding: 12px 25px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.footer-btn:hover {
  background-color: #941313;
}

.contact-info {
  display: flex;
  gap: 20px;
}

.contact-info a{
  text-decoration: none;
  color: #b3b3b3;
}

.contact-info p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
}

.icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.footer-legal {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.copyright {
  color: #b3b3b3;
  font-size: 13px;
  margin: 0 0 10px;
}

.legal-links {
  display: flex;
  gap: 15px;
}

.legal-links a {
  color: #b3b3b3;
  text-decoration: none;
  font-size: 13px;
  transition: color 0.3s ease;
}

.legal-links a:hover {
  color: #0066cc;
}

.contact-info {
  display: flex;
  gap: 2rem; /* Adjust spacing between columns */
}

.office-contacts {
  flex: 1;
}

.office-contacts h4 {
  text-transform: uppercase;
  font-size: 11px;
  margin-bottom: 0.5rem;
  color: gray; /* Adjust color to match your design */
}

.contact-info {
  display: grid;
  grid-template-columns: 1fr 1fr; /* Two columns on desktop */
  gap: 2rem;
}

/* On mobile, switch to a single column */
@media (max-width: 768px) {
  .contact-info {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
}

.contact-info p {
  margin: 0.3rem 0;
  white-space: nowrap;
  font-size: 13px;
}

.footer-socials a {
  text-decoration: none;
}

.footer-socials img {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}
.footer-socials img:hover {
  filter: none;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .footer-main {
    flex-direction: column;
  }
  
  .footer-sitemap {
    flex-direction: column;
  }
  
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .footer-contact {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  
  .footer-legal {
    align-items: flex-start;
    margin-top: 20px;
  }
  
  .legal-links {
    flex-wrap: wrap;
  }
}