/* --------------------------------------------------------------
   AvaPartner Footer v2 (Figma redesign)

   Self-contained, token-driven footer styling scoped under
   `.site-footer--v2`. Loaded after the legacy stylesheets so it
   overrides the old footer layout without touching other pages.
   Layout matches Figma node 1216:1764: a single left-aligned nav
   row (lime links) under a top hairline, a Follow Us block with
   lime social icons, and the wordmark + copyright inline on the
   bottom row.
   -------------------------------------------------------------- */
.footer-wrapper {
  padding: 0 !important;
}

.site-footer--v2 {
  /* Color tokens */
  --apf-color-bg: #101820;
  --apf-color-text: #ffffff;
  --apf-color-muted: rgba(255, 255, 255, 0.6);
  --apf-color-accent: #4c62fd;
  --apf-color-lime: #e5ff91;
  --apf-color-border: rgba(255, 255, 255, 0.12);
  --apf-color-social-icon: #101820;

  /* Spacing tokens (shared scale with header v2) */
  --apf-space-1: 4px;
  --apf-space-2: 8px;
  --apf-space-3: 12px;
  --apf-space-4: 16px;
  --apf-space-5: 24px;
  --apf-space-6: 32px;

  /* Typography tokens */
  --apf-font-xs: 11px;
  --apf-font-sm: 12px;
  --apf-font-md: 13px;
  --apf-font-lg: 18px;

  --apf-container: 1200px;
  --apf-transition: 0.2s ease-in-out;
}

.site-footer--v2 *,
.site-footer--v2 *::before,
.site-footer--v2 *::after {
  box-sizing: border-box;
}

.site-footer--v2 .apf-wrapper {
  background-color: var(--apf-color-bg);
  color: var(--apf-color-text);
  border-top: 1px solid var(--apf-color-border);
  padding-bottom: var(--apf-space-6);
  text-align: left;
}

.site-footer--v2 .apf-container {
  width: 100%;
  max-width: var(--apf-container);
  margin: 0 auto;
  padding-left: var(--apf-space-5);
  padding-right: var(--apf-space-5);
  padding-bottom: 110px;
}

/* --------------------------------------------------------------
   Footer navigation (single row, lime links, hairline below)
   -------------------------------------------------------------- */
.site-footer--v2 .apf-nav {
  border-bottom: 1px solid var(--apf-color-border);
  margin-bottom: var(--apf-space-5);
}

.site-footer--v2 .apf-menu {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: self-start;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer--v2 .apf-menu li {
  margin: 0;
  padding: 16px 16px 16px 0;
  border-top: 1px solid var(--apf-color-border);
  width: 100%;
}

.site-footer--v2 .apf-menu a {
  display: inline-flex;
  align-items: center;
  gap: var(--apf-space-1);
  color: var(--apf-color-lime);
  font-size: var(--apf-font-lg);
  font-weight: 500;
  text-decoration: none;
  transition: color var(--apf-transition);
}

.site-footer--v2 .apf-menu a:hover,
.site-footer--v2 .apf-menu a:focus-visible {
  color: var(--apf-color-text);
}

.site-footer--v2 .apf-menu__chevron {
  width: 12px;
  height: 12px;
}

/* --------------------------------------------------------------
   Follow us / social icons (left-aligned, lime circles)
   -------------------------------------------------------------- */
.site-footer--v2 .apf-social {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--apf-space-3);
  margin-bottom: var(--apf-space-6);
}

.site-footer--v2 .apf-social__label {
  color: var(--apf-color-accent);
  font-size: var(--apf-font-md);
  font-weight: 700;
}

.site-footer--v2 .apf-social__icons {
  display: flex;
  align-items: center;
  gap: var(--apf-space-3);
}

.site-footer--v2 .apf-social__icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--apf-color-lime);
  color: var(--apf-color-social-icon);
  font-size: 11px;
  transition: transform var(--apf-transition), opacity var(--apf-transition);
}

.site-footer--v2 .apf-social__icons a:hover,
.site-footer--v2 .apf-social__icons a:focus-visible {
  transform: translateY(-2px);
  opacity: 0.85;
}

.site-footer--v2 .apf-social__x-icon {
  width: 11px;
  height: 11px;
}

/* --------------------------------------------------------------
   Bottom row (logo + copyright inline, left-aligned)
   -------------------------------------------------------------- */
.site-footer--v2 .apf-bottom {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--apf-space-4);
}

.site-footer--v2 .apf-logo {
  width: 110px;
  height: auto;
}

.site-footer--v2 .apf-copyright {
  color: var(--apf-color-text);
  font-size: var(--apf-font-xs);
}

@media (min-width: 640px) {
  .site-footer--v2 .apf-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: var(--apf-space-6);
    margin: 0;
    padding: var(--apf-space-4) 0;
    list-style: none;
    flex-direction: row;
  }
  .site-footer--v2 .apf-menu li {
    border: none;
    width: fit-content;
  }
  .site-footer--v2 .apf-container {
    padding-bottom: 0px;
  }
  .site-footer--v2 .apf-logo {
    width: 213px;
  }
  .footer-wrapper {
    padding-bottom: 60px !important;
  }
}
/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .site-footer--v2 * {
    transition: none !important;
  }
}
