/* Visibility */
.hidden {
  display: none !important;
}

.invisible {
  visibility: hidden !important;
}

/* Screen readers */
.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;
}

/* Text utilities */
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Flexbox utilities */
.flex {
  display: flex !important;
}

.flex-col {
  flex-direction: column !important;
}

.items-center {
  align-items: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

.gap-sm {
  gap: var(--spacing-sm) !important;
}

.gap-md {
  gap: var(--spacing-md) !important;
}

/* Spacing utilities */
.m-0 { margin: 0 !important; }
.p-0 { padding: 0 !important; }

.mt-auto { margin-top: auto !important; }
.mb-auto { margin-bottom: auto !important; }

/* Display utilities */
.block { display: block !important; }
.inline-block { display: inline-block !important; }
.inline { display: inline !important; }

/* Custom scrollbar styling */
.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: var(--color-surface-elevated) transparent;
}

.custom-scrollbar::-webkit-scrollbar {
  width: 4px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: var(--color-surface-elevated);
  border-radius: var(--radius-full);
}

/* Media query utilities */
.hide-on-mobile {
  @media (max-width: 768px) {
    display: none !important;
  }
}

.hide-on-tablet {
  @media (max-width: 1200px) {
    display: none !important;
  }
}
  