/* =====================================================================================
   style-rodape.css  |  RODAPÉ ÚNICO DO SITE
   Carrega em TODAS as páginas (incluindo a home), vindo de _includes/footer.html.
   Aqui só o rodapé: marca, contato, redes (.gf-social), cartões de endereço/horário, mapa (.map-load),
   CNPJ. Nada de regra de página (home, serviços, posts) nem de menu. Ícones: 20px dentro de círculo de 40px.
   ===================================================================================== */
/* style-rodape.css: rodapé único do site (home e páginas internas). Carregado por _includes/footer.html.
   Layout: marca e contato à esquerda, redes à direita, cartões de endereço e horário, mapa, CNPJ.
   Todos os ícones: 20px dentro de círculo de 40px, traço fino. Peso de fonte máximo 400. */

/* Rodapé fica no fim da página: o navegador só desenha quando ele chega perto da tela (content-visibility) */
footer { content-visibility: auto; contain-intrinsic-size: auto 640px; display: block; width: 100%; margin: 0; padding: 56px 0 36px; background: #111113; border-top: 1px solid rgba(255,255,255,.08); color: #a1a1a6; font-size: 14px; line-height: 1.5; text-align: left; }
footer a { color: inherit; text-decoration: none; }
footer .footer-inner { width: min(1240px, 100% - 48px); margin: 0 auto; }
footer p { margin: 0; }

/* ícone padrão */
footer .ic { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.08); font-style: normal; }
footer .ic svg { width: 20px; height: 20px; display: block; }

/* topo: marca e contato | redes */
.rp-top { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.08); }
.rp-logo { display: inline-block; font-size: 34px; font-weight: 300; letter-spacing: -.03em; line-height: 1.1; color: #f5f5f7; }
.rp-logo span { color: #2fa08f; }
footer .footer-copy { margin: 8px 0 22px; font-size: 14px; color: #a1a1a6; }
footer .footer-phone { display: flex; flex-wrap: wrap; gap: 10px; }
.rp-wa, .rp-call { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 20px 0 4px; border-radius: 980px; font-size: 15px; color: #fff; transition: background .2s; }
.rp-wa { background: #0f7268; }
.rp-wa:hover { background: #12897b; }
.rp-wa .ic { background: rgba(255,255,255,.16); }
.rp-call { background: rgba(255,255,255,.1); }
.rp-call:hover { background: rgba(255,255,255,.18); }
.gf-social { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
a.gf-ig-link { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 14px 0 6px; border-radius: 980px; background: #1c1c1e; border: 1px solid rgba(255,255,255,.06); color: #e5e5e7; font-size: 14px; white-space: nowrap; transition: background .2s; }
a.gf-ig-link:hover { background: #2c2c2e; color: #fff; }
a.gf-ig-link .ic { background: rgba(255,255,255,.07); }

/* endereço e horário */
.rp-info { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 20px; }
.rp-card { display: flex; align-items: center; gap: 14px; padding: 14px 18px 14px 14px; border-radius: 18px; background: #1c1c1e; border: 1px solid rgba(255,255,255,.06); color: #e5e5e7; font-size: 15px; line-height: 1.35; }
.rp-card small { display: block; margin-bottom: 2px; color: #a1a1a6; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
a.rp-card:hover { background: #232326; }

/* mapa e CNPJ */
.map-load { display: flex; align-items: center; justify-content: center; width: 100%; height: 220px; border-radius: 22px; background: #161618; border: 1px solid rgba(255,255,255,.08); color: #a1a1a6; font-size: 18px; font-weight: 300; transition: background .2s; }
.map-load:hover { background: #1c1c1e; color: #f5f5f7; }
footer iframe.map-frame { display: block; width: 100%; height: 340px; border: 0; border-radius: 22px; background: #161618; }
footer .footer-cnpj { margin-top: 22px; text-align: center; font-size: 12px; color: #6e6e73; }
footer .footer-cnpj a { color: #a1a1a6; text-decoration: underline; text-underline-offset: 2px; }
footer .footer-cnpj a:hover { color: #fff; }

/* celular e tablet */
@media (max-width: 860px) {
  footer { padding: 40px 0 28px; contain-intrinsic-size: auto 935px; }
  .rp-top { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-bottom: 26px; }
  .rp-logo { font-size: 28px; }
  footer .footer-phone { flex-direction: column; }
  .rp-wa, .rp-call { width: 100%; }
  .gf-social { grid-template-columns: 1fr 1fr; }
  a.gf-ig-link { font-size: 13.5px; padding-right: 10px; gap: 8px; }
  .rp-info { grid-template-columns: 1fr; margin: 24px 0 16px; }
  .map-load { height: 180px; }
}
@media (max-width: 380px) {
  .gf-social { grid-template-columns: minmax(0, 1fr); }
  a.gf-ig-link { min-width: 0; }
}
