.site-footer{
  border-top:1px solid var(--color-border);
  padding-top:var(--space-6);
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--space-5);
}

.footer-col ul li a{
  color:var(--color-text-secondary);
  font-size:var(--text-sm);
}

.footer-col ul li a:hover{
  color:var(--color-text-primary);
}

.footer-bottom{
  margin-top:var(--space-5);
  padding-bottom:var(--space-4);
}

.brand-inline{
  display:flex;
  align-items:center;
  gap:0.5rem;
  margin-bottom:var(--space-3);
}

.brand-inline img{
  height:32px;
}

.consent-banner{
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  background:var(--color-bg-card);
  border-top:1px solid var(--color-border);
  padding:1rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}

.consent-banner.hidden{display:none;}

.age-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.8);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2000;
}

.age-modal.hidden{display:none;}

.age-box{
  background:var(--color-bg-card);
  border:1px solid var(--color-border);
  padding:2rem;
  border-radius:var(--radius-md);
  text-align:center;
  max-width:400px;
}

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

@media(max-width:768px){
  .footer-grid{
    grid-template-columns:1fr;
  }
}