/* ═══════════════════════════════════════════════════════════════
   HARBOR51 - FOOTER
   Alles afgeschermd onder .h51-ft. Wordt op elke pagina geladen
   (zie h51_enqueue_footer_styles() in functions.php).
   ═══════════════════════════════════════════════════════════════ */

/* Astra's eigen footer uit, plus de oude blauwe achtergrond overschrijven */
body #colophon, body .site-footer, body #colophon.site-footer {
  display:none !important; background:transparent !important; }

.h51-ft { background:#0b1221; border-top:3px solid #4192d3;
  font-family:"Inter",system-ui,sans-serif; color:#fff; margin:0; padding:0; }
.h51-ft *, .h51-ft *::before, .h51-ft *::after { box-sizing:border-box; }
.h51-ft-in { max-width:1400px; margin:0 auto; padding:56px 32px 44px;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:48px; align-items:start; }

.h51-ft-logo { display:inline-block; margin-bottom:16px; text-decoration:none; }
.h51-ft-logo img { width:150px; height:auto; display:block; filter:brightness(0) invert(1); }
.h51-ft-logo span { font-family:"Montserrat",sans-serif; font-weight:900; font-size:22px;
  letter-spacing:-.04em; color:#fff; }
.h51-ft-logo span b { color:#4192d3; font-weight:900; }
.h51-ft-tagline { font-size:14px; line-height:1.7; color:#94a3b8; margin:0 0 20px; max-width:300px; }
.h51-ft-contact { display:flex; flex-direction:column; gap:10px; }
.h51-ft-regel { display:flex; align-items:center; gap:10px; font-size:14px;
  color:#cbd5e1 !important; text-decoration:none !important; }
a.h51-ft-regel:hover { color:#fff !important; }
.h51-ft-regel svg { width:15px; height:15px; stroke:#4192d3; fill:none; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.h51-ft-esg { display:inline-flex; align-items:center; gap:8px; margin-top:20px;
  background:rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.3); border-radius:9999px;
  padding:7px 14px; font-family:"Montserrat",sans-serif; font-weight:700; font-size:9px;
  text-transform:uppercase; letter-spacing:.12em; color:#86efac; }
.h51-ft-esg svg { width:12px; height:12px; stroke:#22c55e; fill:none; stroke-width:3; }

.h51-ft-kop { font-family:"Montserrat",sans-serif; font-weight:700; font-size:10px;
  text-transform:uppercase; letter-spacing:.2em; color:#64748b; margin-bottom:18px; }
.h51-ft-links { list-style:none !important; padding:0 !important; margin:0 !important;
  display:flex; flex-direction:column; gap:11px; }
.h51-ft-links li { margin:0 !important; padding:0 !important; }
.h51-ft-links li a { font-size:15px; color:#cbd5e1 !important; text-decoration:none !important;
  display:inline-flex; align-items:center; gap:9px; transition:color .15s, gap .15s; }
.h51-ft-links li a::before { content:""; width:5px; height:5px; background:#4192d3;
  border-radius:50%; flex-shrink:0; opacity:.6; transition:opacity .15s; }
.h51-ft-links li a:hover { color:#fff !important; gap:12px; }
.h51-ft-links li a:hover::before { opacity:1; }
.h51-ft-links li.current-menu-item a { color:#fff !important; }
.h51-ft-hint { font-size:13px; line-height:1.6; color:#64748b; margin:0;
  padding:12px 14px; border:1px dashed #334155; border-radius:8px; }

.h51-ft-cta { background:rgba(65,146,211,.1); border:1px solid rgba(65,146,211,.28);
  border-radius:12px; padding:24px; }
.h51-ft-cta-titel { font-family:"Montserrat",sans-serif; font-weight:800; font-size:16px;
  color:#fff; margin-bottom:10px; letter-spacing:-.01em; }
.h51-ft-cta p { font-size:13px; line-height:1.65; color:#94a3b8; margin:0 0 18px; }
.h51-ft-knop { display:inline-flex; align-items:center; gap:8px; background:#4192d3;
  color:#fff !important; font-family:"Montserrat",sans-serif; font-weight:700; font-size:10px;
  text-transform:uppercase; letter-spacing:.1em; padding:12px 20px; border-radius:9999px;
  text-decoration:none !important; transition:background .15s; }
.h51-ft-knop:hover { background:#2c7ab7; }
.h51-ft-knop svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2;
  stroke-linecap:round; }

.h51-ft-onder { max-width:1400px; margin:0 auto; padding:18px 32px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.h51-ft-copy { font-size:13px; color:#64748b; }
.h51-ft-legal ul { list-style:none !important; padding:0 !important; margin:0 !important;
  display:flex; gap:22px; flex-wrap:wrap; }
.h51-ft-legal li { margin:0 !important; }
.h51-ft-legal a { font-size:13px; color:#64748b !important; text-decoration:none !important; }
.h51-ft-legal a:hover { color:#fff !important; }

@media (max-width:1000px) {
  .h51-ft-in { grid-template-columns:1fr 1fr; gap:36px; padding:44px 24px 36px; }
  .h51-ft-cta { grid-column:1 / -1; }
}
@media (max-width:600px) {
  .h51-ft-in { grid-template-columns:1fr; gap:32px; }
  .h51-ft-onder { flex-direction:column; text-align:center; padding:16px 20px; }
  .h51-ft-legal ul { justify-content:center; gap:16px; }
}
