/* Aceropedia Search — buscador instantáneo */

:root{
  --aps-blue:#0466bf;
  --aps-blue-soft:#e8f1fb;
  --aps-ink:#101720;
  --aps-ink-2:#5a6673;
  --aps-line:#e7ecf1;
  --aps-radius:24px;
}

/* ---------- panel ---------- */

.aps-panel,.aps-panel *{box-sizing:border-box}

.aps-panel{
  position:fixed;
  z-index:99999;
  background:#fff;
  border-radius:var(--aps-radius);
  box-shadow:0 24px 60px rgba(8,26,48,.28), 0 2px 8px rgba(8,26,48,.12);
  overflow:hidden;
  opacity:0;
  transform:translateY(-8px) scale(.985);
  transition:opacity .16s ease, transform .16s ease;
  pointer-events:none;
  font-family:"Helvetica Neue",HelveticaNeue,Helvetica,Arial,sans-serif;
  color:var(--aps-ink);
  text-align:left;
}
.aps-panel.is-open{opacity:1;transform:none;pointer-events:auto}

.aps-panel__scroll{max-height:min(62vh,520px);overflow-y:auto;overscroll-behavior:contain}
.aps-panel__scroll::-webkit-scrollbar{width:10px}
.aps-panel__scroll::-webkit-scrollbar-thumb{background:#d7dee6;border-radius:99px;border:3px solid #fff}

/* thin loading bar, Gemini-ish */
.aps-panel__bar{height:2px;background:transparent;overflow:hidden}
.aps-panel.is-loading .aps-panel__bar{
  background:linear-gradient(90deg,#0466bf,#4f9bff,#9ad1ff,#0466bf);
  background-size:280% 100%;
  animation:aps-bar 1.1s linear infinite;
}
@keyframes aps-bar{0%{background-position:0% 0}100%{background-position:280% 0}}

/* ---------- groups & rows ---------- */

.aps-group__label{
  font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--aps-ink-2);font-weight:700;
  padding:14px 22px 6px;
}
.aps-group + .aps-group{border-top:1px solid var(--aps-line)}

.aps-row{
  display:flex;gap:13px;align-items:flex-start;
  padding:11px 22px;
  text-decoration:none;color:inherit;
  cursor:pointer;
  border:0;background:none;width:100%;text-align:left;
}
.aps-row:hover,.aps-row.is-active{background:var(--aps-blue-soft)}
.aps-row:focus-visible{outline:2px solid var(--aps-blue);outline-offset:-2px}

.aps-row__ico{
  flex:0 0 32px;height:32px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:#eef3f9;color:var(--aps-blue);margin-top:1px;
}
.aps-row[data-group="glossary"] .aps-row__ico{background:#dcebfb}
.aps-row__ico svg{width:17px;height:17px}

.aps-row__txt{min-width:0;flex:1}
.aps-row__title{
  font-size:15px;font-weight:600;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.aps-row__title mark{background:transparent;color:var(--aps-blue);font-weight:800;padding:0}
.aps-row__desc{
  font-size:13px;color:var(--aps-ink-2);line-height:1.45;margin-top:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.aps-row__tag{
  flex:0 0 auto;white-space:nowrap;align-self:center;
  font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--aps-blue);background:#e3eefb;border-radius:99px;padding:3px 9px;
}

/* ---------- footer / states ---------- */

.aps-foot{
  display:flex;align-items:center;gap:9px;
  padding:13px 22px;border-top:1px solid var(--aps-line);
  background:#fafcfe;color:var(--aps-blue);
  font-size:13.5px;font-weight:600;text-decoration:none;
}
.aps-foot:hover{background:var(--aps-blue-soft)}
.aps-foot svg{width:15px;height:15px;flex:0 0 auto}

.aps-empty{padding:26px 22px;text-align:center}
.aps-empty__t{font-size:15px;font-weight:600}
.aps-empty__s{font-size:13px;color:var(--aps-ink-2);margin-top:5px}

.aps-skeleton{padding:14px 22px}
.aps-skeleton i{
  display:block;height:12px;border-radius:6px;margin:9px 0;
  background:linear-gradient(90deg,#eef2f6 25%,#e2e8ee 37%,#eef2f6 63%);
  background-size:400% 100%;animation:aps-sk 1.2s ease infinite;
}
.aps-skeleton i:nth-child(1){width:46%}
.aps-skeleton i:nth-child(2){width:78%}
.aps-skeleton i:nth-child(3){width:62%}
@keyframes aps-sk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* ---------- chips ---------- */

.ap-chip,.aps-chip{cursor:pointer;transition:background-color .18s ease,border-color .18s ease,opacity .28s ease,transform .28s ease}
.ap-chip:hover,.aps-chip:hover{background:rgba(255,255,255,.32)}
.ap-chip:focus-visible,.aps-chip:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ap-chip.aps-swap,.aps-chip.aps-swap{opacity:0;transform:translateY(-5px)}

/* ---------- shortcode form ---------- */

.aps-wrap{width:100%;max-width:620px;margin:0 auto}
.aps-form{
  display:flex;align-items:center;gap:12px;
  background:#fff;border-radius:999px;
  padding:0 8px 0 23px;height:60px;
  box-shadow:0 10px 30px rgba(6,22,42,.18);
}
.aps-form__icon{width:20px;height:20px;color:#7b8794;flex:0 0 auto}
.aps-form input{
  flex:1;min-width:0;border:0;background:none;outline:0;
  font-size:15px;color:var(--aps-ink);height:100%;
}
.aps-form__go{
  flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:var(--aps-blue);color:#fff;display:flex;align-items:center;justify-content:center;
}
.aps-form__go svg{width:18px;height:18px}
.aps-chips{
  display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:20px;
}
.aps-theme-dark .aps-chip{
  background:rgba(255,255,255,.18);color:#fff;
  border:1px solid rgba(255,255,255,.69);border-radius:999px;
  padding:8px 22px;font-size:14px;line-height:1.2;
}
.aps-theme-light .aps-chip{
  background:#f1f5f9;color:var(--aps-ink);
  border:1px solid var(--aps-line);border-radius:999px;
  padding:8px 22px;font-size:14px;line-height:1.2;
}

@media (max-width:640px){
  .aps-panel{border-radius:18px}
  .aps-row{padding:10px 16px}
  .aps-group__label{padding:12px 16px 5px}
  .aps-foot{padding:12px 16px}
}

@media (prefers-reduced-motion:reduce){
  .aps-panel,.ap-chip,.aps-chip{transition:none}
  .aps-panel.is-loading .aps-panel__bar,.aps-skeleton i{animation:none}
}

/* ---------- foco del campo del hero ---------- */
form.ap-hero__search:focus-within,
form.aps-form:focus-within{
  box-shadow:0 0 0 3px rgba(79,155,255,.5), 0 10px 30px rgba(6,22,42,.18);
}
form.ap-hero__search input:focus,
form.ap-hero__search input:focus-visible,
form.aps-form input:focus,
form.aps-form input:focus-visible{
  outline:0!important;
  box-shadow:none!important;
  border-color:transparent!important;
}
