/* ============================================
   FOOTER — Mobile-first
   ============================================ */

.footer {
  background: var(--nav-bg);
  border-top: 1px solid var(--border);
  padding: 48px 0 24px;
}

/* Flexbox 3-column layout */
.footer-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  margin-bottom: 0;
}
.footer-col {
  flex: 1 1 200px;
  min-width: 180px;
}

.footer-heading {
  font-family: var(--font-display);
  font-size: .9rem;
  letter-spacing: 3px;
  color: var(--blue);
  margin-bottom: 16px;
  text-transform: uppercase;
}
.footer-text { color: var(--muted); font-size: .84rem; line-height: 1.85; }
.footer-text a { color: var(--muted); text-decoration: none; transition: color .2s; }
.footer-text a:hover { color: var(--blue); }
.footer-icon { color: var(--blue); margin-right: 6px; }

/* Hours table */
.hours-table { width: 100%; border-collapse: collapse; }
.hours-table td { font-size: .84rem; padding: 4px 0; vertical-align: top; }
.hours-table td:first-child { color: var(--muted); width: 95px; }
.hours-table td:last-child  { color: #fff; font-weight: 500; text-align: right; }
.hours-table .closed        { color: #f87171 !important; }

/* Social */
.social-links { display: flex; gap: 14px; margin-top: 16px; }
.social-links a { color: #3a4a60; font-size: 1.25rem; transition: color .2s; text-decoration: none; }
.social-links a:hover { color: var(--blue); }

/* Footer bottom bar */
.footer-bottom {
  border-top: 1px solid var(--border);
  margin-top: 36px; padding-top: 20px;
  display: flex; flex-wrap: wrap;
  justify-content: space-between; align-items: center; gap: 12px;
}
.footer-copy { color: #2e3e52; font-size: .7rem; }
.footer-nav  { display: flex; flex-wrap: wrap; gap: 4px; }
.footer-nav a {
  color: #3a4a5c; font-size: .68rem; text-decoration: none;
  text-transform: uppercase; letter-spacing: 1px; padding: 0 8px;
  border-right: 1px solid var(--border); line-height: 1; transition: color .2s;
}
.footer-nav a:last-child { border-right: none; }
.footer-nav a:hover { color: var(--blue); }

/* Mobile sticky bottom bar — call/text/apply buttons */
.mobile-bottom-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--nav-bg);
  border-top: 1px solid var(--border);
  z-index: 290;
  padding: 10px 16px;
  gap: 10px;
}
.mobile-bottom-bar a {
  flex: 1;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 8px;
  border-radius: var(--radius-md);
  font-size: .78rem; font-weight: 700; text-decoration: none;
  text-align: center;
}
.mbb-call  { background: var(--blue);  color: #fff; }
.mbb-text  { background: #1e2433; color: #fff; border: 1px solid var(--border); }
.mbb-apply { background: #276749; color: #fff; }

/* Float btns — hide on mobile (replaced by bottom bar) */
.float-btns {
  position: fixed; bottom: 22px; right: 22px;
  display: flex; gap: 10px; z-index: 999;
}
.float-btn {
  display: flex; align-items: center; gap: 7px;
  padding: 10px 18px; border-radius: 30px;
  font-size: .8rem; font-weight: 600;
  cursor: pointer; border: none;
  transition: opacity .2s, transform .2s;
}
.float-btn:hover { opacity: .88; transform: translateY(-2px); }
.float-btn-text  { background: #1e2433; color: #fff; border: 1px solid var(--border); }
.float-btn-chat  { background: var(--blue); color: #fff; }

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
  .footer { padding: 36px 0 90px; } /* extra bottom padding for sticky bar */
  .footer-cols { gap: 28px; }
  .footer-col  { flex: 1 1 100%; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
  .footer-nav  { gap: 2px; }
  .float-btns  { display: none; } /* replaced by mobile-bottom-bar */
  .mobile-bottom-bar { display: flex; }
}
