/* Shared responsive contract. Loaded after module styles; preserve desktop design. */
.ts-taxonomy-header, .ts-secondary-nav, tickshot-header-controls,
.ts-control-dialog, .ts-control-panel { box-sizing: border-box !important; }
.ts-taxonomy-header .ts-logo, .ts-taxonomy-header .brand {
  color: var(--ts-nav-text) !important; text-decoration: none !important;
}
.site-footer > div { min-inline-size: 0; max-inline-size: 100%; }
.site-footer .ts-logo { flex-wrap: wrap; max-inline-size: 100%; }
.site-footer p { overflow-wrap: anywhere; }
.cg-flow-exchanges { max-inline-size: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.cg-flow-exchanges table { min-inline-size: 325px; }
.table-scroll, .cg-markets-table-wrap { max-inline-size: 100%; overscroll-behavior-inline: contain; }
.ts-primary-nav, .ts-secondary-nav { overscroll-behavior-inline: contain; }
html[dir=rtl] .table-scroll th:first-child,
html[dir=rtl] .table-scroll td:first-child { left: auto; right: 0; }
@media (max-width: 700px) {
  tickshot-header-controls { grid-template-columns: minmax(0,1fr) 120px 44px; height: 44px; }
  tickshot-header-controls button,
  #cg-refined tickshot-header-controls button { height: 44px !important; }
  .ts-control-heading button { width: 44px; height: 44px; }
  .ts-control-dialog .ts-control-search input { font-size: 16px; }
  .ts-control-options { min-height: 0; }
  .ts-control-panel { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .ts-secondary-nav a { min-height: 44px; box-sizing: border-box; }
}
@media (pointer: coarse) {
  .ts-control-dialog .ts-search-result { min-height: 44px; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
  .ts-control-dialog, .ts-primary-nav, .ts-secondary-nav { scroll-behavior: auto; }
}
.site-footer .ts-logo { display:flex; align-items:baseline; gap:12px; white-space:normal; }
.ts-taxonomy-header .ts-primary-nav { display:flex !important; }
