/* ============================================
   Responsive Design — All Media Queries
   ============================================ */

/* Tablet (768px and below) */
@media (max-width: 768px) {
  .sidebar {
    display: none;
  }

  .bottom-nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  .main-content {
    margin-left: 0;
    padding: var(--space-md);
    padding-bottom: calc(var(--bottom-nav-height) + var(--space-lg));
  }

  .page-title {
    font-size: var(--text-xl);
  }

  /* Dashboard */
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .macro-rings-row {
    gap: var(--space-md);
  }

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

  /* Recipes */
  .recipes-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .recipes-toolbar .search-bar {
    max-width: 100% !important;
  }

  .recipes-toolbar .pill-group {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: var(--space-xs);
    -webkit-overflow-scrolling: touch;
  }

  .recipe-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-md);
  }

  /* Planner */
  .planner-grid {
    grid-template-columns: 70px repeat(7, 1fr);
    font-size: var(--text-xs);
    overflow-x: auto;
  }

  .planner-day-date {
    font-size: var(--text-base);
  }

  .planner-meal-name {
    font-size: 10px;
  }

  .planner-meal-cal {
    font-size: 9px;
  }

  .planner-cell {
    min-height: 60px;
    padding: 2px;
  }

  .planner-meal-chip {
    padding: 4px 6px;
  }

  /* Grocery */
  .grocery-add-custom {
    flex-direction: column;
  }

  /* Settings */
  .theme-grid {
    grid-template-columns: repeat(3, 1fr);
  }

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

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

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

  /* Recipe editor ingredient rows */
  .recipe-editor .ingredient-row {
    flex-wrap: wrap;
  }

  .recipe-editor .ingredient-macros {
    width: 100%;
    margin-top: var(--space-xs);
  }

  /* Onboarding */
  .onboarding-container {
    padding: var(--space-md);
  }

  .onboarding-hero h1 {
    font-size: var(--text-2xl);
  }

  .option-cards {
    grid-template-columns: 1fr 1fr !important;
  }

  .results-stats {
    flex-direction: column;
    gap: var(--space-sm);
  }

  .result-stat-arrow {
    transform: rotate(90deg);
  }

  .results-macros {
    gap: var(--space-md);
  }

  .result-macro-circle {
    width: 70px;
    height: 70px;
    font-size: var(--text-base);
  }

  /* Scanner / Food Logger */
  .scanner-found-macros {
    grid-template-columns: repeat(2, 1fr);
  }

  .food-logger-macros {
    grid-template-columns: 1fr;
  }

  /* Food log on dashboard */
  .food-log-item-macros .macro-badge:not(.cal) {
    display: none;
  }

  /* Chat assistant */
  .chat-panel {
    width: calc(100vw - 24px);
    right: 12px;
    bottom: 140px;
    max-height: 60vh;
  }

  .chat-bubble {
    bottom: 75px;
    right: 12px;
    width: 48px;
    height: 48px;
  }

  /* Modals */
  .modal {
    max-width: 95vw;
    max-height: 85vh;
  }

  .modal-lg {
    max-width: 95vw;
  }
}

/* Mobile (480px and below) */
@media (max-width: 480px) {
  .main-content {
    padding: var(--space-sm);
    padding-bottom: calc(var(--bottom-nav-height) + var(--space-md));
  }

  .page-title {
    font-size: var(--text-lg);
  }

  .page-subtitle {
    font-size: var(--text-xs);
  }

  /* Compact recipe cards */
  .recipe-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
  }

  .recipe-card-image {
    height: 120px;
  }

  .recipe-card-body {
    padding: var(--space-sm);
  }

  .recipe-card-name {
    font-size: var(--text-sm);
  }

  /* Stack planner on small screens */
  .planner-grid {
    grid-template-columns: 60px repeat(7, minmax(80px, 1fr));
    min-width: 700px;
  }

  .planner-cat-label {
    font-size: 10px;
    padding: var(--space-xs);
  }

  /* Compact dashboard */
  .macro-rings-row {
    gap: var(--space-sm);
  }

  .quick-actions {
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--space-xs);
  }

  .quick-action-btn {
    padding: var(--space-sm);
    font-size: 10px;
  }

  /* Settings compact */
  .theme-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-sm);
  }

  .theme-swatch {
    height: 60px;
  }

  .grid-4 {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
  }

  /* Onboarding compact */
  .option-cards {
    grid-template-columns: 1fr !important;
    gap: var(--space-sm) !important;
  }

  .onboarding-hero {
    padding: var(--space-lg) 0;
  }

  .onboarding-hero h1 {
    font-size: var(--text-xl);
  }

  .onboarding-subtitle {
    font-size: var(--text-sm);
  }

  /* Scanner compact */
  .scanner-video {
    max-height: 200px;
  }

  .scanner-found-header {
    flex-wrap: wrap;
  }

  /* Category tabs compact */
  .recipe-category-tab {
    min-width: 70px;
    padding: var(--space-xs) var(--space-sm);
  }

  .recipe-category-icon {
    font-size: 1.2rem;
  }

  /* Bottom nav compact */
  .bottom-nav {
    height: 60px;
  }

  .bottom-nav-link span {
    font-size: 9px;
  }

  .bottom-nav-link .nav-icon {
    width: 20px;
    height: 20px;
  }
}

/* Large screens (1200px+) */
@media (min-width: 1200px) {
  .main-content {
    padding: var(--space-2xl);
  }

  .recipe-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }

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

/* Horizontal scroll wrapper for planner on small screens */
@media (max-width: 768px) {
  .planner-grid {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
