/* Utilities + accessibility primitives. */

/* Skip-to-main link — first focusable element on page. */
[data-mr="1"] .mr-skip-link {
  position: fixed;
  top: var(--mr-space-3);
  left: var(--mr-space-3);
  z-index: var(--mr-z-tooltip);
  padding: var(--mr-space-3) var(--mr-space-4);
  background: var(--mr-navy-800);
  color: var(--mr-white);
  font-weight: var(--mr-fw-semi);
  font-size: var(--mr-fs-body-sm);
  border-radius: var(--mr-radius-sm);
  text-decoration: none;
  box-shadow: var(--mr-shadow-md);
  clip-path: inset(50%);
  transform: translateY(-200%);
  transition: transform var(--mr-dur-short) var(--mr-ease-emphasis);
}

[data-mr="1"] .mr-skip-link:focus {
  clip-path: none;
  transform: translateY(0);
  outline: none;
}

/* Visually hidden (screen-reader only). */
[data-mr="1"] .mr-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Display utilities. */
[data-mr="1"] .mr-hide { display: none !important; }
[data-mr="1"] .mr-block { display: block; }
[data-mr="1"] .mr-inline-block { display: inline-block; }
[data-mr="1"] .mr-flex { display: flex; }
[data-mr="1"] .mr-inline-flex { display: inline-flex; }

/* Text alignment. */
[data-mr="1"] .mr-text-center { text-align: center; }
[data-mr="1"] .mr-text-left { text-align: left; }

/* Spacing helpers (mt/mb only — keep small). */
[data-mr="1"] .mr-mt-2 { margin-top: var(--mr-space-2); }
[data-mr="1"] .mr-mt-4 { margin-top: var(--mr-space-4); }
[data-mr="1"] .mr-mt-6 { margin-top: var(--mr-space-6); }
[data-mr="1"] .mr-mt-9 { margin-top: var(--mr-space-9); }
[data-mr="1"] .mr-mb-2 { margin-bottom: var(--mr-space-2); }
[data-mr="1"] .mr-mb-4 { margin-bottom: var(--mr-space-4); }
[data-mr="1"] .mr-mb-6 { margin-bottom: var(--mr-space-6); }
[data-mr="1"] .mr-mb-9 { margin-bottom: var(--mr-space-9); }

/* Color helpers. */
[data-mr="1"] .mr-text-primary { color: var(--mr-text-primary); }
[data-mr="1"] .mr-text-secondary { color: var(--mr-text-secondary); }
[data-mr="1"] .mr-text-muted { color: var(--mr-text-muted); }
[data-mr="1"] .mr-text-on-dark { color: var(--mr-text-on-dark); }

/* Responsive breakpoints visibility. */
@media (max-width: 768px) {
  [data-mr="1"] .mr-hide-mobile { display: none !important; }
}

@media (min-width: 769px) {
  [data-mr="1"] .mr-show-mobile-only { display: none !important; }
}
