/* ===== Footer – mobile-first ===== */
.ld-footer{ color:#e5f0f7; background:#0f172a; }
.ld-footer a{ color:#cfe8f6; }
.ld-footer a:hover{ color:#ffffff; text-decoration: underline; text-underline-offset: 3px; }

/* CTA superior */
.ld-footer__cta{ background: #0ea5e9; color:#fff; text-align:center; padding:24px 0; }
.ld-footer__cta-title{ margin:0 0 6px; font-size:1.4rem; }
.ld-footer__cta-sub{ margin:0 0 12px; opacity:.95; }
.ld-footer__cta-buttons{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.ld-footer .ld-btn--ghost{ background:#fff; color:#0f172a; border-color: rgba(0,0,0,.08); }

/* Top grid */
.ld-footer__top{ padding:28px 0; }
.ld-footer__grid{ display:grid; gap:18px; grid-template-columns: 1fr; }
.ld-footer__brand .custom-logo{ height:34px; width:auto; }
.ld-footer__tag{ color:#cfe8f6; opacity:.9; margin:10px 0 14px; }
.ld-footer__social{ display:flex; gap:10px; list-style:none; margin:0; padding:0; }
.ld-footer__social a{ display:inline-grid; place-items:center; width:36px; height:36px; background:#0b1528; border:1px solid rgba(255,255,255,.08); border-radius:999px; }
.ld-footer__heading{ font-size:1rem; margin:0 0 8px; color:#fff; }
.ld-footer__menu, .ld-footer__list{ list-style:none; margin:0; padding:0; }
.ld-footer__menu li, .ld-footer__list li{ margin:8px 0; }

.ld-footer__nl{ margin-top:12px; }
.ld-footer__whatsapp{ display:inline-flex; margin-top:10px; }

/* Bottom */
.ld-footer__bottom{ border-top:1px solid rgba(255,255,255,.08); padding:14px 0; background:#0b1323; }
.ld-footer__bottom-wrap{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.ld-footer__legal-menu{ display:flex; gap:12px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.ld-footer__copy{ color:#c9d6e2; font-size:.92rem; }

/* Back to top */
.ld-backtotop{
  position:fixed; right:16px; bottom:16px; z-index:9999;
  width:40px; height:40px; border-radius:999px; border:1px solid rgba(255,255,255,.2);
  background:#0ea5e9; color:#fff; display:none; align-items:center; justify-content:center;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.ld-backtotop:active{ transform: translateY(1px); }

/* Desktop */
@media (min-width:1025px){
  .ld-footer__cta{ padding:36px 0; }
  .ld-footer__cta-title{ font-size:1.8rem; }
  .ld-footer__grid{ grid-template-columns: 1.6fr 1fr 1fr 1fr 1.4fr; align-items:start; }
  .ld-footer__bottom-wrap{ flex-direction:row; justify-content:space-between; align-items:center; }
}
