.footer{
  font-family:"IBM Plex Sans","Space Grotesk",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.footer-inner{
  align-items:flex-start;
}
.footer-column{
  min-width:0;
}
.footer-main{
  max-width:420px;
}
.footer-heading{
  font-size:var(--font-size-xs);
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--color-text-muted);
  margin-bottom:var(--space-4);
}
.footer-logo-text{
  font-size:var(--font-size-md);
  letter-spacing:0.18em;
  text-transform:uppercase;
  margin-bottom:var(--space-3);
  color:var(--color-text);
}
.footer-bottom{
  margin-top:var(--space-8);
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-4);
  justify-content:space-between;
  align-items:center;
  font-size:var(--font-size-xs);
  color:var(--color-text-muted);
}
.footer-note{
  max-width:520px;
}
@media (max-width:767px){
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}
.cookie-banner{
  position:fixed;
  inset-inline:0;
  bottom:0;
  z-index:60;
  background:rgba(9,10,15,0.98);
  border-top:1px solid rgba(148,163,184,0.35);
  box-shadow:0 -18px 45px rgba(0,0,0,0.75);
  transform:translateY(100%);
  opacity:0;
  transition:transform var(--transition-slow),opacity var(--transition-base);
}
.cookie-banner-visible{
  transform:translateY(0);
  opacity:1;
}
.cookie-banner-inner{
  max-width:960px;
  margin:0 auto;
  padding:var(--space-6) var(--space-7);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-6);
}
.cookie-title{
  font-size:var(--font-size-md);
  margin-bottom:var(--space-3);
  color:var(--color-text);
}
.cookie-description{
  margin-bottom:0;
}
.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:var(--space-3);
}
.cookie-btn-reject{
  min-width:140px;
}
.cookie-btn-accept{
  min-width:160px;
}
@media (max-width:767px){
  .cookie-banner-inner{
    padding-inline:var(--space-5);
    flex-direction:column;
    align-items:flex-start;
  }
  .cookie-actions{
    width:100%;
    justify-content:flex-start;
  }
}
.age-gate-overlay{
  position:fixed;
  inset:0;
  z-index:70;
  background:radial-gradient(circle at top,rgba(15,23,42,0.9),rgba(9,10,15,0.98));
  display:flex;
  align-items:center;
  justify-content:center;
}
.age-gate-modal{
  width:100%;
  max-width:460px;
  background:var(--color-bg-panel-gradient);
  border-radius:var(--radius-xl);
  border:1px solid rgba(148,163,184,0.45);
  box-shadow:var(--shadow-md);
  padding:var(--space-7);
  display:flex;
  flex-direction:column;
  gap:var(--space-6);
}
.age-gate-header{
  display:flex;
  justify-content:flex-end;
}
.age-gate-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 var(--space-3);
  border-radius:999px;
  border:1px solid rgba(248,250,252,0.9);
  font-size:var(--font-size-xs);
  letter-spacing:0.18em;
  text-transform:uppercase;
  background:rgba(15,23,42,0.95);
  color:var(--color-text);
}
.age-gate-body h2{
  font-size:var(--font-size-xl);
  margin-bottom:var(--space-4);
}
.age-gate-body p{
  margin-bottom:0;
}
.age-gate-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-4);
  justify-content:flex-end;
}
@media (max-width:767px){
  .age-gate-modal{
    margin-inline:var(--space-5);
    padding:var(--space-6);
  }
  .age-gate-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .age-gate-actions .btn{
    width:100%;
    justify-content:center;
  }
}
.age-gate-hidden{
  display:none !important;
}
.age-gate-lock{
  overflow:hidden;
}
.cookie-banner[hidden],
.age-gate-overlay[hidden]{
  display:none;
}