/* Utility classes */

/* Spacing */
.gb-mb-1 { margin-bottom: var(--gb-space-1); }
.gb-mb-2 { margin-bottom: var(--gb-space-2); }
.gb-mb-3 { margin-bottom: var(--gb-space-3); }
.gb-mb-4 { margin-bottom: var(--gb-space-4); }
.gb-mb-5 { margin-bottom: var(--gb-space-5); }
.gb-mb-6 { margin-bottom: var(--gb-space-6); }

.gb-mt-4 { margin-top: var(--gb-space-4); }
.gb-mt-5 { margin-top: var(--gb-space-5); }
.gb-mt-6 { margin-top: var(--gb-space-6); }

/* Text */
.gb-text-center { text-align: center; }
.gb-text-left { text-align: left; }
.gb-text-right { text-align: right; }

.gb-text-xs { font-size: var(--gb-text-xs); }
.gb-text-sm { font-size: var(--gb-text-sm); }
.gb-text-lg { font-size: var(--gb-text-lg); }
.gb-text-xl { font-size: var(--gb-text-xl); }
.gb-text-2xl { font-size: var(--gb-text-2xl); }
.gb-text-3xl { font-size: var(--gb-text-3xl); }

.gb-font-heading { font-family: var(--gb-font-heading); }
.gb-font-mono { font-family: var(--gb-font-mono); }

.gb-font-bold { font-weight: 700; }
.gb-font-semibold { font-weight: 600; }

/* Colors */
.gb-color-muted { color: var(--gb-color-muted); }
.gb-color-primary { color: var(--gb-color-primary); }

/* Display */
.gb-hidden { display: none; }
.gb-block { display: block; }
.gb-flex { display: flex; }
.gb-inline-flex { display: inline-flex; }

/* Grid */
.gb-grid-2 {
  display: grid;
  gap: var(--gb-space-5);
}

@media (min-width: 768px) {
  .gb-grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.gb-grid-3 {
  display: grid;
  gap: var(--gb-space-5);
}

@media (min-width: 768px) {
  .gb-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Responsive visibility */
@media (max-width: 767px) {
  .gb-hide-mobile { display: none; }
}

@media (min-width: 768px) {
  .gb-hide-desktop { display: none; }
}
