/* ══════════════════════════════════════════
   FOOTER CSS
   ══════════════════════════════════════════ */
footer {
  background: linear-gradient(170deg, #0b1a52 0%, var(--navy-dark) 60%, #050d2e 100%);
  color: rgba(255,255,255,.75);
  padding: 0;
  position: relative;
  overflow: hidden;
}
footer::before {
  content: '';
  position: absolute;
  top: -120px; left: -120px;
  width: 420px; height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59,125,232,.13) 0%, transparent 70%);
  pointer-events: none;
}
footer::after {
  content: '';
  position: absolute;
  bottom: 80px; right: -80px;
  width: 320px; height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,117,10,.08) 0%, transparent 70%);
  pointer-events: none;
}

/* Newsletter bar */
.footer-newsletter {
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.07);
  padding: 28px 0;
}
.footer-newsletter .container {
  display: flex; align-items: center;
  justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.fnl-text { display: flex; align-items: center; gap: 14px; }
.fnl-icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: linear-gradient(135deg, var(--sky), var(--accent));
  display: grid; place-items: center;
  font-size: 1.1rem; color: #fff; flex-shrink: 0;
}
.fnl-text h4 { font-size: 1rem; font-weight: 700; color: #fff; }
.fnl-text p  { font-size: .82rem; color: rgba(255,255,255,.45); margin-top: 1px; }
.fnl-form { display: flex; gap: 8px; }
.fnl-input {
  padding: 10px 18px; border-radius: 8px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff; font-family: var(--ff-body); font-size: .87rem;
  width: 240px; outline: none;
  transition: border .2s, background .2s;
}
.fnl-input::placeholder { color: rgba(255,255,255,.35); }
.fnl-input:focus { border-color: var(--sky); background: rgba(255,255,255,.1); }
.fnl-btn {
  padding: 10px 20px; border-radius: 8px;
  background: var(--accent); color: #fff;
  font-family: var(--ff); font-size: .85rem; font-weight: 700;
  border: none; cursor: pointer; white-space: nowrap;
  transition: background .2s, transform .2s;
}
.fnl-btn:hover { background: #d06509; transform: translateY(-1px); }

/* Main footer body */
.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.1fr;
  gap: 48px;
  padding: 60px 0 50px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.f-brand .logo { color: #fff; }
.f-brand > p {
  font-size: .875rem; line-height: 1.8;
  margin: 16px 0 24px;
  color: rgba(255,255,255,.72);
  max-width: 280px;
}

/* Social icons */
.f-socials { display: flex; gap: 9px; flex-wrap: wrap; }
.f-social {
  width: 38px; height: 38px; border-radius: 10px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: grid; place-items: center;
  font-size: .92rem; color: rgba(255,255,255,.55);
  transition: all .25s cubic-bezier(.34,1.56,.64,1);
}
.f-social:hover {
  background: var(--accent); border-color: var(--accent); color: #fff;
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 8px 20px rgba(232,117,10,.35);
}
.f-social.fb:hover { background: #1877f2; border-color: #1877f2; box-shadow: 0 8px 20px rgba(24,119,242,.35); }
.f-social.ig:hover { background: linear-gradient(135deg,#f58529,#dd2a7b,#8134af); border-color: #dd2a7b; box-shadow: 0 8px 20px rgba(221,42,123,.35); }
.f-social.li:hover { background: #0a66c2; border-color: #0a66c2; box-shadow: 0 8px 20px rgba(10,102,194,.35); }
.f-social.tw:hover { background: #000; border-color: #555; box-shadow: 0 8px 20px rgba(0,0,0,.35); }
.f-social.wa:hover { background: #25d366; border-color: #25d366; box-shadow: 0 8px 20px rgba(37,211,102,.35); }

/* Column headings */
.f-col h5 {
  font-size: .72rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .14em;
  color: rgba(255,255,255,.35);
  margin-bottom: 20px;
  display: flex; align-items: center; gap: 8px;
}
.f-col h5::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.08); }

.f-col ul { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.f-col ul li a {
  font-size: .875rem; color: rgba(255,255,255,.75);
  transition: all .2s; display: flex; align-items: center; gap: 9px;
  padding: 5px 0; border-radius: 6px;
}
.f-col ul li a i { font-size: .72rem; color: rgba(255,255,255,.2); transition: color .2s, transform .2s; width: 14px; text-align: center; }
.f-col ul li a:hover { color: #fff; padding-left: 4px; }
.f-col ul li a:hover i { color: var(--accent); transform: translateX(2px); }

/* Contact column */
.f-contact-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.05);
}
.f-contact-item:last-child { border-bottom: none; }
.f-ci-icon {
  width: 34px; height: 34px; border-radius: 8px; flex-shrink: 0;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08);
  display: grid; place-items: center;
  font-size: .85rem; color: var(--sky); transition: all .2s;
}
.f-contact-item:hover .f-ci-icon { background: var(--accent); border-color: var(--accent); color: #fff; }
.f-ci-text { display: flex; flex-direction: column; }
.f-ci-label { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 2px; }
.f-ci-val { font-size: .875rem; color: rgba(255,255,255,.82); transition: color .2s; }
.f-contact-item:hover .f-ci-val { color: #fff; }

/* Footer bottom */
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px;
  padding: 22px 80px 22px 0;
  font-size: .78rem; color: rgba(255,255,255,.55);
}
.footer-bottom a { color: rgba(255,255,255,.65); transition: color .2s; }
.footer-bottom a:hover { color: var(--accent); }
.fb-right { display: flex; align-items: center; gap: 6px; }
.fb-heart { color: #e74c3c; animation: hb 1.4s ease-in-out infinite; display: inline-block; }
@keyframes hb { 0%,100%{transform:scale(1);} 50%{transform:scale(1.3);} }

/* AI Chat Widget float styles are injected by chatbot/chatbot.js */

/* ── FOOTER RESPONSIVE ── */
@media(max-width:1060px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; }
  .fnl-input { width: 180px; }
}
@media(max-width:1049px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
}
/* Mobile chat widget breakpoints handled inside chatbot/chatbot.js */
@media(max-width:540px) {
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 6px; }
  .footer-newsletter .container { flex-direction: column; align-items: flex-start; }
  .fnl-form { width: 100%; }
  .fnl-input { flex: 1; width: auto; }
  .f-brand > p { max-width: 100%; }
}