/* Stevelogsmarketplace — lightweight page-to-page transitions */
:root { --slm-transition-accent: var(--brand-primary, #f5b81c); }
html.slm-transition-ready body > :not(#slm-page-transition):not(#dbfl-overlay):not(#kb-loader):not(script):not(style):not(.slm-drawer):not(.slm-menu-backdrop) {
  animation: slmPageEnter .34s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes slmPageEnter {
  from { opacity: .72; transform: translate3d(0, 9px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
#slm-page-transition {
  position: fixed; inset: 0; z-index: 2147483000; pointer-events: none;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; overflow: hidden;
  background: radial-gradient(ellipse at 50% 45%, rgba(245,184,28,.18), transparent 55%),
              rgba(5, 8, 12, .28);
  -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0);
  transition: opacity .18s ease, visibility .18s ease, backdrop-filter .18s ease;
}
#slm-page-transition::before {
  content: ''; position: absolute; width: 180vmax; height: 180vmax; border-radius: 50%;
  background: linear-gradient(135deg, rgba(245,184,28,.12), rgba(59,130,246,.12));
  transform: scale(.01); opacity: 0; transition: transform .34s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
}
#slm-page-transition .slm-transition-card {
  position: relative; display: flex; align-items: center; gap: 12px;
  padding: 13px 17px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px;
  color: #f8fafc; background: rgba(13,18,25,.88); box-shadow: 0 18px 60px rgba(0,0,0,.28);
  opacity: 0; transform: translateY(10px) scale(.97);
  transition: opacity .18s ease .04s, transform .22s cubic-bezier(.2,.8,.2,1) .02s;
  font: 700 13px/1.2 system-ui, -apple-system, sans-serif; letter-spacing: .02em;
}
#slm-page-transition .slm-transition-crown {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px;
  color: #fff; background: linear-gradient(145deg, #f5b81c, #d99a00);
  box-shadow: 0 5px 18px rgba(245,184,28,.32); font-size: 19px;
}
#slm-page-transition .slm-transition-copy { display: flex; flex-direction: column; gap: 4px; }
#slm-page-transition .slm-transition-copy small { color: #a7f3d0; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
#slm-page-transition .slm-transition-dots { display: flex; gap: 4px; margin-left: 5px; }
#slm-page-transition .slm-transition-dots i { width: 4px; height: 4px; border-radius: 50%; background: #ffe08a; animation: slmDot .7s ease-in-out infinite alternate; }
#slm-page-transition .slm-transition-dots i:nth-child(2) { animation-delay: .14s; }
#slm-page-transition .slm-transition-dots i:nth-child(3) { animation-delay: .28s; }
@keyframes slmDot { to { opacity: .28; transform: translateY(-3px); } }
#slm-page-transition.is-active { opacity: 1; visibility: visible; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
#slm-page-transition.is-active::before { opacity: 1; transform: scale(1); }
#slm-page-transition.is-active .slm-transition-card { opacity: 1; transform: translateY(0) scale(1); }
html.slm-transition-leaving body > :not(#slm-page-transition):not(#dbfl-overlay):not(#kb-loader):not(script):not(style) {
  opacity: .38; transform: translate3d(0,-5px,0) scale(.997); transition: opacity .16s ease, transform .16s ease;
}
@media (prefers-reduced-motion: reduce) {
  html.slm-transition-ready body > :not(#slm-page-transition):not(#dbfl-overlay):not(#kb-loader):not(script):not(style),
  html.slm-transition-leaving body > :not(#slm-page-transition):not(#dbfl-overlay):not(#kb-loader):not(script):not(style) { animation: none !important; transition: none !important; transform: none !important; }
  #slm-page-transition, #slm-page-transition::before, #slm-page-transition .slm-transition-card { transition: none !important; }
  #slm-page-transition .slm-transition-dots i { animation: none !important; }
}

/* SLM-LOADER-STUCK-FIX: the hidden "Loading…" overlay must never stay visible */
#dbfl-overlay:not(.show) { opacity: 0 !important; visibility: hidden !important; }
#kb-loader.kb-hide { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
