/* Footer upgrade */

.footer-v2{
  position:relative;
  overflow:hidden;
  margin-top:80px;
  padding:82px 0 0;
  border-radius:56px 56px 0 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(77,231,243,.22), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(239,93,168,.18), transparent 34%),
    linear-gradient(180deg,#0b1b31 0%,#07111f 48%,#02050a 100%) !important;
  color:#fff;
}

.footer-v2::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 85%);
}

.footer-shape{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  filter:blur(4px);
}

.footer-shape-one{
  width:420px;
  height:420px;
  left:-150px;
  top:-140px;
  background:radial-gradient(circle,rgba(77,231,243,.30),transparent 65%);
  animation:footerFloatOne 7s ease-in-out infinite alternate;
}

.footer-shape-two{
  width:480px;
  height:480px;
  right:-190px;
  bottom:-180px;
  background:radial-gradient(circle,rgba(239,93,168,.22),transparent 65%);
  animation:footerFloatTwo 8s ease-in-out infinite alternate;
}

@keyframes footerFloatOne{
  from{transform:translate3d(0,0,0) scale(1);}
  to{transform:translate3d(28px,24px,0) scale(1.08);}
}

@keyframes footerFloatTwo{
  from{transform:translate3d(0,0,0) scale(1);}
  to{transform:translate3d(-24px,-20px,0) scale(1.07);}
}

.footer-v2 .container{
  position:relative;
  z-index:2;
}

/* Top CTA */
.footer-cta-v2{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:38px;
  border-radius:38px;
  background:
    radial-gradient(circle at 8% 12%,rgba(77,231,243,.20),transparent 34%),
    radial-gradient(circle at 92% 12%,rgba(239,93,168,.18),transparent 36%),
    linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.055)) !important;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 34px 95px rgba(0,0,0,.28);
  backdrop-filter:blur(20px);
}

.footer-cta-copy h2{
  max-width:760px;
  margin:10px 0 10px;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(34px,4.5vw,64px);
  line-height:.95;
  letter-spacing:-2px;
  color:#fff;
}

.footer-cta-copy p{
  max-width:650px;
  color:#c8d6e8 !important;
  margin:0;
}

.footer-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}

.footer-whatsapp{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
}

/* Main footer grid */
.footer-main-v2{
  display:grid;
  grid-template-columns:1.25fr .75fr .9fr .95fr;
  gap:22px;
  padding:42px 0 34px;
}

.footer-brand-v2,
.footer-links-card,
.footer-visit-card{
  position:relative;
  padding:26px;
  border-radius:30px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}

.footer-brand-v2:hover,
.footer-links-card:hover,
.footer-visit-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.10);
  border-color:rgba(77,231,243,.28);
}

.footer-logo-card{
  width:126px;
  min-height:86px;
  display:grid;
  place-items:center;
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:18px;
}

.footer-logo-card img{
  width:100%;
  height:auto;
}

.footer-brand-v2 p{
  color:#c8d6e8 !important;
  margin:0 0 18px;
}

.footer-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin:18px 0;
}

.footer-mini-grid div{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}

.footer-mini-grid strong{
  display:block;
  font-family:"Space Grotesk",sans-serif;
  font-size:28px;
  line-height:1;
  color:#fff;
}

.footer-mini-grid span{
  display:block;
  margin-top:6px;
  color:#b8c7db;
  font-size:12px;
  font-weight:800;
}

.footer-links-card h3,
.footer-visit-card h3{
  font-family:"Space Grotesk",sans-serif;
  color:#fff;
  font-size:24px;
  margin-bottom:18px;
}

.footer-links-card a{
  display:flex;
  align-items:center;
  gap:10px;
  color:#cdd8e8;
  padding:9px 0;
  transition:.22s ease;
}

.footer-links-card a::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(135deg,#4de7f3,#8b5cf6);
  opacity:.75;
}

.footer-links-card a:hover{
  color:#4de7f3;
  transform:translateX(5px);
}

.footer-visit-card span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(77,231,243,.14);
  color:#4de7f3;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:16px;
}

.footer-visit-card p{
  color:#c8d6e8 !important;
  margin-bottom:18px;
}

.footer-visit-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 18px;
  border-radius:999px;
  color:#07111f;
  background:linear-gradient(135deg,#4de7f3,#ffffff);
  font-weight:900;
}

.footer-social{
  display:flex;
  gap:10px;
  margin-top:18px;
}

.footer-social a{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  transition:.25s ease;
}

.footer-social a:hover{
  transform:translateY(-5px) rotate(-3deg);
  background:rgba(77,231,243,.16);
}

.footer-social img{
  width:27px;
  height:27px;
  object-fit:contain;
}

/* Bottom */
.footer-bottom-v2{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.12);
}

.footer-bottom-v2 p{
  margin:0;
  color:#b9c6d8 !important;
  font-size:14px;
}

.footer-bottom-links{
  display:flex;
  justify-content:center;
  gap:16px;
}

.footer-bottom-links a{
  color:#b9c6d8;
  font-size:14px;
}

.footer-bottom-links a:hover{
  color:#4de7f3;
}

.sitecoders-credit{
  text-align:right;
}

.sitecoders-credit a{
  color:#4de7f3;
  font-weight:900;
  position:relative;
}

.sitecoders-credit a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-3px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#4de7f3,#ef5da8);
}

/* Mobile footer */
@media(max-width:1100px){
  .footer-main-v2{
    grid-template-columns:1fr 1fr;
  }

  .footer-cta-v2{
    grid-template-columns:1fr;
  }

  .footer-cta-actions{
    justify-content:flex-start;
  }

  .footer-bottom-v2{
    grid-template-columns:1fr;
    text-align:center;
  }

  .sitecoders-credit{
    text-align:center;
  }
}

@media(max-width:640px){
  .footer-v2{
    margin-top:52px;
    padding-top:54px;
    border-radius:34px 34px 0 0;
  }

  .footer-cta-v2{
    padding:26px 20px;
    border-radius:28px;
    text-align:center;
  }

  .footer-cta-copy h2{
    font-size:34px;
    letter-spacing:-1.2px;
  }

  .footer-cta-actions{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }

  .footer-cta-actions .btn{
    width:100%;
  }

  .footer-main-v2{
    grid-template-columns:1fr;
    gap:16px;
    padding:28px 0 24px;
  }

  .footer-brand-v2,
  .footer-links-card,
  .footer-visit-card{
    padding:22px;
    border-radius:24px;
    text-align:center;
  }

  .footer-logo-card{
    margin-left:auto;
    margin-right:auto;
  }

  .footer-mini-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-social{
    justify-content:center;
  }

  .footer-links-card a{
    justify-content:center;
  }

  .footer-links-card a:hover{
    transform:none;
  }

  .footer-bottom-v2{
    padding:20px 0 92px;
  }
}
