/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer{
  background:var(--dark);
  color:rgba(255,255,255,.7);
  padding:88px 0 28px;
  position:relative;
  overflow:hidden;
}
.footer-top{
  display:grid;
  grid-template-columns:1.4fr .8fr .8fr .8fr 1fr;
  gap:40px;
  padding-bottom:56px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand .brand{color:#fff;margin-bottom:16px;}
.footer-brand .brand img{height:64px;}
.footer-brand p{color:rgba(255,255,255,.55);max-width:280px;}
.footer-social{display:flex;gap:10px;margin-top:20px;}
.footer-social a{
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  transition:background .3s ease, transform .3s ease;
}
.footer-social a:hover{background:var(--red);transform:translateY(-3px);}
.footer-social svg{width:16px;height:16px;color:#fff;}

.footer-col h5{
  color:#fff;font-family:var(--font-head);font-size:.85rem;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;
}
.footer-col ul li{margin-bottom:12px;}
.footer-col a{color:rgba(255,255,255,.6);font-size:.92rem;transition:color .25s ease, padding-left .25s ease;}
.footer-col a:hover{color:var(--red);padding-left:4px;}

.footer-newsletter form{display:flex;gap:0;margin-top:16px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);}
.footer-newsletter input{
  flex:1;background:transparent;border:none;padding:13px 18px;color:#fff;font-size:.88rem;
}
.footer-newsletter input::placeholder{color:rgba(255,255,255,.4);}
.footer-newsletter button{
  background:var(--red);border:none;color:#fff;padding:0 20px;font-weight:600;font-size:.85rem;
}

.footer-group{
  padding:36px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-group .fg-label{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:18px;
}
.footer-group .fg-logos{
  display:grid;grid-template-columns:repeat(6,1fr);gap:16px;
}
.fg-tile{
  display:flex;align-items:center;justify-content:center;
  height:78px;padding:10px 14px;
  background:none;border:0;border-radius:0;   /* logos sit directly on the footer, no tile */
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.fg-tile img{
  width:100%;height:100%;max-height:44px;object-fit:contain;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.fg-tile:hover,.fg-tile:focus-visible{transform:translateY(-4px);}
.fg-tile:hover img{transform:scale(1.05);}

.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:28px;font-size:.82rem;color:rgba(255,255,255,.45);
  flex-wrap:wrap;gap:12px;
}
.footer-bottom .legal{display:flex;gap:18px;flex-wrap:wrap;}
.footer-bottom a:hover{color:#fff;}

@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;gap:36px;}
  .footer-brand{grid-column:1/-1;}
}
@media(max-width:1024px){
  .footer-group .fg-logos{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:1fr;}
  .footer-group .fg-logos{grid-template-columns:repeat(2,1fr);gap:12px;}
  .fg-tile{height:68px;padding:8px 10px;}
}

/* Newsletter submission states */
.footer-newsletter .hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none;}
.footer-newsletter input.is-invalid{box-shadow:inset 0 0 0 2px var(--red-light);}
.footer-newsletter .form-status{margin:10px 0 0;font-size:.82rem;font-weight:600;}
.footer-newsletter .form-status:empty{display:none;}
.footer-newsletter .form-status.is-success{color:#7EE2A0;}
.footer-newsletter .form-status.is-error{color:#FFB4AA;}
.footer-newsletter button[disabled]{opacity:.7;cursor:wait;}
