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

.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }
.text-soft { color: var(--text-soft); }

.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.gap-2 { gap: var(--space-2); }
.gap-4 { gap: var(--space-4); }
.gap-6 { gap: var(--space-6); }
.wrap { flex-wrap: wrap; }

.w-full { width: 100%; }

.hidden { display: none !important; }

/* Solid placeholder media (used in place of photography) */
.placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  color: var(--steel-light);
  background: var(--gray-100);
  padding: var(--space-6);
  text-align: center;
}

.placeholder--navy {
  background: var(--navy-soft);
  color: var(--gray-300);
}

.placeholder svg {
  color: var(--steel);
}

.placeholder span {
  font-weight: 600;
  font-size: var(--text-sm);
}
