/* FT MARKET PRO final stability/UI patch */
* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
button, a { touch-action: manipulation; }
img { max-width: 100%; }
.ft-hidden { display: none !important; }
.ft-cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #a04100;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 6px 14px rgba(160,65,0,.25);
}
.ft-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 120%);
  opacity: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(92vw, 480px);
  padding: 12px 18px;
  border-radius: 999px;
  color: #fff;
  background: rgba(25,28,29,.94);
  box-shadow: 0 18px 40px rgba(0,0,0,.2);
  backdrop-filter: blur(18px);
  transition: transform .25s ease, opacity .25s ease;
  font-family: Inter, system-ui, sans-serif;
  font-weight: 700;
}
.ft-toast.show { transform: translate(-50%, 0); opacity: 1; }
.ft-empty-state {
  border: 1px dashed rgba(160,65,0,.35);
  background: rgba(255,219,204,.18);
  border-radius: 16px;
  padding: 24px;
  text-align: center;
}
.ft-empty-state a { color: #a04100; font-weight: 900; text-decoration: underline; }
.ft-clickable { cursor: pointer; }
.ft-order-id { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.ft-safe-card { contain: content; }
.ft-mobile-nav { display: none; }
@media (max-width: 900px) {
  .px-margin-desktop { padding-left: 20px !important; padding-right: 20px !important; }
  .py-stack-lg { padding-top: 28px !important; padding-bottom: 28px !important; }
  .gap-gutter { gap: 16px !important; }
  .text-display-lg { font-size: 42px !important; line-height: 48px !important; }
  .text-headline-lg { font-size: 30px !important; line-height: 38px !important; }
  .text-headline-md { font-size: 21px !important; line-height: 28px !important; }
  nav .w-96, header .w-96 { width: min(100%, 320px) !important; }
  header nav, nav > div { flex-wrap: wrap; gap: 14px !important; }
  aside.fixed, aside.w-64 { position: relative !important; width: 100% !important; height: auto !important; min-height: 0 !important; }
  main.ml-64 { margin-left: 0 !important; }
  main.p-margin-desktop { padding: 20px !important; }
  .grid-cols-2 { grid-template-columns: 1fr !important; }
  .md\:grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .lg\:grid-cols-12 { grid-template-columns: 1fr !important; }
  .lg\:col-span-8, .lg\:col-span-4, .lg\:col-span-2 { grid-column: auto !important; }
  .lg\:sticky { position: static !important; }
  table { min-width: 680px; }
  #toast-container { right: 16px !important; left: 16px !important; bottom: 16px !important; }
}
@media (max-width: 560px) {
  .px-margin-desktop { padding-left: 14px !important; padding-right: 14px !important; }
  .md\:grid-cols-4 { grid-template-columns: 1fr !important; }
  .h-80 { height: 18rem !important; }
  .h-64 { height: 15rem !important; }
  .fixed.bottom-margin-desktop.right-margin-desktop { left: 14px !important; right: 14px !important; bottom: 14px !important; }
  .glass-card, .glass { border-radius: 18px !important; }
  .ft-toast { bottom: 16px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
