/* ============================================================
   Pie de página y mapa
   ============================================================ */

.site-footer{ background:var(--navy-deep); color:var(--on-dark-300); padding-top:var(--sp-24); }
.footer-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:var(--sp-10); padding-bottom:var(--sp-16); border-bottom:1px solid var(--line-on-dark); }
.footer-logo{ height:46px; filter:brightness(0) invert(1); }
.footer-brand p{ font-size:var(--fs-xs); color:var(--on-dark-700); margin-top:var(--sp-4); max-width:32ch; line-height:1.6; }
.footer-col h5{ font-family:var(--font-mono); font-size:var(--fs-lbl); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--yellow); margin-bottom:var(--sp-4); }
.footer-col a, .footer-col p{ display:block; font-size:var(--fs-xs); color:var(--on-dark-400); margin-bottom:var(--sp-2); line-height:1.5; }
.footer-col a:hover{ color:var(--yellow); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:var(--sp-6) 0; flex-wrap:wrap; gap:var(--sp-3); font-family:var(--font-mono); font-size:var(--fs-lbl); color:var(--on-dark-700); }
@media (max-width:1180px){ .footer-top{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:780px){ .footer-top{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-top{ grid-template-columns:1fr; } }

.map-embed{ position:relative; width:100%; aspect-ratio:16/9; filter:grayscale(.3) contrast(1.05); border:1px solid var(--line); }
.map-embed iframe{ width:100%; height:100%; border:0; }
