/* ============================================================
   Shipbob Fulfillment — Responsive Styles
   ============================================================ */
@media (max-width: 1080px) {
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-art { max-width: 560px; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .factor-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .workflow { grid-template-columns: repeat(3, 1fr); }
  .wf-node::after { display: none; }
  .dash-grid-2 { grid-template-columns: 1fr; }
}

@media (max-width: 880px) {
  /* Mobile navigation */
  .hamburger { display: block; }
  .main-nav {
    position: fixed; top: 72px; left: 0; right: 0; bottom: 0; background: var(--panel);
    padding: 20px 24px; overflow-y: auto; transform: translateX(100%); transition: transform .25s ease;
    border-top: 1px solid var(--border); z-index: 99;
  }
  body.nav-open .main-nav { transform: translateX(0); }
  .main-nav ul { flex-direction: column; align-items: stretch; gap: 4px; }
  .main-nav > ul > li > a { padding: 14px 10px; font-size: 1rem; }
  .dropdown { position: static; box-shadow: none; border: 0; border-left: 2px solid var(--border); border-radius: 0; margin: 0 0 6px 12px; padding: 2px 0 2px 12px; display: flex !important; min-width: 0; }
  .nav-cta { margin-top: 12px; }
  .nav-cta a { display: block; text-align: center; }
  body.nav-open .hamburger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
  body.nav-open .hamburger span:nth-child(2) { opacity: 0; }
  body.nav-open .hamburger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

  .grid-3 { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; gap: 34px; }
  .split.reverse > :first-child { order: 0; }
  .contact-grid { grid-template-columns: 1fr; }
  .service-block .cols { grid-template-columns: 1fr; }
  .estimator-grid { grid-template-columns: 1fr; }
  .form-row, .form-row.triple { grid-template-columns: 1fr; }
  .checkbox-grid { grid-template-columns: 1fr; }
  .cta-band { padding: 40px 26px; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .return-item { grid-template-columns: 1fr; gap: 8px; }

  /* Dashboard mobile */
  .dash-layout { grid-template-columns: 1fr; }
  .dash-sidebar {
    position: fixed; left: 0; top: 0; bottom: 0; width: 260px; z-index: 150;
    transform: translateX(-100%); transition: transform .25s ease; height: 100vh;
  }
  body.dash-nav-open .dash-sidebar { transform: translateX(0); }
  .dash-mobile-toggle {
    display: inline-flex; align-items: center; gap: 8px; background: var(--navy); color: #fff;
    border: 0; border-radius: 8px; padding: 10px 16px; font-weight: 700; font-size: .88rem; cursor: pointer; font-family: var(--font);
  }
  .dash-main { padding: 22px 18px 50px; }
}

@media (max-width: 560px) {
  .section { padding: 56px 0; }
  .grid-4, .steps, .factor-grid, .hero-stats, .metric-grid, .kpi-grid { grid-template-columns: 1fr; }
  .workflow { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .form-panel, .estimator { padding: 26px 20px; }
  h1 { font-size: 1.9rem; }
  .btn { width: 100%; }
  .hero-actions { flex-direction: column; }
  .footer-bottom { flex-direction: column; gap: 6px; }
}
