/* Rodapé do protótipo: mesmos tokens e tipografia, com fechamento em grafite. */
.site-footer {
  --footer-muted: #b8c1d0;
  display: block;
  padding: 64px var(--gutter) 0;
  background: #151a22;
  color: #f5f7fa;
  border-top: 4px solid var(--royal);
  font-size: 14px;
}
.site-footer p { color: var(--footer-muted); }
.site-footer a:focus-visible { outline-color: var(--lime); }
.site-footer a:hover { color: var(--lime); }
.footer-main {
  display: grid;
  grid-template-columns: 1.25fr .9fr 1.05fr 1.15fr;
  gap: clamp(24px, 3.3vw, 56px);
  padding-bottom: 48px;
}
.footer-main > * { min-width: 0; }
.site-footer .brand { width: fit-content; margin-bottom: 22px; }
.site-footer .brand img { width: 106px; height: 70px; }
.site-footer .brand span { border-color: #465063; color: #f5f7fa; }
.footer-about > p { max-width: 270px; line-height: 1.8; }
.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-top: 18px;
  font-size: 13px;
}
.footer-social svg { flex: 0 0 auto; color: var(--lime); }
.footer-social > span:last-child { margin-left: 4px; color: var(--lime); }
.site-footer .footer-title {
  margin: 8px 0 22px;
  color: #f5f7fa;
  font: 700 12px/1.6 var(--body);
  letter-spacing: .12em;
}
.footer-nav ul { margin: 0; padding: 0; list-style: none; }
.footer-nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 44px;
  color: var(--footer-muted);
}
.footer-label { display: block; color: var(--footer-muted); font-size: 12px; }
.footer-phone { display: block; width: fit-content; padding: 4px 0 8px; }
.footer-phone > span:last-child { display: block; margin-top: 3px; font-size: clamp(17px, 1.45vw, 22px); font-weight: 600; white-space: nowrap; }
.footer-phone > span:last-child > span { color: var(--lime); margin-left: 5px; }
.footer-hours { margin-top: 17px; }
.footer-hours p { margin-top: 5px; line-height: 1.8; }
.footer-hours strong { color: #f5f7fa; font-weight: 600; }
.footer-email { display: block; width: fit-content; max-width: 100%; min-height: 44px; margin-top: 17px; font-size: 13px; overflow-wrap: anywhere; }
.footer-email > span:last-child { display: block; margin-top: 5px; }
.site-footer .footer-delivery-highlight { color: #f5f7fa; font: 400 clamp(27px, 2.3vw, 36px)/1.15 var(--display); margin-bottom: 16px; }
.footer-delivery > p:not(.footer-delivery-highlight) { font-size: 13px; line-height: 1.85; }
.footer-delivery strong { color: #f5f7fa; font-weight: 500; }
.footer-delivery-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 10px; font-size: 13px; }
.footer-delivery-link span { color: var(--lime); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px 30px; border-top: 1px solid #38414f; padding: 19px 0; }
.footer-bottom p { font-size: 12px; }
.footer-business { display: grid; gap: 7px; }
.site-footer .footer-company { color: #f5f7fa; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.footer-company span { color: var(--footer-muted); }
.footer-top { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 12px; }
.footer-top span { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #536075; color: var(--lime); font-size: 18px; }
/* Informações e links do rodapé permanecem visíveis, inclusive ao navegar pelo teclado. */
.js-reveal .site-footer > [data-reveal] { opacity: 1; translate: none; }
@media (max-width: 1100px) {
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 48px; }
}
@media (max-width: 600px) {
  .site-footer { padding-top: 40px; }
  .footer-main { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 34px; }
  .footer-about > p { max-width: 340px; }
  .site-footer .footer-title { margin-top: 0; margin-bottom: 14px; }
  .footer-main > :not(:first-child) { padding-top: 24px; border-top: 1px solid #38414f; }
  .footer-phone > span:last-child { font-size: 23px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}
