/* ============================================================
   AC Solução — Rodapé institucional global
   Fundo Azul Profundo #081738 (--blue-900), tokens do tema escuro
   ============================================================ */

ac-footer{display:block}

.site-footer{position:relative; background:var(--blue-900); color:var(--text-secondary); overflow:hidden}
.site-footer::before{content:""; position:absolute; inset:0 0 auto 0; height:1px; background:var(--grad-edge); opacity:.6}
.site-footer__inner{max-width:var(--container-wide); margin-inline:auto;
  padding:clamp(var(--sp-16),9vw,var(--sp-24)) var(--gutter) var(--sp-8)}

.site-footer__grid{display:grid; grid-template-columns:minmax(260px,1.15fr) 2.4fr minmax(220px,.95fr);
  gap:var(--sp-12) clamp(var(--sp-8),4vw,var(--sp-16))}

/* Identidade */
.footer-brand{display:flex; flex-direction:column; gap:var(--sp-4); max-width:36ch}
.footer-brand__logo{width:168px; height:auto; color:var(--white); margin-bottom:var(--sp-2)}
.footer-brand__phrase{font-size:var(--fs-body-lg); font-weight:var(--fw-medium); color:var(--white); line-height:var(--lh-snug)}
.footer-brand__about{font-size:var(--fs-body-sm); line-height:var(--lh-body); color:var(--text-muted)}

.footer-social{display:flex; gap:var(--sp-2); margin-top:var(--sp-2)}
.footer-social__link{display:inline-grid; place-items:center; width:44px; height:44px; border-radius:50%;
  border:var(--bw-hairline) solid var(--border-strong); color:var(--text-secondary);
  transition:border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard)}
.footer-social__link:hover,.footer-social__link:focus-visible{border-color:var(--brand); color:var(--white); background:var(--brand-ghost)}
.footer-social__link .icon{width:19px; height:19px}
.footer-social__link.is-pending{opacity:.6}

/* Colunas */
.footer-cols{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-10) var(--sp-8)}
.footer-col__title{font-size:var(--fs-micro); font-weight:var(--fw-medium); letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase; color:var(--text-muted); margin-bottom:var(--sp-5)}
.footer-col ul,.footer-contact ul{display:flex; flex-direction:column; gap:var(--sp-1)}

.footer-link{display:inline-flex; align-items:center; flex-wrap:wrap; gap:var(--sp-2); min-height:32px; padding:4px 0;
  font-size:var(--fs-body-sm); color:var(--text-secondary); transition:color var(--dur-fast) var(--ease-standard)}
.footer-link:hover,.footer-link:focus-visible{color:var(--white)}
.footer-link:hover .link-label,.footer-link:focus-visible .link-label{background-size:100% 1px}
.footer-link.is-pending{color:var(--text-muted)}
.footer-link .pending-tag{margin-left:0}

/* Contato */
.footer-contact{display:flex; flex-direction:column}
.footer-contact__line{display:flex; align-items:flex-start; gap:var(--sp-3); font-size:var(--fs-body-sm); color:var(--text-secondary); line-height:var(--lh-body)}
.footer-contact__line .icon{width:18px; height:18px; margin-top:3px; color:var(--blue-300)}
.footer-contact address{margin-top:var(--sp-3)}

/* Base legal */
.site-footer__legal{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-3) var(--sp-8);
  margin-top:clamp(var(--sp-12),6vw,var(--sp-20)); padding-top:var(--sp-6); border-top:var(--bw-hairline) solid var(--divider);
  font-size:var(--fs-caption); color:var(--text-muted)}
.site-footer__legal .footer-link{font-size:var(--fs-caption)}

/* Entrada escalonada */
.site-footer [data-reveal]{opacity:0; transform:translateY(16px);
  transition:opacity var(--dur-cinematic) var(--ease-entrance), transform var(--dur-cinematic) var(--ease-entrance);
  transition-delay:var(--d,0ms)}
.site-footer [data-reveal].is-in{opacity:1; transform:none}

@media (max-width:1100px){
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .footer-cols{grid-column:1 / -1; order:3}
}
@media (max-width:680px){
  .site-footer__grid{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr 1fr; order:0}
  .site-footer__legal{flex-direction:column; align-items:flex-start}
}
@media (max-width:420px){
  .footer-cols{grid-template-columns:1fr}
}

/* ============================================================
   Rodapé no azul da marca #1C4FF7 (16/10) — textos e ícones em branco/tons de branco para contraste
   ============================================================ */
.site-footer{background:#1C4FF7; color:rgba(255,255,255,.9)}
.site-footer::before{background:rgba(255,255,255,.28); opacity:1}
.site-footer[data-fx="surface-dark"]{--fx-color:rgba(255,255,255,.12)}
.footer-brand__logo{color:#FFFFFF}
.footer-brand__phrase{color:#FFFFFF}
.footer-brand__about{color:rgba(255,255,255,.84)}
.footer-col__title{color:rgba(255,255,255,.74)}
.footer-link{color:rgba(255,255,255,.92)}
.footer-link:hover,.footer-link:focus-visible{color:#FFFFFF}
.footer-link.is-pending{color:rgba(255,255,255,.7)}
.footer-contact__line{color:rgba(255,255,255,.92)}
.footer-contact__line .icon{color:rgba(255,255,255,.85)}
.footer-social__link{border-color:rgba(255,255,255,.45); color:#FFFFFF}
.footer-social__link:hover,.footer-social__link:focus-visible{border-color:#FFFFFF; color:#FFFFFF; background:rgba(255,255,255,.14)}
.site-footer__legal{border-top-color:rgba(255,255,255,.24); color:rgba(255,255,255,.8)}
.site-footer :focus-visible{outline-color:#FFFFFF}

/* ============================================================
   13/11 — Textos do rodapé sem quebra em qualquer computador:
   "Pessoa Física — e-CPF", "Pessoa Jurídica — e-CNPJ" e cada linha do endereço ficam sempre em uma linha só.
   As colunas passam a respeitar a largura desses textos (antes encolhiam conforme a tela/zoom e quebravam).
   No celular (até 680px) continua como antes.
   ============================================================ */
.footer-contact__addr{display:flex; flex-direction:column}
.footer-contact__addr-line{display:block}
@media (min-width:680.02px){
  .footer-cols{grid-template-columns:minmax(max-content,1fr) minmax(max-content,1fr) minmax(175px,1fr)}
  .footer-cols > .footer-col:not(:last-child) .footer-link{flex-wrap:nowrap; white-space:nowrap}
  .footer-contact__addr-line{white-space:nowrap}
}
/* telas de 681 a 1279px: as 5 colunas não cabem lado a lado sem quebrar — arranjo em 2 linhas (o de 1100px, estendido).
   Faixas contínuas (sem buraco) para larguras fracionadas, comuns com zoom do Windows em 125%/150%. */
@media (min-width:680.02px) and (max-width:1279.98px){
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .footer-cols{grid-column:1 / -1; order:3}
}
@media (min-width:1280px){
  .site-footer__grid{grid-template-columns:minmax(240px,1.15fr) 2.4fr minmax(max-content,.95fr)}
}
