/* ============================================================
   FOOTER + FLOATING WA — Fitness Garage
   ============================================================ */

#footer {
  background: #040404;
  border-top: 1px solid var(--border);
}

.ft-main {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 52px; padding: 68px 80px 40px;
}

/* Brand col */
.ft-brand {}
.ft-logo {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 14px;
}
.ft-logo img { height: 36px; width: auto; }
/* Fallback text logo if no image */
.ft-logo-txt { font-family:var(--ff-bb); font-size:19px; letter-spacing:3px; }
.ft-logo-txt span { color:var(--silver); }
.ft-logo-img {
  height: 36px;
  width: auto;
  display: block;
  object-fit: contain;
}

.ft-desc { font-size:13px; line-height:1.85; color:rgba(255,255,255,0.6); max-width:240px; }
.ft-tagline { font-size:12px; color:rgba(255,255,255,0.6); font-style:italic; margin-top:8px; line-height:1.6; max-width:240px; }

.ft-soc { display:flex; gap:8px; margin-top:18px; }
.ft-soc a {
  width:34px; height:34px; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-size:14px;
  transition:all .3s;
}
.ft-soc a:hover { background:var(--white); border-color:var(--white); color:var(--black); }

/* Link cols */
.ft-col-ttl { font-family:var(--ff-con); font-weight:700; font-size:11px; letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
.ft-links { display:flex; flex-direction:column; gap:10px; }
.ft-links a { font-size:13px; color:var(--gray); display:flex; align-items:center; gap:7px; transition:all .3s; }
.ft-links a .arr { font-size:10px; color:var(--silver); opacity:0; transform:translateX(-4px); transition:all .3s; }
.ft-links a:hover { color:var(--white); padding-left:4px; }
.ft-links a:hover .arr { opacity:1; transform:translateX(0); }

/* Bottom bar */
.ft-bot {
  border-top: 1px solid var(--border); padding: 18px 80px;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 11px; color: var(--gray); flex-wrap: wrap; gap: 10px;
}
.ft-bot .hi { color: var(--white); }
.ft-bot-lnks { display:flex; gap:20px; }
.ft-bot-lnks a { color:var(--gray); font-size:11px; transition:color .3s; }
.ft-bot-lnks a:hover { color:var(--white); }

/* Floating WA */
.float-wa {
  position: fixed; bottom: 28px; right: 28px; z-index: 800;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--dark3); border: 1px solid var(--border2);
  display: flex; align-items: center; justify-content: center; font-size: 22px;
  box-shadow: 0 6px 24px rgba(0,0,0,.5);
  animation: fltB 3s ease-in-out infinite;
  transition: background .3s, transform .3s;
}
.float-wa:hover { background: #25D366; animation-play-state:paused; transform:scale(1.1); }
@keyframes fltB { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);} }
.float-wa:hover { animation-play-state: paused; }

@media (max-width:1100px) { .ft-main { grid-template-columns:1fr 1fr; gap:36px; } }
@media (max-width:768px) {
  .ft-main { grid-template-columns:1fr; padding:44px 20px 28px; }
  .ft-bot  { padding:16px 20px; flex-direction:column; text-align:center; }
}
