/* Global responsive helpers */

/* Media-safe elements */
img,
video,
svg {
  max-width: 100%;
  height: auto;
}

/* Utility layout helpers */
.responsive-stack {
  display: flex;
  gap: var(--space-3);
}

.responsive-grid {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.hide-mobile {
  display: block;
}

.show-mobile {
  display: none;
}

@media (max-width: 992px) {
  .table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 768px) {
  .responsive-stack {
    flex-direction: column;
    align-items: stretch;
  }

  .responsive-grid {
    grid-template-columns: 1fr;
  }

  .styled-table th,
  .styled-table td {
    padding: var(--space-2) var(--space-3);
  }

  .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .action-bar {
    flex-wrap: wrap;
  }
}

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

  .show-mobile {
    display: block;
  }
}
