/* ============================================================
   VIVÍMONTE — Footer global · estilos
   Cargado por el mu-plugin vm-footer.php en TODO el sitio.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

:root{
  --vm-red:#FF0033;
  --vm-red-bright:#FF3357;
  --vm-dark:#120C0C;
}

/* Ocultar el footer nativo de Flatsome */
#footer.footer-wrapper{display:none !important;}

/* ── Footer VivíMonte ── */
.vm-footer{position:relative;background:var(--vm-dark);overflow:hidden;}
.vm-footer::before{content:'';position:absolute;bottom:-120px;left:50%;transform:translateX(-50%);width:900px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,51,0.08) 0%,transparent 70%);pointer-events:none;}
.vm-footer .vm-ft-accent{height:3px;background:linear-gradient(90deg,transparent,var(--vm-red),transparent);}
.vm-footer .vm-ft-main{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:72px 52px 48px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:48px;}
.vm-footer .vm-ft-brand img{height:42px;margin-bottom:20px;}
.vm-footer .vm-ft-brand p{font-size:16px;font-weight:300;color:rgba(255,255,255,0.45);line-height:1.8;max-width:280px;margin-bottom:24px;}
.vm-footer .vm-ft-social{display:flex;gap:10px;}
.vm-footer .vm-ft-social a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);transition:all .25s;}
.vm-footer .vm-ft-social a:hover{background:var(--vm-red);border-color:var(--vm-red);color:#fff;transform:translateY(-3px);}
.vm-footer .vm-ft-col h5{font-size:13px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:#fff;margin-bottom:20px;}
.vm-footer .vm-ft-col ul{list-style:none;margin:0;padding:0;}
.vm-footer .vm-ft-col li{margin-bottom:13px;}
.vm-footer .vm-ft-col li a{color:rgba(255,255,255,0.45);text-decoration:none;font-size:16px;font-weight:400;transition:color .2s,padding .2s;position:relative;}
.vm-footer .vm-ft-col li a:hover{color:#fff;padding-left:8px;}
.vm-footer .vm-ft-col li a::before{content:'';position:absolute;left:-2px;top:50%;transform:translateY(-50%) scaleX(0);width:4px;height:1px;background:var(--vm-red);transition:transform .2s;transform-origin:left;}
.vm-footer .vm-ft-col li a:hover::before{transform:translateY(-50%) scaleX(1);}
.vm-footer .vm-ft-emerg{background:rgba(255,0,51,0.06);border:1px solid rgba(255,0,51,0.22);border-radius:12px;padding:24px;}
.vm-footer .vm-ft-emerg h5{font-size:13px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.vm-footer .vm-ft-emerg-list{list-style:none;margin:0 0 16px;padding:0;}
.vm-footer .vm-ft-emerg-list li{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.vm-footer .vm-ft-emerg-list li:last-child{border-bottom:none;}
.vm-footer .vm-ft-emerg-label{font-size:15px;color:rgba(255,255,255,0.5);font-weight:400;}
.vm-footer .vm-ft-emerg-num{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:1px;color:var(--vm-red-bright);text-decoration:none;transition:color .2s;}
.vm-footer .vm-ft-emerg-num:hover{color:#fff;}
.vm-footer .vm-ft-emerg-link{font-size:13px;font-weight:600;color:rgba(255,255,255,0.45);text-decoration:none;transition:color .2s;}
.vm-footer .vm-ft-emerg-link:hover{color:var(--vm-red-bright);}
.vm-footer .vm-ft-bot{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:24px 52px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;align-items:center;font-size:14px;color:rgba(255,255,255,0.35);flex-wrap:wrap;gap:12px;}
.vm-footer .vm-ft-bot-links{display:flex;gap:24px;}
.vm-footer .vm-ft-bot-links a{color:rgba(255,255,255,0.45);text-decoration:none;transition:color .2s;}
.vm-footer .vm-ft-bot-links a:hover{color:var(--vm-red-bright);}

@media (max-width:849px){
  .vm-footer .vm-ft-main{grid-template-columns:1fr 1fr;gap:32px;}
}
@media (max-width:549px){
  .vm-footer .vm-ft-main{grid-template-columns:1fr;}
}
