.site-footer{
  background: var(--blue);
  color: #cfe1ff;
  padding: 36px 0 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-grid{
  display: grid;
  grid-template-columns: 1.1fr 1fr .7fr;
  gap: 26px;
  align-items: start;
  margin-bottom: 12px;
}

/* Brand */
.footer-brand .brand{
  display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none;
}
.footer-brand img{ display:block; width:auto; height:34px; }
.footer-brand strong{ font-weight:700; }
.footer-brand .small{ margin:.5rem 0 0; color:#cfe1ff; opacity:.95; }

/* Nav légal */
.footer-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.footer-nav a{
  color:#fff; opacity:.9; text-decoration:none; border-bottom:1px solid transparent;
  transition: opacity .2s ease, border-color .2s ease;
}
.footer-nav a:hover{ opacity:1; border-color: rgba(255,255,255,.25); }

/* Réseaux */
.footer-social{ display:flex; gap:12px; align-items:center; justify-content:flex-start; }
.footer-social .social{
  display:grid; place-items:center;
  width:38px; height:38px; border-radius:10px;
  color:#0b1020; background:#fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease;
}
.footer-social .social:hover{ transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.24); }
.footer-social svg{ width:18px; height:18px; }

/* Bas de footer */
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 12px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:.92rem;
}
.footer-bottom .to-top{
  color:#fff; opacity:.9; text-decoration:none; border-bottom:1px solid transparent;
}
.footer-bottom .to-top:hover{ opacity:1; border-color: rgba(255,255,255,.25); }

/* Responsive */
@media (max-width: 980px){
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-social{ justify-content:flex-start; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:6px; }
}
