/* ── Typeahead (input[data-ac]) ─────────────────────────────────── */
.ac-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:min(520px,calc(100vw - 32px));z-index:1120;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -18px rgba(20,40,25,.38),0 2px 8px rgba(20,40,25,.06);max-height:min(72vh,620px);overflow-y:auto;overscroll-behavior:contain;padding:6px;text-align:left;animation:acin .14s ease}
@keyframes acin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ac-panel[hidden],.ac-list[hidden]{display:none!important}
.ac-list.is-loading::before{content:"";display:block;height:2px;margin:-6px -6px 4px;background:linear-gradient(90deg,transparent,var(--leaf),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:acload .9s linear infinite;border-radius:18px 18px 0 0}
@keyframes acload{from{background-position:-50% 0}to{background-position:150% 0}}
.ac-head{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 4px;font:700 11px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ac-head:first-child{padding-top:6px}
.ac-clear{border:0;background:none;color:var(--leaf-2);font:600 12px var(--ui);cursor:pointer;text-transform:none;letter-spacing:0}
.ac-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;color:var(--ink);text-decoration:none;min-height:52px}
.ac-row:hover,.ac-row.act{background:var(--paper);color:var(--ink)}
.ac-media{width:40px;height:40px;border-radius:11px;flex:0 0 40px;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--c);font-size:16px}
.ac-media img{width:100%;height:100%;object-fit:cover}
.ac-media img.round{border-radius:50%}
.ac-flag{font-size:22px;line-height:1}
.ac-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ac-txt b{font-weight:600;font-size:14.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-txt b mark{background:none;color:var(--forest);font-weight:800}
.ac-txt small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.ac-rate{font-size:12.5px;font-weight:700;color:var(--ink)}
.ac-rate i{color:#F59E0B;margin-right:3px;font-size:11px}
.ac-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--forest);color:var(--lime);white-space:nowrap}
.ac-badge.ac-smart{background:#FEF3C7;color:#92400E}
.ac-recent{position:relative}
.ac-recent .ac-row{padding-right:40px}
.ac-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}
.ac-x:hover{background:var(--paper-2);color:var(--ink)}
.ac-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px 8px}
.ac-chips a{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-size:13.5px;font-weight:550}
.ac-chips a:hover{border-color:var(--ink-2);color:var(--ink)}
.ac-chips a i{color:var(--c,var(--leaf-2))}
.ac-none{padding:14px 12px;color:var(--muted);font-size:14px}
.ac-all{display:flex;align-items:center;gap:10px;margin-top:4px;padding:12px;border-top:1px solid var(--line-2);border-radius:0 0 12px 12px;color:var(--leaf-2);font-size:14px;font-weight:550}
.ac-all b{color:var(--forest)}
.ac-all kbd{margin-left:auto;font:600 11px var(--ui);padding:2px 7px;border-radius:6px;border:1px solid var(--line);color:var(--muted);background:#fff}
.ac-all:hover,.ac-all.act{background:var(--paper)}
/* header & hero: give the panel room */
.hdr-search .ac-panel{min-width:560px}
.hero-search .ac-panel{left:-6px;right:auto;width:min(620px,calc(100vw - 32px))}
/* inline in the mobile search screen */
.sx .ac-list{background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px;display:block}
.sx .ac-list .ac-row{min-height:56px}
@media (max-width:760px){
  .ac-panel{left:0;right:0;min-width:0;max-height:60vh}
  .hero-search .ac-panel{position:absolute;left:0;right:0;width:auto}
  @media (hover:none){.ac-all kbd{display:none}}
}
.ac-txt b mark{background:none!important;box-shadow:none!important;text-decoration:none!important;padding:0!important}
/* the hero clips its decoration — let an open suggestion panel escape it */
.hero:has(.ac-panel:not([hidden])){overflow:visible;z-index:1110}
.hero:has(.ac-panel:not([hidden])) .hero-leaves{display:none}
section:has(> .wrap .ac-panel:not([hidden])),div:has(> .ac-panel:not([hidden])){z-index:1110}
main > section:has(.ac-panel:not([hidden])),main > div:has(.ac-panel:not([hidden])),main > header:has(.ac-panel:not([hidden])),.wiki-hero:has(.ac-panel:not([hidden])){position:relative;z-index:1110;overflow:visible}
