/* =============================================================
   FOOTER — bleu nuit, luxe sobre
   ============================================================= */

.site-footer{
  background:var(--footer-bg);
  color:var(--footer-text);
  margin-top:96px;
  font-family:var(--serif);
  position:relative;
}
.site-footer::before{
  content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.4;
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.4fr;
  gap:56px;
  padding:80px 0 56px;
  border-bottom:1px solid var(--footer-border);
}

.f-brand{
  font-family:var(--serif);
  font-weight:400;
  font-size:22px;
  letter-spacing:.42em;
  color:#fff;
  margin-bottom:18px;
  display:inline-flex;align-items:center;gap:12px;
}

.f-text{
  color:var(--footer-muted);
  max-width:42ch;
  margin:0 0 22px;
  font-size:14px;
  line-height:1.75;
  font-style:italic;
}

.f-social{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;
  border:1px solid var(--footer-border);
  border-radius:2px;
  color:#fff;
  transition:background .25s ease, border-color .25s ease;
}
.f-social:hover{background:rgba(255,255,255,.06);border-color:var(--gold)}

.f-title{
  font-family:var(--sans);
  font-weight:600;
  font-size:11px;
  letter-spacing:var(--tracking-ultra);
  text-transform:uppercase;
  color:#fff;
  margin-bottom:18px;
  position:relative;
  padding-bottom:14px;
}
.f-title::after{
  content:"";position:absolute;left:0;bottom:0;width:20px;height:1px;background:var(--gold);
}

.f-links{list-style:none;margin:0;padding:0}
.f-links li{margin:12px 0}
.f-links a{
  color:var(--footer-text);
  text-decoration:none;
  font-size:14px;
  opacity:.85;
  transition:opacity .2s ease, color .2s ease, padding-left .3s ease;
}
.f-links a:hover{opacity:1;color:#fff;padding-left:6px}

.f-contact{list-style:none;margin:0;padding:0}
.f-contact li{
  display:flex;gap:12px;align-items:flex-start;
  margin:14px 0;
  color:var(--footer-text);
  font-size:14px;
  line-height:1.6;
}
.f-contact svg{color:var(--gold);flex:0 0 18px;margin-top:2px}
.f-contact a{color:inherit;text-decoration:none;opacity:.9;transition:opacity .2s ease}
.f-contact a:hover{opacity:1;color:#fff;text-decoration:none}
.f-contact a:visited,
.f-contact a:active,
.f-contact a:focus{color:inherit;text-decoration:none;outline:none}

.footer-bottom{
  padding:22px 0;
  color:var(--footer-muted);
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px;padding:56px 0 36px}
  .f-brand{font-size:18px}
}
@media (max-width:580px){
  .footer-grid{grid-template-columns:1fr;gap:36px}
}
