/* ==========================================================
   FOOTER
   Estructura común; la identidad visual se controla por tokens.
========================================================== */

.footer {
  padding: var(--footer-padding-block) 0;
  border-top: var(--footer-border);
  background: var(--footer-background);
}

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--footer-content-gap);
}

.footer-identity {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--footer-identity-size);
  line-height: 1.4;
}

.footer-name {
  color: var(--color-text);
  font-weight: var(--footer-name-weight);
}

.footer-divider,
.footer-location,
.footer-copy {
  color: var(--color-text-tertiary);
}

.footer-profession {
  color: var(--color-text-secondary);
}

.footer-copy {
  margin: 0;
  font-size: var(--footer-copy-size);
  white-space: nowrap;
}


.footer-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}

.atlas-digital-credit {
  color: var(--color-text-tertiary);
  font-size: 0.68rem;
  line-height: 1.3;
  text-decoration: none;
  opacity: 0.78;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.atlas-digital-credit strong {
  font-weight: 600;
}

.atlas-digital-credit:hover,
.atlas-digital-credit:focus-visible {
  color: var(--color-text-secondary);
  opacity: 1;
}

@media (max-width: 650px) {
  .footer {
    padding: 12px 0;
  }

  .footer-content {
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
  }

  .footer-meta {
    align-items: center;
  }

  .footer-copy {
    font-size: 0.75rem;
  }

  .footer-identity {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 6px;
  }
}
