/* SparkJyotish — mobile refinements (loaded after app.css). */

@media (max-width: 639.98px) {
  .container { padding-left: 1rem; padding-right: 1rem; }
  .section { padding-block: 3.5rem; }
  .cart-item { grid-template-columns: 64px 1fr; grid-auto-rows: min-content; row-gap: .5rem; }
  .cart-item .line-total { grid-column: 2; text-align: left; }
  .checkout-grid { grid-template-columns: 1fr; }
  .hero-banner { padding: 1.75rem 1.15rem 1.15rem; min-height: 0; }
  .hero h1 { font-size: clamp(1.85rem, 9vw, 2.4rem); }
  .brand-name small { letter-spacing: 0.12em; font-size: 0.42rem; }
  .live-banner { flex-direction: column; text-align: center; }
  .lb-dots { margin: .5rem auto 0; }
  .panch-status { flex-direction: column; align-items: flex-start; }
  .badge-live { margin-left: 0; }
  .footer-bottom .links { justify-content: center; }
  .trust-card { padding: 1rem 1.1rem; gap: 0.75rem; }
  .trust-icon { width: 38px; height: 38px; border-radius: 10px; }
  .trust-icon svg { width: 20px; height: 20px; }

  /* Product grid: equal side gutters, no horizontal overflow/cut-off */
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    width: 100%;
  }
  .product-card { min-width: 0; padding: 0.65rem; }
  .product-card h4 { font-size: 0.9rem; min-height: 2.4em; }
  .product-card .p-cat { font-size: 0.58rem; letter-spacing: 0.08em; }
  .product-card .p-price { font-size: 0.92rem; gap: 0.08rem 0.35rem; }
  .product-card .p-actions .row { gap: 0.35rem; }
  .product-card .p-actions .row .btn {
    min-width: 0;
    padding-inline: 0.4rem;
    font-size: 0.72rem;
    gap: 0.25rem;
  }
  .product-card .p-actions .row .btn svg { width: 13px; height: 13px; }
}

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