/* ==========================================================================
   MOVEMOS PAÍS — UTILITIES
   --------------------------------------------------------------------------
   Clases utilitarias mínimas. Solo lo estrictamente necesario.
   Carga al final.
   ========================================================================== */

/* Visibility */
.mp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
[hidden] { display: none !important; }

/* Spacing helpers (top/bottom margin) */
.mp-mt-0 { margin-top: 0; }
.mp-mt-2 { margin-top: var(--space-2); }
.mp-mt-3 { margin-top: var(--space-3); }
.mp-mt-4 { margin-top: var(--space-4); }
.mp-mt-6 { margin-top: var(--space-6); }
.mp-mt-8 { margin-top: var(--space-8); }
.mp-mt-12 { margin-top: var(--space-12); }

.mp-mb-0 { margin-bottom: 0; }
.mp-mb-2 { margin-bottom: var(--space-2); }
.mp-mb-3 { margin-bottom: var(--space-3); }
.mp-mb-4 { margin-bottom: var(--space-4); }
.mp-mb-6 { margin-bottom: var(--space-6); }
.mp-mb-8 { margin-bottom: var(--space-8); }
.mp-mb-12 { margin-bottom: var(--space-12); }

/* Text alignment */
.mp-text-center { text-align: center; }
.mp-text-right  { text-align: right; }

/* Flex helpers */
.mp-flex { display: flex; }
.mp-flex-wrap { flex-wrap: wrap; }
.mp-flex-center { display: flex; align-items: center; justify-content: center; }
.mp-gap-2 { gap: var(--space-2); }
.mp-gap-3 { gap: var(--space-3); }
.mp-gap-4 { gap: var(--space-4); }
.mp-gap-6 { gap: var(--space-6); }

/* Stack (vertical rhythm) */
.mp-stack > * + * { margin-top: var(--space-4); }
.mp-stack-sm > * + * { margin-top: var(--space-2); }
.mp-stack-lg > * + * { margin-top: var(--space-8); }

/* Color helpers */
.mp-text-accent { color: var(--brand-amarillo-500); }
.mp-text-muted  { color: var(--color-text-muted); }

/* Display */
.mp-hide-mobile { display: none; }
@media (min-width: 60em) {
  .mp-hide-mobile { display: initial; }
  .mp-hide-desktop { display: none; }
}

/* Link "ver todas" */
.mp-link-more {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--brand-azul-800);
}
.mp-link-more:hover { color: var(--brand-azul-700); }
.mp-link-more::after { content: '→'; transition: transform var(--motion-fast) var(--easing-default); }
.mp-link-more:hover::after { transform: translateX(3px); }
