/* ═══════════════════════════════════════
   FOOTER — extraído tal cual del standalone optimizado
═══════════════════════════════════════ */
footer{position:relative;overflow:hidden;border-top:1px solid var(--border)}
footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.5),rgba(167,139,250,.6),rgba(124,58,237,.5),transparent)}
footer::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(124,58,237,.05) 0%,transparent 60%);pointer-events:none}

.footer-cta-bar{padding:48px 6%;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:1}
.footer-cta-left{display:flex;flex-direction:column;gap:6px}
.footer-cta-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(18px,2.5vw,26px);font-weight:700;color:var(--text);letter-spacing:-.5px}
.footer-cta-sub{font-size:14px;color:var(--muted)}
.footer-cta-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.footer-btn-wa{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:10px;background:#25D366;color:#fff;font-size:14px;font-weight:700;text-decoration:none;font-family:'Figtree',sans-serif;transition:background .2s,transform .15s}
.footer-btn-wa:hover{background:#1da851;transform:translateY(-2px)}
.footer-btn-call{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:10px;background:var(--violet);color:#fff;font-size:14px;font-weight:700;text-decoration:none;font-family:'Figtree',sans-serif;transition:background .2s,transform .15s;box-shadow:0 0 20px rgba(124,58,237,.2)}
.footer-btn-call:hover{background:#6D28D9;transform:translateY(-2px)}

.footer-main{padding:64px 6% 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;position:relative;z-index:1}
.footer-brand{display:flex;flex-direction:column;gap:20px}
.footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.footer-logo svg{height:30px;width:auto;display:block}
.footer-tagline{font-size:14px;line-height:1.65;color:var(--muted);max-width:260px}
.footer-tagline strong{color:var(--text)}
.footer-socials{display:flex;gap:10px}
.social-link{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s,border-color .2s,transform .15s}
.social-link:hover{background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.3);transform:translateY(-2px)}
.social-link svg{width:15px;height:15px;fill:var(--muted);transition:fill .2s}
.social-link:hover svg{fill:var(--vl)}
.footer-stack{display:flex;flex-direction:column;gap:8px}
.footer-stack-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.footer-stack-badges{display:flex;gap:6px;flex-wrap:wrap}
.stack-badge{padding:4px 10px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:6px;font-size:10.5px;color:var(--muted);font-weight:500}

.footer-col{display:flex;flex-direction:column;gap:16px}
.footer-col-title{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;color:var(--text);letter-spacing:.2px}
.footer-col-links{display:flex;flex-direction:column;gap:10px}
.footer-link{font-size:13px;color:var(--muted);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:6px;width:fit-content}
.footer-link:hover{color:var(--text)}
.footer-link .new-badge{font-size:9px;font-weight:700;padding:1px 6px;background:rgba(110,231,183,.1);color:var(--mint);border-radius:4px;border:1px solid rgba(110,231,183,.2)}
.footer-wa-contact{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(37,211,102,.06);border:1px solid rgba(37,211,102,.15);border-radius:9px;text-decoration:none;transition:background .2s,border-color .2s;margin-top:4px}
.footer-wa-contact:hover{background:rgba(37,211,102,.1);border-color:rgba(37,211,102,.25)}
.wa-icon{width:28px;height:28px;border-radius:7px;background:#25D366;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wa-icon svg{width:15px;height:15px;fill:#fff}
.wa-info{display:flex;flex-direction:column;gap:1px}
.wa-label{font-size:10px;color:var(--muted)}
.wa-num{font-size:12px;font-weight:600;color:var(--text)}

.footer-bottom{padding:20px 6%;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1}
.footer-copy{font-size:12px;color:var(--muted)}
.footer-copy a{color:var(--muted);text-decoration:none;transition:color .2s}
.footer-copy a:hover{color:var(--text)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:12px;color:var(--muted);text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:var(--text)}
.footer-made{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}
.footer-made span{color:var(--violet)}

@media(max-width:760px){
  .footer-main{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1/-1}
  .footer-cta-bar{flex-direction:column;align-items:flex-start}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
}

/* Release Candidate: social icons remain visible until official profile URLs are configured. */
.social-link-disabled {
  cursor: default;
  pointer-events: none;
  opacity: .72;
}

/* FIX móvil footer CTA: botones compactos en columna */
@media(max-width:640px){
  .footer-cta-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .footer-btn-wa,
  .footer-btn-call{
    width:100%;
    justify-content:center;
    flex:0 0 auto!important;
    min-height:48px;
    height:auto;
    padding:14px 18px;
  }
}
