/* Mobile-first enhancements. Breakpoints: 480, 768, 1024, 1280. */

@media (min-width: 480px) {
  .container { padding: 0 1.25rem; }
  .toast-region { left: auto; right: 1rem; justify-items: end; }
  .wizard-progress li .step-label { display: block; }
  .modal-foot .btn { min-width: 110px; }
  .action-panel { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}

@media (min-width: 768px) {
  .section { padding: 4.5rem 0; }
  .hero { padding: 6rem 0 5rem; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .legal-layout { grid-template-columns: 240px 1fr; }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .milestone-row { grid-template-columns: 2fr 1fr 1fr auto; align-items: end; }
  .dash-layout { grid-template-columns: 2fr 1fr; }
  .detail-layout { grid-template-columns: 2fr 1fr; align-items: start; }
  .admin-shell { grid-template-columns: 220px 1fr; }
  .admin-sidebar { padding: 1rem 0.75rem; }
  .admin-sidebar ul { flex-direction: column; }
  .admin-main { padding: 1.75rem 1.5rem 3rem; }
  .admin-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
  .chat { height: 480px; }
  .card { padding: 1.5rem; }
}

@media (min-width: 1024px) {
  .nav-toggle { display: none; }
  .primary-nav { display: flex !important; position: static; align-items: center; justify-content: flex-end; flex: 1; gap: 1.5rem; padding: 0; border: 0; box-shadow: none; max-height: none; overflow: visible; background: transparent; }
  .nav-list { display: flex; gap: 0.25rem; margin: 0; }
  .nav-list a { padding: 0 0.85rem; }
  .steps { grid-template-columns: repeat(5, 1fr); }
  .steps li { padding: 4rem 1rem 1.25rem; text-align: center; }
  .steps li::before { left: 50%; margin-left: -1.1rem; }
  .timeline li { font-size: 0.85rem; }
  .form-card { margin-top: 3rem; }
}

@media (min-width: 1280px) {
  .container { padding: 0 2rem; }
  .admin-shell { grid-template-columns: 250px 1fr; }
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Card layout for tables on very small screens */
@media (max-width: 479px) {
  .table-cards table.table { min-width: 0; }
  .table-cards .table thead { display: none; }
  .table-cards .table tr { display: block; padding: 0.75rem 1rem; border-bottom: 1px solid var(--color-border); }
  .table-cards .table td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: 0.25rem 0; text-align: right; }
  .table-cards .table td::before { content: attr(data-label); font-weight: 600; color: var(--color-muted); text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .site-header, .site-footer, .subnav, .toast-region, .sandbox-banner { display: none !important; }
  body { background: #fff; color: #000; }
}
