/* Start custom CSS for html, class: .elementor-element-c2fd9bc *//* ================= BASE ================= */

.vp-footer {
  background: linear-gradient(180deg,#06162d,#020b18);
  color:#cbd5e1;
  font-size:14px;
}

/* ================= DESKTOP GRID ================= */

.vp-footer-inner{
  max-width:1250px;
  margin:auto;
  padding:80px 28px 60px;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px;
}

/* ================= GLASS CARD ================= */

.glass-card{
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:18px;
  padding:28px;
}

.vp-footer-logo{height:44px;}

.vp-footer-brand p{
  margin-top:14px;
  line-height:1.7;
  color:#e5eaf2;
}

/* ================= HEADINGS ================= */

.vp-footer h4{
  color:#fff;
  font-size:15px;
  margin-bottom:14px;
}

.vp-footer h4::after{
  content:"";
  width:32px;
  height:2px;
  display:block;
  margin-top:6px;
  background:linear-gradient(90deg,#2fa84f,#2c7be5);
}

/* ================= LISTS ================= */

.vp-footer ul{list-style:none;padding:0;margin:0;}
.vp-footer ul li{margin-bottom:8px;}
.vp-footer ul li a{
  color:#cbd5e1;
  text-decoration:none;
}
.vp-footer ul li a:hover{color:#2fa84f;}

.vp-footer-contact li{display:flex;gap:6px;}

/* ================= EXTRAS ================= */

.vp-footer-extras{
  max-width:1250px;
  margin:auto;
  padding:50px 28px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  border-top:1px solid rgba(255,255,255,0.12);
}

/* FLAGS */
.vp-flags-roller{overflow:hidden;}
.vp-flags-track{
  display:flex;
  gap:10px;
  animation:flagRoll 18s linear infinite;
}
.vp-flags-track span{
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,0.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}

@keyframes flagRoll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* CERTIFICATIONS */
.vp-certifications{
  display:flex;
  flex-wrap:wrap;
}
.vp-certifications span{
  margin:6px;
  padding:6px 14px;
  border-radius:20px;
  font-size:12px;
  font-weight:600;
  background:linear-gradient(135deg,#2fa84f,#2c7be5);
  color:#fff;
}

/* SOCIAL */
.vp-footer-social{
  display:flex;
  gap:14px;
}
.vp-social{
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:bold;
  color:#fff;
}
.vp-social.linkedin{background:#0a66c2;}
.vp-social.whatsapp{background:#25d366;}

/* BOTTOM */
.vp-footer-bottom{
  text-align:center;
  padding:16px;
  font-size:12px;
  border-top:1px solid rgba(255,255,255,0.1);
  color:#94a3b8;
}

/* BACK TO TOP */
.vp-back-to-top{
  position:fixed;
  right:16px;
  bottom:16px;
  width:46px;
  height:46px;
  border-radius:14px;
  border:none;
  display:none;
  background:linear-gradient(135deg,#2fa84f,#2c7be5);
  color:#fff;
  font-size:20px;
  z-index:999;
}
.vp-back-to-top.show{display:block;}

/* ================= PHONE FIRST ================= */

@media(max-width:768px){

  .vp-footer-inner{
    grid-template-columns:1fr;
    padding:48px 18px 40px;
    gap:28px;
    text-align:center;
  }

  .vp-footer-extras{
    grid-template-columns:1fr;
    padding:36px 18px;
    gap:26px;
    text-align:center;
  }

  .vp-footer h4::after{
    margin-left:auto;
    margin-right:auto;
  }

  .vp-footer-contact li{
    justify-content:center;
  }

  .vp-footer-social{
    justify-content:center;
  }

  .vp-flags-track{
    justify-content:center;
    animation-duration:22s;
  }

}/* End custom CSS */