/* ============================================================
   TellTours - Footer
   ============================================================ */

.site-footer {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 80px 0 40px;
  background: var(--surface-alt);
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 60px;
}
.f-col h4 {
  font-family: var(--serif);
  font-size: 20px;
  color: #fff;
  margin-bottom: 20px;
}
.f-col p { font-size: 14.5px; color: var(--ink-mid); max-width: 280px; line-height: 1.6; }
.f-col ul { display: flex; flex-direction: column; gap: 12px; }
.f-col a { font-size: 14.5px; color: var(--ink-mid); transition: color 0.2s; }
.f-col a:hover { color: #fff; }

.f-logo { margin-bottom: 18px; }

/* ── Social icons ── */
.f-socials { display: flex; gap: 12px; margin-top: 24px; }
.f-social {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  display: grid; place-items: center;
  color: var(--ink-dim);
  transition: transform 0.2s, background 0.2s, color 0.2s;
}
.f-social:hover {
  transform: scale(1.08);
  background: var(--green-soft);
  color: var(--green-light);
  border-color: rgba(52,161,96,0.4);
}

/* ── Bottom row ── */
.f-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-size: 13px;
  color: var(--ink-dim);
}
.f-legal { display: flex; gap: 20px; flex-wrap: wrap; }
.f-legal a:hover { color: #fff; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .f-col:first-child { grid-column: 1 / -1; margin-bottom: 20px; }
}
@media (max-width: 520px) {
  .footer-grid { grid-template-columns: 1fr; }
  .f-col:first-child { margin-bottom: 0; }
  .f-bottom { flex-direction: column; align-items: flex-start; }
}
