/* ==========================================================================
   BASILVER — responsive.css  (desktop-first: 1100 / 960 / 640)
   ========================================================================== */
@media (max-width: 1100px) {
  .main-nav a { font-size: 13px; }
  .header-in { gap: 14px; }
  .pgrid { grid-template-columns: repeat(3, 1fr); }
  .cat-row { grid-template-columns: repeat(4, 1fr); gap: 18px 12px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 960px) {
  :root { --header-h: 58px; }
  .main-nav { display: none; }
  .brand { margin-inline: auto; }
  .header-tools { margin-inline-start: 0; }

  .hero-in { grid-template-columns: 1fr; min-height: 0; padding-block: 28px 20px; gap: 8px; }
  .bar-stage { --k: .94; --sweep: 125px; width: 360px; height: 360px; }
  .podium { width: 330px; margin-left: -165px; }
  .lamp-rail { width: 290px; margin-left: -145px; }
  .why-wrap, .faq-wrap, .support { grid-template-columns: 1fr; }
  .faq-intro { position: static; }
  .cert-grid { grid-template-columns: repeat(2, 1fr); }
  .where-map iframe { height: 300px; }
  .where-card { position: static; transform: none; width: auto; margin: 0; border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid var(--line); }
  .intro, .detail, .contact-grid, .cart-layout { grid-template-columns: 1fr; }
  .intro-media { max-width: 300px; }
  .detail-media, .summary { position: static; }
  .lic-grid, .lic-strip { grid-template-columns: repeat(2, 1fr); }
  .value-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  body { font-size: 14.5px; }
  .hero h1 { font-size: 24px; }
  .hero-cta .btn { flex: 1 1 calc(50% - 4px); }
  .hero-cta .btn-solid { flex-basis: 100%; }
  .hero-facts { display: none; }
  .bar-stage { --k: .74; --sweep: 100px; width: 300px; height: 310px; margin-block: -6px; }
  .podium { width: 270px; margin-left: -135px; bottom: 26px; }
  .lamp-rail { width: 240px; margin-left: -120px; }
  .pgrid { grid-template-columns: repeat(2, 1fr); gap: 14px 10px; }
  .pcard-body { padding: 9px 10px 11px; }
  .pcard-title { font-size: 13px; }
  .pcard-specs { flex-direction: column; gap: 0; }
  .pcard-price strong { font-size: 13.5px; }
  .pcard-link { display: none; }
  .pcard-quick { height: 34px; font-size: 12px; }
  /* categories become a horizontal scroller */
  .cat-row { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
  .cat-tile { flex: 0 0 84px; scroll-snap-align: start; }
  .why-grid, .cert-grid, .support-chans { grid-template-columns: 1fr; }
  .faq-a p { padding-inline-start: 16px; }
  .faq-q { padding: 12px; gap: 10px; font-size: 14px; }
  .support-phone strong { font-size: 20px; }
  .support-cta .btn { flex: 1 1 100%; }
  .lb-scroll { padding: 10px 14px; }
  .lb-nav { width: 36px; height: 36px; }
  .lic-grid, .lic-strip, .value-grid, .form-grid { grid-template-columns: 1fr; }
  .sec-head { align-items: flex-start; }
  .toolbar-filters { width: 100%; }
  .toolbar-filters .control { flex: 1 1 130px; }
  .cart-item { grid-template-columns: 64px 1fr; gap: 12px; }
  .cart-item-img { width: 64px; height: 64px; }
  .summary { padding: 20px 18px; }
  .detail-actions .btn { flex: 1 1 100%; }
  .map iframe, .map.is-wide iframe { min-height: 260px; height: 260px; }
  .where-map iframe { height: 240px; }
  .where-card { padding: 16px; }
  .cta-in .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .toasts { inset-inline: 12px; bottom: 12px; }
}
