/**
 * Global Responsive Utilities
 * Shared responsive styles across all pages
 */

/* Search Bar - Compact on desktop, full-width on mobile */
.search-input,
input[type="text"][placeholder*="Search"],
input[type="search"] {
  max-width: 300px;
  width: 100%;
}

@media (max-width: 768px) {
  .search-input,
  input[type="text"][placeholder*="Search"],
  input[type="search"] {
    max-width: 100%;
  }
}

/* Header - Maintain height and spacing */
.main-header {
  min-height: 60px;
  padding: 0.9375rem 0;
}

.header-container {
  min-height: 60px;
  display: flex;
  align-items: center;
}

/* Cards - Stack on mobile */
.card-grid,
.grid,
[class*="grid"] {
  display: grid;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  .card-grid,
  .grid,
  [class*="grid"] {
    grid-template-columns: 1fr !important;
  }
}

/* Responsive Typography */
@media (max-width: 768px) {
  h1 {
    font-size: 1.875rem !important;
  }
  
  h2 {
    font-size: 1.5rem !important;
  }
  
  h3 {
    font-size: 1.25rem !important;
  }
  
  p, body {
    font-size: 0.9375rem !important;
  }
}

/* Responsive Padding */
@media (max-width: 768px) {
  .section,
  section {
    padding: 2rem 1rem !important;
  }
  
  .card,
  [class*="card"] {
    padding: 1.25rem !important;
  }
}

/* Prevent text overflow */
@media (max-width: 768px) {
  * {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  
  pre, code {
    overflow-x: auto;
    font-size: 0.875rem;
  }
}
