/* Footer compartilhado — 110px fixo, conteúdo centrado, colado no fim (sem gap). */
:root{--site-footer-h:110px}

html{height:100%}
body.has-site-footer{
  min-height:100vh;
  min-height:100dvh;
  margin:0;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}

/* Anula padding legado de `footer{...}` no landing-design */
footer.site-footer,
.site-footer{
  position:relative;
  z-index:5;
  width:100%;
  height:var(--site-footer-h)!important;
  min-height:var(--site-footer-h)!important;
  max-height:var(--site-footer-h)!important;
  margin:0!important;
  margin-top:auto!important;
  padding:0!important;
  flex:0 0 var(--site-footer-h)!important;
  box-sizing:border-box!important;
  border-top:1px solid rgba(255,255,255,.075);
  background:radial-gradient(circle at 15% 0,rgba(244,122,32,.07),transparent 28%),linear-gradient(180deg,#0c0d0f,#08090b);
  color:#918b86;
  font-family:'Inter','Outfit',sans-serif;
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;top:-1px;left:50%;
  width:min(620px,72vw);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,140,54,.5),transparent);
}
.site-footer__inner{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto minmax(200px,1fr);
  align-items:center;
  justify-items:stretch;
  gap:18px;
  width:100%;
  max-width:1240px;
  height:100%;
  min-height:var(--site-footer-h);
  margin:0 auto;
  padding:0 28px!important;
}
.site-footer__brand{
  display:inline-flex;
  align-items:center;
  align-self:center;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.site-footer__brand img{
  width:auto;
  height:52px;
  flex:0 0 auto;
  display:block;
  filter:drop-shadow(0 3px 9px rgba(255,92,20,.25));
}
.site-footer__links{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  flex-wrap:wrap;
  gap:4px;
}
.site-footer__links a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 9px;
  border-radius:8px;
  color:#aaa39d;
  font:650 10px/1 'Inter',sans-serif;
  text-decoration:none;
  transition:color .16s ease,background .16s ease;
}
.site-footer__links a:hover{color:#fff;background:rgba(244,122,32,.075)}
.site-footer__links i{color:#ff9943}
.site-footer__meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-direction:row;
  gap:5px;
  text-align:right;
}
.site-footer__meta small{color:#6e6965;font:500 9px/1.3 'Inter',sans-serif}

/* Content layer (home / feature): footer dentro → flex + sem padding-bottom */
body.index-landing .site-content-layer,
body.has-site-footer .site-content-layer{
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100dvh;
  padding-bottom:0!important;
  box-sizing:border-box;
}
body.index-landing .site-content-layer > .site-footer,
body.has-site-footer .site-content-layer > .site-footer{
  margin-top:auto!important;
  flex:0 0 var(--site-footer-h)!important;
}

body.has-site-footer.site-feature-page .site-content-layer,
body.has-site-footer.legal-body .site-content-layer{
  flex:1 1 auto;
  width:100%;
}
body.has-site-footer.site-feature-page .sf-wrap,
body.has-site-footer.legal-body .auth-page{width:100%}

body.has-site-footer.auth-body{
  display:flex!important;
  flex-direction:column!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow-x:hidden;
  overflow-y:auto;
}
body.has-site-footer.auth-body .auth-page{
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%;
  padding-bottom:24px!important;
  box-sizing:border-box;
}
body.has-site-footer.auth-body > .site-footer{
  margin-top:auto!important;
}

body.has-site-footer.sl-body{
  display:flex!important;
  flex-direction:column!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow-y:auto!important;
}
body.has-site-footer.sl-body .sl-page{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:visible!important;
}
body.has-site-footer.sl-body > .site-footer{
  margin-top:auto!important;
}

@media(max-width:900px){
  .site-footer__inner{grid-template-columns:auto 1fr;gap:12px;padding:0 18px!important}
  .site-footer__links{justify-content:flex-end;flex-wrap:wrap}
  .site-footer__meta{display:none}
}

@media(max-width:600px){
  .site-footer__inner{
    grid-template-columns:1fr;
    justify-items:center;
    align-content:center;
    gap:10px;
    padding:14px 14px!important;
  }
  .site-footer__brand{justify-content:center}
  .site-footer__brand img{height:36px}
  .site-footer__links{justify-content:center;width:100%}
  .site-footer__links a{padding:6px 7px;font-size:9px}
  .site-footer__meta{display:none}
}

/* Approved home artwork and links shared by every PHP route with a footer. */
body.has-site-footer footer.site-footer--shared{
  position:relative!important;display:block!important;width:100%!important;height:auto!important;
  min-height:0!important;max-height:none!important;aspect-ratio:2172/255;flex:0 0 auto!important;
  margin:0!important;margin-top:auto!important;padding:0!important;overflow:hidden!important;
  isolation:isolate;border:0!important;background:#061c49!important;color:#fff2bf;box-sizing:border-box!important;
}
body.has-site-footer .site-footer--shared>.footer-frame-layer{
  position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:2172/233;z-index:1;overflow:hidden;
}
body.has-site-footer .site-footer--shared>.footer-frame-layer img{
  position:absolute;top:-105.150215%;left:0;display:block;width:100%;max-width:none;height:auto;pointer-events:none;
}
body.has-site-footer .site-footer--shared>.footer-logo-layer{
  position:absolute;top:33%;left:5%;display:block;width:19%;height:auto;z-index:3;
}
/* Match the home wordmark canvas offsets on desktop and mobile. */
body.has-site-footer .site-footer--shared>.footer-logo-layer{aspect-ratio:2034/543;overflow:visible;isolation:isolate}
body.has-site-footer .site-footer--shared>.footer-logo-layer img{position:absolute;top:-30.05276%;left:-4.17353%;display:block;width:108.89621%;height:auto;max-width:none;pointer-events:none}
body.has-site-footer .site-footer--shared .footer-nav{
  position:absolute;top:51%;left:28%;display:flex;align-items:center;justify-content:space-between;
  width:47%;gap:1%;margin:0;padding:0;transform:translateY(-50%);z-index:3;
}
body.has-site-footer .site-footer--shared .footer-nav a{
  display:inline-flex;align-items:center;gap:0;padding:0;border-radius:0;background:none;color:#fff2bf;
  font:700 clamp(10px,1.2vw,24px)/1 'Barlow Condensed','Arial Narrow',sans-serif;
  white-space:nowrap;text-decoration:none;transition:color .16s ease;
}
body.has-site-footer .site-footer--shared .footer-nav a:hover{color:#ffe88d;background:none}
body.has-site-footer .site-footer--shared .footer-nav a:not(:last-child)::after{content:'✦';color:#ffd553;padding-left:.7vw}
body.has-site-footer .site-footer--shared .footer-copyright{
  position:absolute;right:0;bottom:1%;left:0;z-index:3;width:100%;margin:0;color:#aec0da;
  font:700 clamp(10px,.9vw,16px)/1.4 'Barlow Condensed','Arial Narrow',sans-serif;
  text-align:center;text-shadow:0 2px #061a48;
}
body.has-site-footer .site-footer--shared .mobile-footer{display:none}

@media(max-width:700px){
  body.has-site-footer footer.site-footer--shared{
    height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto;
    flex:0 0 auto!important;overflow:visible!important;border:0!important;background:#081f4a!important;
  }
  body.has-site-footer .site-footer--shared>:not(.mobile-footer){display:none!important}
  body.has-site-footer .site-footer--shared .mobile-footer{
    position:relative;display:block!important;width:100%;max-width:520px;margin:0 auto;aspect-ratio:4/5;isolation:isolate;
  }
  body.has-site-footer .site-footer--shared .mobile-footer-frame{position:absolute;inset:0;z-index:-1;display:block;overflow:hidden}
  body.has-site-footer .site-footer--shared .mobile-footer-frame img{display:block;width:100%;height:100%;object-fit:fill}
  body.has-site-footer .site-footer--shared .mobile-footer-brand{position:absolute;top:22%;left:20%;display:block;width:60%;margin:0;z-index:1}
  body.has-site-footer .site-footer--shared .mobile-footer-brand{aspect-ratio:2034/543;overflow:visible;isolation:isolate}
  body.has-site-footer .site-footer--shared .mobile-footer-brand img{position:absolute;top:-30.05276%;left:-4.17353%;display:block;width:108.89621%;height:auto;max-width:none;pointer-events:none}
  body.has-site-footer .site-footer--shared .mobile-footer-links{
    position:absolute;top:40%;left:12%;display:grid;width:76%;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 8px;margin:0;padding:0;z-index:1;
  }
  body.has-site-footer .site-footer--shared .mobile-footer-links a{
    display:flex;align-items:center;justify-content:center;min-height:38px;padding:4px 0;color:#fff2bf;
    font:700 clamp(16px,4.2vw,20px)/1.1 'Barlow Condensed','Arial Narrow',sans-serif;text-align:center;text-decoration:none;
  }
  body.has-site-footer .site-footer--shared .mobile-copyright{
    position:absolute;top:81%;left:0;width:100%;margin:0;color:#aec0da;font:13px/1.5 Arial,sans-serif;text-align:center;z-index:1;
  }
}
