/* =========================================================
   FOOTER (AntiqueHerbs) — Modern + User Friendly
   ========================================================= */

.site-footer{
  position: relative;
  overflow: hidden;
  margin-top: 60px;
  padding: 70px 0 22px;

  color: rgba(233,241,236,.92);
  background: linear-gradient(180deg, var(--primary-dark), var(--dark));
}

/* subtle glow */
/* .site-footer::before{
  content:"";
  position:absolute;
  inset:-200px -200px auto -200px;
  height: 380px;
  background: radial-gradient(circle at 30% 40%, rgba(204,150,48,.18), transparent 55%);
  pointer-events:none;
} */

.site-footer::after{
  content:"";
  position:absolute;
  inset:auto -240px -240px auto;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle at 60% 60%, rgba(188,223,206,.16), transparent 60%);
  pointer-events:none;
}

.site-footer a{
  color: inherit;
  text-decoration: none;
}

.site-footer a:hover{
  color: #ffffff;
}

/* top grid */
.footer-top{
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 26px;
  align-items: stretch;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(233,241,236,.12);
}

/* Brand column */
.footer-brand{
  display:flex;
  flex-direction: column;
  gap: 14px;
}

.footer-brand .custom-logo,
.footer-brand img{
  max-width: 190px;
  height:auto;
  filter: brightness(0) invert(1);
}

.footer-site-title{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .2px;
}

/* Contact chips */
.footer-contact{
  list-style: none;
  margin: 0;
  padding: 0;

  display:flex;
  flex-direction: column;
  gap: 10px;
}

.footer-contact a{
  display:inline-flex;
  align-items:center;
  gap: 10px;

  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(233,241,236,.14);
  width: fit-content;

  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.footer-contact a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(233,241,236,.22);
}

/* Follow + social */
.footer-follow{
  margin-top: 8px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  color: rgba(233,241,236,.85);
}

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

.footer-social a{
  width: 40px;
  height: 40px;
  border-radius: 999px;

  display:flex;
  align-items:center;
  justify-content:center;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(233,241,236,.14);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.footer-social a:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.12);
  border-color: rgba(233,241,236,.24);
}

/* Menu cards */
.footer-column{
  display:flex;
}

.footer-menu-wrap{
  width: 100%;
  padding: 22px 22px 18px;
  border-radius: 16px;

  background: rgba(255,255,255,.05);
  border: 1px solid rgba(233,241,236,.12);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);

  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.footer-menu-wrap:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.07);
  border-color: rgba(233,241,236,.18);
}

.footer-heading{
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 12px;
  letter-spacing: .2px;
  position: relative;
  padding-bottom: 10px;
}

.footer-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 44px;
  height: 3px;
  border-radius: 999px;
  background: rgba(204,150,48,.9);
}

.footer-menu{
  list-style:none;
  margin:0;
  padding:0;

  display:flex;
  flex-direction: column;
  gap: 8px;
}

.footer-menu a{
  display:inline-flex;
  align-items:center;
  gap: 10px;

  font-size: 14px;
  color: rgba(233,241,236,.88);

  transition: transform .12s ease, color .12s ease;
}

.footer-menu a:hover{
  color: #fff;
  transform: translateX(2px);
}

/* Bottom */
.footer-bottom{
  position: relative;
  z-index: 1;
  padding-top: 18px;
  text-align:center;
  font-size: 13px;
  color: rgba(233,241,236,.75);
}

/* Responsive */
@media (max-width: 900px){
  .footer-top{
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
  }

  .footer-brand{
    align-items: center;
  }

  .footer-contact a{
    margin: 0 auto;
  }

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

  .footer-heading::after{
    left: 50%;
    transform: translateX(-50%);
  }
}
