.site-footer{
  margin-top:4rem;
  background:linear-gradient(180deg,var(--color-bg),var(--color-surface));
  border-top:2px solid var(--color-border);
}

.footer-inner{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:2rem;
  padding:3rem 0;
}

.footer-logo{height:48px;margin-bottom:1rem}

.footer-desc{max-width:420px}

.footer-nav ul,
.footer-legal ul{
  list-style:none;
  padding:0;
}

.footer-nav li,
.footer-legal li{margin-bottom:0.5rem}

.footer-nav a:hover,
.footer-legal a:hover{color:var(--color-accent)}

.footer-bottom{
  border-top:2px solid var(--color-border);
  padding:1rem 0;
  text-align:center;
}

.consent{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--color-overlay);
  z-index:1100;
}

.consent[hidden]{
  display:none !important;
}

.consent-card{
  max-width:420px;
  width:100%;
  padding:1.5rem;
  text-align:center;
}

.consent-actions{
  display:flex;
  gap:1rem;
  justify-content:center;
  margin-top:1rem;
}

@media(max-width:900px){
  .footer-inner{
    grid-template-columns:minmax(0,1fr);
    gap:1.75rem;
    padding-block:2.5rem;
  }
  .site-footer .container{
    padding-inline:1.5rem;
  }
}

@media(max-width:600px){
  .footer-inner{
    gap:1.5rem;
    padding-block:2rem;
  }
  .site-footer .container{
    padding-inline:1.25rem;
  }
  .footer-desc{max-width:none}
}