/* ===== Footer PSF (encapsulado) ===== */
.footer-psf{
  --bg:#000000;
  --ink:#eaf3ee; --ink-soft:#bfd5c9; --line:rgba(255,255,255,.14);
  --link:#ffffff; --link-hover:#ff7a1a; /* ← hover naranja */
  --radius:18px;

  background:var(--bg); color:var(--ink);
  border-top:1px solid var(--line); padding:36px 16px 22px;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
.footer-psf a{ color:var(--link); text-decoration:none; }
.footer-psf a:hover, .footer-psf a:focus{ color:var(--link-hover); text-decoration:underline; outline:none; }

.footer-psf__container{
  max-width:1200px; margin:0 auto;
  display:grid; gap:24px; grid-template-columns:1fr; align-items:start;
}
.footer-psf__col h4{ margin:2px 0 10px; font-size:1.02rem; font-weight:800; letter-spacing:.2px; }
.footer-psf__col ul{ list-style:none; padding:0; margin:0; }
.footer-psf__col li{ padding:7px 0; border-bottom:1px dashed var(--line); }
.footer-psf__col li:last-child{ border-bottom:0; }

.footer-psf__center{ text-align:center; max-width:560px; margin-inline:auto; }
.footer-psf__logo{ width:170px; height:auto; display:block; margin:0 auto 10px; filter:drop-shadow(0 6px 20px rgba(0,0,0,.28)); }
.footer-psf__center p{ margin:6px 0; color:var(--ink-soft); }

.footer-psf__bottom{
  max-width:1200px; margin:18px auto 0; padding-top:16px; border-top:1px solid var(--line);
  display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; color:var(--ink-soft);
}

/* Responsive */
@media (min-width:600px){
  .footer-psf{ padding:48px 20px 26px; }
  .footer-psf__container{ grid-template-columns:1fr 1.1fr 1fr; gap:28px; }
  .footer-psf__logo{ width:190px; }
}
@media (min-width:960px){
  .footer-psf__container{ gap:36px; }
  .footer-psf__logo{ width:200px; }
  .footer-psf__col h4{ font-size:1.08rem; }
}

/* Modo compacto */
.footer-psf.footer-psf--compact{ padding-top:26px; }
.footer-psf.footer-psf--compact .footer-psf__logo{ width:150px; }
