/* gear.tg — phone layout for the web build (the bundle only ships desktop/tablet rules).
   Loaded after the main stylesheet from index.html. Keeps every infinite-scroll container
   (#gp-scroll, .op-scroll, .prof-panes) scrollable, because the app's IntersectionObservers use them as roots. */
@media (max-width: 760px) {
  /* ---- gifts search (/) ---- */
  .gp { display: flex; flex-direction: column; height: calc(100dvh - 65px); overflow: hidden; padding: 0 10px; gap: 0; }
  .gp-form { flex: none; max-height: 42vh; overflow-y: auto; padding: 10px 0 10px; border-bottom: 1px solid color-mix(in srgb, var(--tg-text) 10%, transparent); }
  .nft__preview { display: none; }
  .gp-results { flex: 1; min-height: 0; }
  .gp-toolbar { flex-wrap: wrap; gap: 6px 12px; padding: 10px 0 6px; min-height: 0; }
  .gp-toolbar__count { font-size: 15px; }
  .gp-toolbar__controls { margin-left: auto; }
  .gp-scroll { padding: 2px 0 28px; }
  .gp-scroll .nres__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }

  /* ---- holders search (/owners) ---- */
  .page-main { padding: 0 10px; }
  .op { display: flex; flex-direction: column; height: calc(100dvh - 65px); overflow: hidden; padding: 0; gap: 0; }
  .op-form { flex: none; max-height: 42vh; overflow-y: auto; padding: 10px 0 10px; border-bottom: 1px solid color-mix(in srgb, var(--tg-text) 10%, transparent); }
  .op-results { flex: 1; min-height: 0; }
  .op .gp-toolbar { flex-wrap: wrap; gap: 6px 12px; padding: 10px 0 6px; min-height: 0; }
  .op-scroll { padding: 2px 0 28px; }
  .op .op-grid, .op .op-grid[data-cols="2"] { grid-template-columns: minmax(0, 1fr); }

  /* ---- gift page (/nft/…) and holder profile (/@user): one scrolling column ---- */
  .owner-page { padding: 8px 10px 0; display: flex; flex-direction: column; }
  .owner-page .prof-layer--page { flex: 1; min-height: 0; height: 100%; display: block; }
  .owner-page .prof--page { display: block; height: 100%; max-height: 100%; min-height: 0; width: 100% !important; }
  .owner-page .prof--page .prof-content { width: 100% !important; height: 100%; max-height: 100%; overflow-y: auto; padding-bottom: 24px; }
  .owner-page .prof--page .prof-panes { position: static !important; left: auto; right: auto; height: auto; max-height: 78dvh; overflow-y: auto; margin-top: 10px; padding: 0 0 24px; }
  .owner-page .prof--page .prof-tabs-wrap { margin-right: 0; }
  .owner-page .prof--page .prof-gifts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .owner-page .prof--page .prof-sticky-head__side--right { right: 0; }
  .gift-page .gift-prof-header { min-height: 240px; }
  .gift-page .prof-panes { left: auto; }

  /* ---- tools pages ---- */
  .tp-inner { padding: 18px 10px 40px; }
}
@media (max-width: 420px) {
  .site-header__inner { padding: 0 10px; gap: 6px; }
  .login-btn { padding: 0 12px; }
}
