/* ==========================================================================
   responsive.css — Heritage Business Suite  ·  "Indigo & Crimson" variant
   ========================================================================== */

@media (max-width: 1280px) {
  .grid-4 { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1024px) {
  .grid-3   { grid-template-columns: repeat(2,1fr); }
  .grid-2-1 { grid-template-columns: 1fr; }
  .grid-3-2 { grid-template-columns: 1fr; }
  .pos-layout { grid-template-columns: 1fr 300px; }
  .topbar-search { width: 160px; }
  .topbar-search:focus-within { width: 210px; }
}

@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%);
    z-index: 200;
    width: var(--sidebar-w) !important;
    transition: transform var(--ease-lg);
  }
  .sidebar.mobile-open { transform: translateX(0); box-shadow: 0 0 48px rgba(10,9,48,.80); }

  .sidebar-overlay { display: block; opacity: 0; pointer-events: none; transition: opacity var(--ease-md); }
  .sidebar-overlay.active { opacity: 1; pointer-events: all; }

  .main-area { margin-left: 0 !important; }
  .topbar    { left: 0 !important; }

  .page-content { padding: 16px 14px 30px; }

  .grid-4 { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .grid-3, .grid-2 { grid-template-columns: 1fr; }

  .pos-layout { grid-template-columns: 1fr; height: auto; }
  .pos-cart   { min-height: 380px; }

  .page-header         { flex-direction: column; align-items: flex-start; }
  .page-header-actions { width: 100%; }
  .table-toolbar       { flex-direction: column; align-items: flex-start; }
  .table-actions       { margin-left: 0; width: 100%; flex-wrap: wrap; }
  .form-row, .form-row-3 { grid-template-columns: 1fr; }

  .modal-overlay { align-items: flex-end; padding: 0; }
  .modal { max-width: 100%; max-height: 88vh; border-radius: var(--r-xl) var(--r-xl) 0 0; }

  .topbar-search { display: none; }
  .project-board { grid-template-columns: 1fr; }

  [style*="grid-template-columns: 2fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:2fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .grid-4 { grid-template-columns: 1fr; }
  .page-content { padding: 12px 10px 24px; }
  .stat-value   { font-size: 1.4rem; }
  .pos-grid     { grid-template-columns: repeat(2,1fr); }
  .toast-container { bottom: 14px; right: 14px; left: 14px; }
  .toast { min-width: auto; }
}

@media print {
  .sidebar, .topbar, .page-header-actions,
  .table-actions, .btn, .icon-btn { display: none !important; }
  .main-area { margin: 0; }
  .page-content { padding: 0; }
  body, .card, .table-container { background: white; color: black; box-shadow: none; }
  .card-header, .table-toolbar { border-left: 3px solid #C8102E; }
  .data-table tbody tr:hover { background: transparent; }
}
