.footer{
  margin-top:80px;
  background:linear-gradient(135deg,#ffffff,#f8fafc,#f1f5f9);
  color:#334155;
  position:relative;
  overflow:hidden;
}

/* pink glow lembut dari header */
.footer::before{
  content:"";
  position:absolute;
  left:0;right:0;top:-120px;
  height:220px;
  background:radial-gradient(circle at top, rgba(236,72,153,.12), transparent 65%);
  pointer-events:none;
}

/* ===== SOCIAL ===== */
.footer-social{
  border-bottom:1px solid #e5e7eb;
  padding:32px 16px;
  text-align:center;
  position:relative;
  z-index:1;
}

.footer-social span{
  display:block;
  margin-bottom:16px;
  font-weight:800;
  color:#0f172a;
}

/* ICON */
.footer-social-icons{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.footer-social-icons .soc{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:21px;
  transition:.3s;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}

.footer-social-icons .soc:hover{
  transform:translateY(-5px) scale(1.1);
  box-shadow:
    0 14px 26px rgba(0,0,0,.22),
    0 0 18px rgba(236,72,153,.3);
}

/* ===== WARNA SOSMED ===== */
.soc.fb{background:#1877F2}
.soc.ig{background:radial-gradient(circle at 30% 30%,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5)}
.soc.wa{background:#25D366}
.soc.tg{background:#229ED9}
.soc.yt{background:#FF0000}
.soc.tt{background:#000}
.soc.shopee{background:linear-gradient(135deg,#ff7337,#fb5607);font-weight:800}

/* ===== MAIN ===== */
.footer-main{
  padding:75px 0 50px;
  position:relative;
  z-index:1;
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:50px;
}

/* judul */
.footer h4{
  color:#ec4899;
  margin-bottom:16px;
  font-weight:900;
}

/* text */
.footer p{
  color:#475569;
  line-height:1.75;
}

/* link */
.footer a{
  display:inline-block;
  color:#475569;
  margin-bottom:10px;
  transition:.25s;
  font-weight:600;
}

.footer a:hover{
  color:#ec4899;
  transform:translateX(6px);
}

/* ===== BOTTOM ===== */
.footer-bottom{
  border-top:1px solid #e5e7eb;
  text-align:center;
  padding:20px 12px;
  font-size:13px;
  color:#64748b;
  background:#f8fafc;
  position:relative;
  z-index:1;
}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr}
}
