/* JTNav Mobile — Minimal */

/* Mobile Category FAB */
.m-cat-fab {
  position: fixed; bottom: 24px; right: 16px; z-index: 200;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--primary); color: #fff;
  display: none; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px -2px rgba(37,99,235,0.4);
  cursor: pointer; transition: transform 0.2s;
}
.m-cat-fab svg { width: 20px; height: 20px; }
.m-cat-fab:active { transform: scale(0.92); }

.m-cat-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.3); z-index: 210;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.m-cat-overlay.show { display: block; }

.m-cat-panel {
  display: none; position: fixed; bottom: 80px; right: 16px;
  background: #fff; border-radius: 12px; z-index: 220;
  padding: 8px 0; min-width: 140px; max-height: 60vh;
  overflow-y: auto; box-shadow: 0 8px 30px -4px rgba(0,0,0,0.15);
  animation: panelUp 0.2s ease-out;
}
.m-cat-panel.show { display: block; }
@keyframes panelUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.m-cat-panel-title {
  font-size: 11px; font-weight: 600; color: #b0b8c4;
  padding: 8px 16px 6px; text-transform: uppercase; letter-spacing: 0.06em;
}
.m-cat-panel a {
  display: block; padding: 9px 16px; font-size: 14px;
  color: #374151; font-weight: 400; transition: background 0.1s;
}
.m-cat-panel a:hover { background: #f5f7fa; text-decoration: none; }