/* Responsive Design */
@media (max-width: 768px) {
  .nav-container {
    flex-direction: column;
    gap: var(--spacing-md);
  }

  .main-content {
    padding: var(--spacing-sm);
  }

  .card {
    padding: var(--spacing-sm);
  }

  .tabs {
    flex-wrap: wrap;
  }

  .tab {
    flex: 1 0 45%;
    text-align: center;
  }

  .editor-container {
    height: 60vh;
  }
}

@media (max-width: 480px) {
  .nav-brand h1 {
    font-size: 1.25rem;
  }

  .nav-link {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-sm);
  }

  .btn {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-sm);
  }

  .tab {
    flex: 1 0 100%;
  }

  .editor-container {
    height: 50vh;
  }
}

/* Utility classes for responsive behavior */
.show-mobile {
  display: none;
}

@media (max-width: 768px) {
  .show-mobile {
    display: block;
  }
}

.hide-mobile {
  display: block;
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none;
  }
}

/* Grid system for responsive layouts */
.grid {
  display: grid;
  gap: var(--spacing-md);
}

@media (min-width: 769px) {
  .grid-cols-1 {
    grid-template-columns: 1fr;
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .grid-cols-1,
  .grid-cols-2,
  .grid-cols-3 {
    grid-template-columns: 1fr;
  }
}