/* Footer and latest news marquee styles */
.footer-latest {
  background: #fff;
  border-top: 1px solid #f0eaea;
  padding: 18px 0;
}
.latest-label {
  background: #ef6b3a;
  color: #fff;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 2px 0 0 2px;
}
.latest-marquee {
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
}
.latest-marquee .marquee-track {
  display: inline-block;
  padding-left: 100%;
  animation: marquee 18s linear infinite;
}
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

/* Responsive tweaks */
@media (max-width: 576px) {
  .latest-label { padding: 8px 12px; }
  .latest-marquee .marquee-track { animation-duration: 22s; }
}

/* Footer layout */
.site-footer { background:#fbf6f6; padding:60px 0 30px; border-top:1px solid #f0e1e1; }
.site-footer h6 { font-weight:700; color:#2f2b49; }
.site-footer .small { color: #6c6a6a; }
.site-footer .social a { color: #6c6a6a; margin-right:8px; }

/* Footer promotional banner */
.footer-banner { background: #fff9f8; border: 1px solid #f6eae8; }
.footer-banner .footer-banner-logo { height: 56px; width: auto; border-radius:6px; }
.footer-banner-text { color: #bd4e0e; font-size: 1.1rem; font-weight: 500; }
.btn-contact { background: #ef6b3a; color: #fff; border-radius: 6px; padding: 10px 18px; border: none; }

@media (max-width: 767px) {
  .footer-banner .d-flex { flex-direction: column; align-items: flex-start; gap: 10px; }
  .footer-banner .btn-contact { align-self: stretch; text-align: center; }
}

/* Center footer content and make footer sticky to bottom when page content is short */
html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* ensure body fills viewport */
}

/* Make main content area grow so footer is pushed to bottom when content is short.
   Targets the .container.mt-4 used in base.html; adjust selector if you wrap content differently. */
.container.mt-4 {
  flex: 1 0 auto;
}

/* Footer centering and layout adjustments */
footer.container-fluid {
  display: flex;
  align-items: center;
  justify-content: center; /* center horizontally */
  text-align: center;
  padding-top: 40px;
  padding-bottom: 30px;
}

footer.container-fluid > .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  footer.container-fluid { padding-top: 30px; padding-bottom: 20px; }
  footer.container-fluid > .container { padding-left: 12px; padding-right: 12px; }
}
