/* Fog Atelier — global responsive overrides */

@media (max-width: 1024px) {
  .a87-shop-layout,
  .a87-tote-layout,
  .a87-seal-layout,
  .a87-lantern-layout,
  .a87-stub-layout,
  .a87-radar-layout,
  .a87-locket-gate,
  .a87-route-shell,
  .dual,
  .product-layout,
  .contact-grid,
  .checkout-grid,
  .catalog-layout {
    grid-template-columns: 1fr;
  }
  .summary-box,
  .filter-panel {
    position: static;
    top: auto;
  }
}

@media (max-width: 1100px) {
  .a87-footer-lattice {
    grid-template-columns: minmax(200px, 1fr) repeat(auto-fit, minmax(140px, 1fr));
  }
  .a87-product-row { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
  .a87-duo-grid,
  .a87-trio-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  /* Diagonal Bloom Nexus handles compact nav — no legacy header / dock rules */
}

@media (max-width: 768px) {
  html,
  body.a87-store {
    overflow-x: clip;
  }

  .a87-canvas-split { grid-template-columns: 1fr; }
  .a87-quiet-grid { grid-template-columns: 1fr; }
  .a87-cat-bento { grid-template-columns: 1fr 1fr; }
  .a87-product-row,
  .a87-product-mosaic { grid-template-columns: repeat(2, 1fr); }
  .a87-tab-head { flex-direction: column; align-items: flex-start; }
  .a87-tab-labels { flex-wrap: wrap; width: 100%; }
  .section { padding: 2rem 0; }

  .page-panel { padding: 1.25rem 0 2.5rem; }
  .panel { padding: 1.15rem; }
  .panel-lg { padding: 1.25rem; }
  .form-grid { grid-template-columns: 1fr; }
  .action-row { flex-direction: column; }
  .action-row .btn { width: 100%; text-align: center; }

  .a87-topo-table,
  .a87-marquee-table,
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .a87-footer-lattice { grid-template-columns: 1fr; gap: 1.5rem; }
  .a87-footer-legal-inner {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }

  [class*="a87-"][class*="-hero"],
  [class*="a87-"][class*="-marquee"],
  [class*="a87-"][class*="-sign"] {
    padding-left: 0;
    padding-right: 0;
  }

  [class*="a87-"][class*="-foot"] .btn,
  [class*="a87-"][class*="-actions"] .btn,
  [class*="a87-"][class*="-foot"] {
    flex-direction: column;
  }
  [class*="a87-"][class*="-foot"] .btn,
  [class*="a87-"][class*="-actions"] .btn {
    width: 100%;
    text-align: center;
  }

  .checkout-layout .dual { grid-template-columns: 1fr; }
  .status-card { padding: 1.5rem 1.15rem; }
  .gateway-page { padding: 1rem; }

  [class*="a87-"][class*="-hero-inner"],
  [class*="a87-"][class*="-marquee-inner"],
  [class*="a87-"][class*="-sign-inner"],
  .a87-locket-hero-inner,
  .a87-atlas-hero-inner,
  .a87-route-hero-inner,
  .a87-comb-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 1.25rem;
  }
  [class*="a87-"][class*="-watermark"],
  .a87-locket-watermark,
  .a87-comb-watermark {
    font-size: clamp(2rem, 14vw, 3.5rem) !important;
    opacity: 0.05 !important;
  }
  [class*="a87-"][class*="-hero"],
  [class*="a87-"][class*="-marquee"],
  [class*="a87-"][class*="-sign"] {
    clip-path: none;
  }

  [class*="a87-"][class*="-actions"],
  [class*="a87-"][class*="-foot"],
  [class*="a87-"][class*="-toolbar"] {
    flex-wrap: wrap;
    gap: 0.65rem;
  }
  [class*="a87-"][class*="-btn"],
  .a87-locket-btn,
  .a87-tote-btn,
  .a87-seal-btn,
  .a87-lantern-btn,
  .a87-stub-btn,
  .a87-radar-btn,
  .a87-ladder-btn,
  .a87-comb-btn,
  .a87-shop-btn {
    min-height: 44px;
  }
  [class*="a87-"][class*="-actions"] .btn,
  [class*="a87-"][class*="-foot"] .btn,
  [class*="a87-"][class*="-actions"] [class*="btn"],
  [class*="a87-"][class*="-foot"] [class*="btn"] {
    width: 100%;
    justify-content: center;
  }

  .auth-dash-layout { grid-template-columns: 1fr; }
  .auth-dash-sidebar {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 1rem;
  }
  .auth-split-panels {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .auth-panel-signin {
    border-right: 0;
    border-bottom: 1px solid var(--a87-border);
  }

  .a87-comb-grid { grid-template-columns: 1fr; }
  .a87-comb-totals {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .a87-tote-pocket,
  .a87-seal-fields-row,
  .a87-ladder-rung {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .policy-card { padding: 1.25rem; }
  .contact-grid { gap: 1.25rem; }
}

@media (max-width: 640px) {
  .a87-product-row,
  .a87-product-mosaic,
  .a87-cat-bento { grid-template-columns: 1fr; }

  .a87-comb-grid .a87-comb-cell:nth-child(even) { transform: none; }
  .a87-comb-grid .a87-comb-cell:nth-child(even):hover { transform: translateY(-4px); }
}

@media (max-width: 480px) {
  .a87-topo-table th,
  .a87-topo-table td {
    display: block;
    width: 100%;
  }
  .a87-topo-table th {
    padding-bottom: 0.2rem;
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a87-mobile-panel,
  .a87-mobile-backdrop,
  .a87-menu-bar {
    transition: none;
  }
}
