/* Trade sidebar sticks as one unit on desktop */
@media (min-width: 1024px) {
  .trade-sidebar {
    position: sticky;
    top: 4.5rem;
    align-self: start;
    max-height: calc(100vh - 5.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}


.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Bottom nav padding on authenticated mobile pages */
@media (max-width: 767px) {
  body.has-mobile-nav {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
}

/* Touch-friendly tap targets */
@media (max-width: 767px) {
  button, a, select, input[type="submit"] {
    min-height: 44px;
  }
}

/* Mobile bottom nav */
.mobile-bottom-nav {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Slide-in drawer — full height below header */
.mobile-drawer {
  transform: translateY(-8px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.mobile-drawer.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.mobile-drawer-overlay {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.mobile-drawer-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/* Horizontal scroll tables on mobile */
.mobile-scroll-x {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Sticky mobile trade bar */
.mobile-trade-bar {
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Prevent iOS zoom on input focus */
@media (max-width: 767px) {
  input, select, textarea {
    font-size: 16px !important;
  }
}
