
.cff-footer{background:#090909;color:#8e8e8e;border-top:1px solid rgba(255,255,255,.08)}
.cff-inner{min-height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;font-size:10px;letter-spacing:.045em;text-transform:uppercase}
.cff-inner>div:nth-child(2){text-align:center}.cff-inner>div:nth-child(3){text-align:right}.cff-footer a{color:#bbb;text-decoration:none}.cff-footer a:hover{color:#e63b32}
.cff-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;z-index:9998;border:1px solid rgba(255,255,255,.18);background:rgba(10,10,10,.92);color:#fff!important;text-decoration:none;font-size:24px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s}
.cff-top.is-visible{opacity:1;visibility:visible;transform:none}.cff-top:hover{background:#e63b32;border-color:#e63b32}
@media(max-width:900px){.cff-inner{grid-template-columns:1fr;gap:10px;padding-top:22px;padding-bottom:22px}.cff-inner>div:nth-child(2),.cff-inner>div:nth-child(3){text-align:left}.cff-top{right:16px;bottom:16px}}


/* v1.1.0 — redes sociais */
.cff-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.cff-socials{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
}
.cff-socials a{
  color:#8f8f8f!important;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}
.cff-socials a:hover,
.cff-socials a:focus{
  color:#e63b32!important;
}
@media(max-width:900px){
  .cff-center{align-items:flex-start}
  .cff-socials{justify-content:flex-start}
}


/* v1.1.1 — Footer fixo no fundo do ecrã */
.cff-footer{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  z-index:9997;
  box-shadow:0 -10px 30px rgba(0,0,0,.18);
}

/* Reserva espaço para o footer não tapar o conteúdo */
body{
  padding-bottom:74px!important;
}

/* A seta fica acima do footer fixo */
.cff-top{
  bottom:96px!important;
}

@media(max-width:900px){
  .cff-inner{
    min-height:88px;
    grid-template-columns:1fr auto;
    gap:8px 16px;
    padding-top:12px;
    padding-bottom:12px;
  }

  .cff-center{
    grid-column:1 / -1;
    grid-row:2;
    align-items:flex-start;
  }

  .cff-right{
    text-align:right!important;
  }

  body{
    padding-bottom:112px!important;
  }

  .cff-top{
    bottom:128px!important;
  }
}


/* v1.1.2 — contraste garantido em páginas internas */
html body .cff-footer{
  background:#090909!important;
  background-color:#090909!important;
  color:#9f9f9f!important;
  opacity:1!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.2)!important;
}
html body .cff-footer .cff-inner,
html body .cff-footer .cff-left,
html body .cff-footer .cff-center,
html body .cff-footer .cff-right{
  color:#9f9f9f!important;
  opacity:1!important;
}
html body .cff-footer a,
html body .cff-footer a:visited,
html body .cff-footer .cff-socials a,
html body .cff-footer .cff-socials a:visited{
  color:#bdbdbd!important;
  opacity:1!important;
}
html body .cff-footer a:hover,
html body .cff-footer a:focus,
html body .cff-footer .cff-socials a:hover,
html body .cff-footer .cff-socials a:focus{
  color:#e63b32!important;
}



/* v1.1.3 — fixação absoluta do footer em todas as páginas */
html body footer.cff-footer{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  z-index:9997!important;
  transform:none!important;
  margin:0!important;
}

html body .cff-top{
  position:fixed!important;
  right:24px!important;
  bottom:96px!important;
  z-index:9998!important;
}

html body{
  padding-bottom:82px!important;
}

@media(max-width:900px){
  html body{
    padding-bottom:116px!important;
  }

  html body .cff-top{
    right:16px!important;
    bottom:132px!important;
  }
}
