/* =============================================
   GROWUPHOST — PREMIUM FOOTER
   ============================================= */
.gf-footer{
  background:#1e293b;
  color:#cbd5e1;
  font-family:'Inter','Nunito',sans-serif;
  position:relative;
  overflow:hidden;
  border-top:1px solid #334155;
}

/* animated gradient top border */
.gf-footer::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,#2563eb,#7c3aed,#16a34a,#2563eb);
  background-size:300% 100%;
  animation:gf-border 6s linear infinite;
}
@keyframes gf-border{0%{background-position:0%}100%{background-position:300%}}

/* subtle dot grid bg */
.gf-footer::after{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
}

.gf-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
  position:relative;
  z-index:2;
}

/* ── TOP SECTION ── */
.gf-top{
  padding:64px 0 48px;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;
}

/* ── BRAND COL ── */
.gf-brand-logo{
  display:block;
  margin-bottom:18px;
}
.gf-brand-logo img{
  height:38px;
  width:auto;
  filter:brightness(1.1);
}
.gf-brand-desc{
  font-size:14px;
  line-height:1.8;
  color:#94a3b8;
  max-width:300px;
  margin-bottom:24px;
}

/* trust badges */
.gf-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:28px;
}
.gf-trust-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(37,99,235,.15);
  border:1px solid rgba(37,99,235,.3);
  color:#93c5fd;
  font-size:12px;
  font-weight:600;
  padding:5px 12px;
  border-radius:20px;
}
.gf-trust-badge svg{
  width:13px;height:13px;
  stroke:#93c5fd;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}

/* contact links */
.gf-contact-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:28px;
}
.gf-contact-links a{
  display:flex;
  align-items:center;
  gap:10px;
  color:#94a3b8;
  text-decoration:none;
  font-size:13px;
  font-weight:500;
  transition:color .2s;
}
.gf-contact-links a:hover{color:#e2e8f0;}
.gf-contact-links a svg{
  width:15px;height:15px;
  stroke:#2563eb;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;
}

/* social icons */
.gf-social{
  display:flex;
  gap:10px;
}
.gf-social a{
  width:38px;height:38px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  transition:background .25s,border-color .25s,transform .25s;
}
.gf-social a:hover{
  background:rgba(37,99,235,.25);
  border-color:rgba(37,99,235,.5);
  transform:translateY(-3px);
}
.gf-social a svg{
  width:16px;height:16px;
  fill:none;stroke:#94a3b8;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .25s;
}
.gf-social a:hover svg{stroke:#93c5fd;}

/* ── LINK COLUMNS ── */
.gf-col-title{
  font-size:13px;
  font-weight:800;
  color:#f1f5f9;
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  gap:8px;
}
.gf-col-title svg{
  width:15px;height:15px;
  stroke:#60a5fa;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.gf-links{
  list-style:none;
  padding:0;margin:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.gf-links li a{
  display:flex;
  align-items:center;
  gap:8px;
  color:#94a3b8;
  text-decoration:none;
  font-size:13.5px;
  font-weight:500;
  padding:6px 0;
  border-radius:6px;
  transition:color .2s,padding-left .2s;
}
.gf-links li a:hover{
  color:#e2e8f0;
  padding-left:6px;
}
.gf-links li a svg{
  width:14px;height:14px;
  stroke:#60a5fa;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;
  opacity:.6;
  transition:opacity .2s;
}
.gf-links li a:hover svg{opacity:1;}
.gf-links li a svg{
  width:14px;height:14px;
  stroke:#2563eb;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;
  opacity:.7;
  transition:opacity .2s;
}
.gf-links li a:hover svg{opacity:1;}

/* ── DIVIDER ── */
.gf-divider{
  height:1px;
  background:rgba(255,255,255,.08);
  margin:0;
}

/* ── BOTTOM BAR ── */
.gf-bottom{
  padding:22px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
}
.gf-copy{
  font-size:13px;
  color:#64748b;
}
.gf-copy span{color:#60a5fa;font-weight:600;}
.gf-legal{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.gf-legal a{
  font-size:12.5px;
  color:#64748b;
  text-decoration:none;
  padding:4px 10px;
  border-radius:6px;
  transition:color .2s,background .2s;
}
.gf-legal a:hover{color:#e2e8f0;background:rgba(255,255,255,.06);}
.gf-legal span{color:#334155;}

/* ── UPTIME BADGE ── */
.gf-uptime{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:600;
  color:#22c55e;
}
.gf-uptime-dot{
  width:7px;height:7px;
  background:#22c55e;
  border-radius:50%;
  animation:gf-pulse 2s ease-in-out infinite;
}
@keyframes gf-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4);}
  50%{box-shadow:0 0 0 5px rgba(34,197,94,0);}
}

@media (prefers-reduced-motion: reduce) {
  .gf-footer::before, .gf-uptime-dot {
    animation: none !important;
  }
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .gf-top{grid-template-columns:1fr 1fr;gap:36px;}
}
@media(max-width:640px){
  .gf-top{grid-template-columns:1fr;gap:32px;padding:44px 0 36px;}
  .gf-bottom{flex-direction:column;text-align:center;}
  .gf-legal{justify-content:center;}
}
