/* ============ SHARED FOOTER ============ */
.walk-zone {
  position: relative;
  z-index: 2;
  height: 220px;
  overflow: hidden;
}

.footer-interactive-container {
  position: absolute;
  bottom: 0;
  left: -391px;
  width: 391px;
  height: 214px;
  cursor: pointer;
  animation: walkLeftToRight 40s linear infinite;
  z-index: 5;
}

@keyframes walkLeftToRight {
  0%   { left: -391px; }
  100% { left: 100%; }
}

.footer-interactive-container img { width: 100%; height: 100%; object-fit: contain; display: block; }

.footer-speech-bubble {
  position: absolute;
  top: 6px; left: 50%;
  transform: translateX(-50%);
  background: #1F2A22; color: #EFE6D0;
  padding: 5px 12px; border-radius: 14px 14px 14px 3px;
  font-family: 'Kalam', cursive; font-weight: 700; font-size: 12.5px;
  white-space: nowrap; opacity: 0; transition: opacity 0.25s ease; z-index: 6;
}

.site-footer {
  position: relative;
  z-index: 2;
  background-color: #1F2A22;
  color: #EFE6D0;
  font-family: 'Inter', sans-serif;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  padding: 30px 6vw 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.footer-grid h4 { font-family: 'Kalam', cursive; font-size: 16px; margin-bottom: 14px; color: #C9BF9F; }
.footer-grid a { display: block; color: #EFE6D0; text-decoration: none; font-size: 14px; margin-bottom: 10px; opacity: 0.9; }
.footer-grid a:hover { opacity: 1; text-decoration: underline; }
.footer-grid p { font-size: 13px; opacity: 0.8; }

.footer-content {
  text-align: center;
  padding: 16px 6vw 24px;
  font-size: 13px;
  color: #B8AF94;
  border-top: 1px solid rgba(239,230,208,0.12);
}

@media (max-width: 860px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
