.site-footer{
  padding-block:var(--space-8);
  background:radial-gradient(circle at 0% 0%,rgba(92,155,154,0.26),transparent 55%),radial-gradient(circle at 100% 0%,rgba(184,111,105,0.3),transparent 55%),#040716;
  border-top:1px solid rgba(231,211,174,0.16);
}
.footer-inner{
  max-width:1600px;
  display:flex;
  flex-direction:column;
  gap:var(--space-6);
}
.footer-main{
  display:flex;
  flex-direction:column;
  gap:var(--space-6);
}
.footer-logo{
  display:flex;
  align-items:center;
  gap:var(--space-3);
}
.footer-logo-mark{
  width:30px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(231,211,174,0.3);
  background:radial-gradient(circle at 30% 30%,var(--color-accent-amber),var(--color-accent-coral));
  box-shadow:0 0 0 1px rgba(11,18,32,0.9),0 10px 24px rgba(0,0,0,0.85);
}
.footer-logo-text{
  display:flex;
  flex-direction:column;
  gap:0.1rem;
}
.footer-logo-title{
  font-family:var(--font-serif);
  font-size:0.95rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--color-heading);
}
.footer-logo-subtitle{
  font-size:0.75rem;
  color:var(--color-text-muted);
}
.footer-disclaimer{
  margin-top:var(--space-3);
  font-size:0.8rem;
  color:var(--color-text-muted);
  max-width:32rem;
}
.footer-links-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-6);
  width:100%;
}
.footer-links-title{
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.16em;
  margin-bottom:var(--space-3);
  color:var(--color-text-muted);
}
.footer-links-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
}
.footer-link{
  font-size:0.9rem;
  color:var(--color-text-soft);
}
.footer-link:hover{
  color:var(--color-accent-sand);
}
.footer-bottom{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
  border-top:1px solid rgba(231,211,174,0.14);
  padding-top:var(--space-4);
}
.footer-copy{
  font-size:0.8rem;
  color:var(--color-text-muted);
}
@media (min-width:768px){
  .footer-main{
    gap:var(--space-8);
  }
  .footer-brand-block{
    max-width:30rem;
  }
  .footer-links-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:1200px){
  .footer-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
    align-items:start;
  }
  .footer-links-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:var(--space-8);
    row-gap:var(--space-6);
  }
}
.cookie-banner{
  position:fixed;
  inset-inline:var(--space-3);
  bottom:var(--space-3);
  z-index:50;
  max-width:700px;
  margin-inline:auto;
  background:linear-gradient(155deg,rgba(24,25,35,0.98),rgba(32,32,58,0.98));
  border-radius:var(--radius-2xl);
  border:1px solid rgba(231,211,174,0.22);
  box-shadow:var(--shadow-elevated);
  color:var(--color-text);
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base);
}
.cookie-banner-inner{
  padding:var(--space-4);
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.cookie-banner-title{
  font-size:1rem;
  margin-bottom:var(--space-2);
}
.cookie-banner-description{
  font-size:0.9rem;
  color:var(--color-text-soft);
}
.cookie-banner-legal{
  font-size:0.8rem;
  color:var(--color-text-muted);
}
.cookie-banner-link{
  color:var(--color-accent-sand);
  text-decoration:underline;
}
.cookie-banner-link:hover{
  color:var(--color-accent-amber);
}
.cookie-banner-actions{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}
.cookie-btn-reject,
.cookie-btn-accept{
  width:100%;
  justify-content:center;
  font-size:0.8rem;
}
.cookie-banner.is-hidden{
  opacity:0;
  transform:translateY(18px);
  visibility:hidden;
}
@media (min-width:600px){
  .cookie-banner-inner{
    padding:var(--space-5);
    flex-direction:row;
    align-items:center;
    gap:var(--space-5);
  }
  .cookie-banner-actions{
    flex-direction:row-reverse;
    justify-content:flex-end;
    align-items:center;
    min-width:220px;
  }
  .cookie-btn-reject,
  .cookie-btn-accept{
    width:auto;
    white-space:nowrap;
  }
}
.cookie-banner:focus-visible{
  box-shadow:var(--shadow-focus);
}
.cookie-banner button:focus-visible{
  box-shadow:var(--shadow-focus);
}
@media (prefers-reduced-motion:reduce){
  .cookie-banner{
    transition:none;
  }
}
