#footer{
  background:#08091c;
  border-top:1px solid rgba(255,255,255,.08);
  padding:68px 72px 0;
  position:relative;
  overflow:hidden;
}

.footer-bg-grad{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(125% 125% at 50% 10%,
      rgba(9,7,26,.6) 50%,
      rgba(138,10,126,.18) 100%);
}

.ft,.f-bottom,.footer-divider{position:relative;z-index:1}

.ft{
  display:grid;grid-template-columns:1.8fr repeat(4,minmax(0,1fr));
  gap:42px;padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.08);
  max-width:var(--max);margin:0 auto;
}

.fb-name{font-weight:900;font-size:21px;letter-spacing:4px;color:#fff;margin-bottom:3px}
.fb-sub{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.4);text-transform:uppercase;margin-bottom:16px;display:block}
.fb-desc{font-size:13px;color:rgba(255,255,255,.68);line-height:1.7;max-width:260px;font-weight:300}

.f-social{display:flex;gap:7px;margin-top:20px}
.f-soc{
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.12);background:none;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.3);transition:all .25s;
  font-family:var(--mono);font-size:9.5px;cursor:pointer;
}
.f-soc:hover{border-color:var(--rosa);color:var(--rosa)}
.f-soc-icon{
  background-color:rgba(255,255,255,.5);
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  transition:background-color .25s;
}
.f-soc:hover .f-soc-icon{background-color:var(--rosa)}
.f-soc-icon.instagram{
  width:26px;height:26px;
  -webkit-mask-image:url(../../assets/img/logos/redes/instagram-logo-facebook-2-svgrepo-com.svg);mask-image:url(../../assets/img/logos/redes/instagram-logo-facebook-2-svgrepo-com.svg);
}
.f-soc-icon.linkedin{
  width:21px;height:21px;
  -webkit-mask-image:url(../../assets/img/logos/redes/linkedin-svgrepo-com.svg);mask-image:url(../../assets/img/logos/redes/linkedin-svgrepo-com.svg);
}

.f-col-title{
  font-weight:700;font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:#fff;
  margin-bottom:16px;padding-bottom:10px;
  border-bottom:1px solid var(--rosa);display:inline-block;
}

.f-links{display:flex;flex-direction:column;gap:8px}
.f-link{font-size:12.5px;color:rgba(255,255,255,.68);transition:color .2s;font-weight:300}
.f-link:hover{color:rgba(255,255,255,.92)}

.f-bottom{
  padding-top:24px;padding-bottom:28px;
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max);margin:0 auto;
}
.f-copy{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.4);letter-spacing:.3px}

@media(max-width:1024px){
  #footer{padding:52px 40px 28px}
  .ft{grid-template-columns:1fr 1fr;gap:36px}
  .ft > div:first-child{
    grid-column:1/-1;
  }
  .ft > div:last-child{
    grid-column:auto;
    padding-top:0;
    border-top:0;
  }
}

@media(max-width:768px){
  #footer{padding:44px 20px 28px}

  .ft{
    grid-template-columns:1fr 1fr;
    gap:32px 20px;
    padding-bottom:28px;
    border-bottom:0;
  }

  .ft > div:first-child{grid-column:1/-1}

  .ft > div:last-child{
    grid-column:auto;
    padding-top:0;
    border-top:0;
  }

  .f-bottom{
    padding-top:24px;
    padding-bottom:8px;
  }

  /* Botões sociais com área de toque maior */
  .f-soc{width:36px;height:36px;font-size:9px}
  .f-social{gap:8px;margin-top:16px}

  /* Links com espaçamento vertical para toque */
  .f-links{gap:10px}
  .f-link{
    font-size:13px;
    /* Area de toque mínima */
    padding:4px 0;
    display:inline-block;
  }
  .f-col-title{margin-bottom:12px}
  .fb-desc{font-size:13px}
}

@media(max-width:480px){
  #footer{padding:36px 16px 24px}
  .ft{gap:22px}
  .fb-name{font-size:18px;letter-spacing:2px}
  .fb-desc{font-size:12.5px}
  .f-col-title{font-size:10px}
  .f-link{font-size:12px}
  .f-social{gap:6px;margin-top:14px}
}

@media(max-width:380px){
  #footer{padding:28px 14px 20px}
}
