.site-footer{
  position:relative;
  z-index:2;
  margin-top:20px;
  padding:20px 0 30px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr .8fr;
  gap:18px;
  border:1px solid var(--stroke);
  border-radius:28px;
  padding:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    rgba(10,10,10,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:var(--shadow-xl);
}

.footer-col h3{
  margin:0 0 12px;
  font-size:1rem;
  text-transform:lowercase;
}

.footer-col p{
  margin:14px 0 0;
  color:var(--muted);
  line-height:1.75;
}

/* fix: il contenitore footer-brand non deve essere inline-flex */
.footer-col.footer-brand{
  display:block;
}

/* il layout inline-flex deve stare sul link del brand, non sulla colonna */
.footer-brand-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  max-width:100%;
}

/* nel footer lasciamo il brand più flessibile, specie su mobile */
.footer-col.footer-brand .brand-text small,
.footer-col.footer-brand .brand-text strong{
  white-space:normal;
}

/* il testo descrittivo resta sotto al brand */
.footer-col.footer-brand p{
  margin:14px 0 0;
  max-width:56ch;
}

.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.footer-links li{
  color:#e8ebf1;
  line-height:1.6;
  text-transform:lowercase;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:16px;
  color:var(--muted-2);
  font-size:.9rem;
  text-transform:lowercase;
}
