/* Catálogo Mejorado — Asistente IA */
#catmej-ia-root,#catmej-ia-root *,#catmej-ia-root *::before,#catmej-ia-root *::after{box-sizing:border-box}
#catmej-ia-root{font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;color:#15161B;-webkit-font-smoothing:antialiased;width:100%;display:block}
#catmej-ia-root button,#catmej-ia-root input{font-family:inherit}

@keyframes catmejIaBarIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes catmejIaPop{0%{opacity:0;transform:scale(.75)}60%{transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes catmejIaBlink{0%,48%{opacity:1}49%,100%{opacity:0}}

#catmej-ia-root .catmej-ia-bar{animation:catmejIaBarIn .42s cubic-bezier(.16,1,.3,1) both}
#catmej-ia-root .catmej-ia-pop{animation:catmejIaPop .4s cubic-bezier(.16,1,.3,1) both}
#catmej-ia-root .catmej-ia-cursor{display:inline-block;width:8px;height:1.05em;margin-left:3px;background:#F5C400;vertical-align:-2px;border-radius:2px;animation:catmejIaBlink 1s steps(1,end) infinite}
#catmej-ia-root .catmej-ia-focus:focus-visible{outline:2px solid #F5C400;outline-offset:3px}
#catmej-ia-root .catmej-ia-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease,background .2s ease}
#catmej-ia-root .catmej-ia-lift:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,22,30,.12)}
#catmej-ia-root .catmej-ia-lift:active{transform:translateY(-1px) scale(.99)}
#catmej-ia-root .catmej-ia-map{transition:transform .28s cubic-bezier(.16,1,.3,1)}
#catmej-ia-root .catmej-ia-lift:hover .catmej-ia-map{transform:scale(1.05)}
#catmej-ia-root .catmej-ia-sigil{transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}
#catmej-ia-root .catmej-ia-lift:hover .catmej-ia-sigil{transform:translateY(-2px) rotate(-4deg)}

/* ── Loader “calculando catálogo” ── */
@keyframes catmejIaSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes catmejIaBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes catmejIaFade{from{opacity:0}to{opacity:1}}

#catmej-ia-root .catmej-ia-loader{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  min-height:280px;padding:24px 12px;
  animation:catmejIaFade .18s ease both;
}
#catmej-ia-root .catmej-ia-loader__ring{
  position:relative;width:140px;height:140px;
  display:flex;align-items:center;justify-content:center;
}
#catmej-ia-root .catmej-ia-loader__spin{
  position:absolute;inset:0;
  animation:catmejIaSpin 1.1s linear infinite;
  transform-origin:50% 50%;
}
#catmej-ia-root .catmej-ia-loader__calc{
  position:relative;z-index:1;
  animation:catmejIaBob 1.6s ease-in-out infinite;
}
#catmej-ia-root .catmej-ia-loader__txt{
  margin:0;font-weight:800;font-size:14px;letter-spacing:.2px;color:#15161B;
}
#catmej-ia-root .catmej-ia-loader__txt::after{
  content:'';display:inline-block;width:0;overflow:hidden;vertical-align:bottom;
  animation:catmejIaDots 1.4s steps(4,end) infinite;
}
@keyframes catmejIaDots{
  0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}100%{content:''}
}

@media (prefers-reduced-motion:reduce){
  #catmej-ia-root *,#catmej-ia-root *::before,#catmej-ia-root *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}
  #catmej-ia-root .catmej-ia-loader__spin{animation:catmejIaSpin 1.6s linear infinite!important}
}
