/**
 * Utilities — New Super Photography
 * Source of truth: ARCHITECTURE.md & DESIGN_SYSTEM.md
 */

/* Visually Hidden (Accessible for Screen Readers only) */
.sr-only,
.visually-hidden {
  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;
}

/* Allow focusable elements with .sr-only to become visible on focus */
.sr-only-focusable:focus-visible {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

/* Text alignments */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/* Color helpers */
.text-gold {
  color: var(--color-gold) !important;
}

.text-white {
  color: var(--color-white) !important;
}

.text-muted {
  color: var(--color-muted) !important;
}

.text-muted-dark {
  color: var(--color-muted-on-dark) !important;
}

/* Display & Visibility */
.is-hidden {
  display: none !important;
}

.no-scroll {
  overflow: hidden !important;
}

/* Subtle margin utilities */
.mb-0 { margin-bottom: 0 !important; }
.mb-2 { margin-bottom: var(--space-2) !important; }
.mb-4 { margin-bottom: var(--space-4) !important; }
.mb-6 { margin-bottom: var(--space-6) !important; }
.mb-8 { margin-bottom: var(--space-8) !important; }

.mt-0 { margin-top: 0 !important; }
.mt-4 { margin-top: var(--space-4) !important; }
.mt-8 { margin-top: var(--space-8) !important; }
