/* ============================================
   Responsive — Breakpoints
   ============================================ */

/* Tablet landscape & below */
@media (max-width: 1120px) {
  .hero, .lay { grid-template-columns: 1fr; }
  .ckpanel { position: static; }
  .trust { grid-template-columns: 1fr 1fr; }
  .info-grid, .contact-grid { grid-template-columns: 1fr; }
}

/* Tablet portrait & below */
@media (max-width: 860px) {
  .pgrid { grid-template-columns: 1fr 1fr; }
  .fgrid { grid-template-columns: 1fr 1fr; }
  .field-g { grid-template-columns: 1fr; }
  .stepper { grid-template-columns: repeat(4, 1fr); }
}

/* Mobile */
@media (max-width: 640px) {
  .sh { width: min(calc(100% - 20px), var(--mx)); }
  .hero-txt, .ckpanel, .pbody { padding: 16px; }
  .hero-img { min-height: 300px; }
  .actions, .pact { flex-direction: column; align-items: stretch; }
  .btn { width: 100%; }
  .pgrid { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 52px 1fr; }
  .line-price { grid-column: 2; }
  .trust { grid-template-columns: 1fr; }
  .fgrid { grid-template-columns: 1fr; }
  nav { display: none; flex-direction: column; width: 100%; gap: 0; }
  nav.open { display: flex; }
  nav a { width: 100%; border-radius: 12px; }
  .mob-toggle { display: flex; }
  .inst-row { grid-template-columns: 1fr 1fr; }
}
