/* ==========================================================================
   Ricerca rapida di navigazione - quizvds.it
   Indicizza corsi, materie, simulazioni, PDF, app e pagine fisse.
   Nessuna domanda d'esame: e una ricerca per navigare, non per leggere il banco.
   Tutto nel browser: l'indice e un file statico, il server non fa nulla.
   ========================================================================== */

.qv-cerca-trigger a{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:8px;cursor:pointer;color:inherit;
}
.qv-cerca-trigger a:hover,.qv-cerca-trigger a:focus-visible{background:rgba(255,255,255,.14)}
.qv-cerca-trigger a:focus-visible{outline:2px solid #fff;outline-offset:1px}
.qv-cerca-trigger svg{display:block;flex:none}

/* la lente resta visibile anche quando il menu collassa nell'hamburger:
   su telefono cercare serve piu che su desktop, non meno */
.qv-cerca-mobile{display:none}
@media (max-width:979px){
  .qv-cerca-mobile{
    display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:8px;color:#fff;cursor:pointer;
  }
  .qv-cerca-mobile:hover{background:rgba(255,255,255,.14)}
}

.qv-cerca-ov{
  position:fixed;inset:0;z-index:4000;display:none;
  background:rgba(9,19,32,.45);
}
.qv-cerca-ov.qv-open{display:block}
.qv-cerca-box{
  position:absolute;left:50%;transform:translateX(-50%);top:78px;
  width:min(620px,calc(100% - 20px));
  background:#fff;color:#0d2136;
  border:1px solid #dfe5ec;border-radius:12px;
  box-shadow:0 24px 60px rgba(9,19,32,.34);
  overflow:hidden;
  font-family:inherit;
}
@media (max-width:600px){
  .qv-cerca-box{top:10px;width:calc(100% - 16px);border-radius:10px}
}

.qv-cerca-field{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid #e6ebf1}
.qv-cerca-field>svg{flex:none;color:#8496a9}
.qv-cerca-input{
  flex:1;min-width:0;border:0;background:transparent;color:#0d2136;
  font-size:17px;line-height:1.4;padding:2px 0;font-family:inherit;
}
.qv-cerca-input:focus{outline:none;box-shadow:none}
.qv-cerca-input::placeholder{color:#8496a9}
.qv-cerca-esc{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:#8496a9;background:#f6f8fb;border:1px solid #dfe5ec;border-bottom-width:2px;
  border-radius:4px;padding:1px 6px;
}

.qv-cerca-out{max-height:min(58vh,430px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.qv-cerca-group{
  display:flex;align-items:center;gap:9px;padding:11px 15px 4px;
  font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#8496a9;
}
.qv-cerca-group .qv-rule{flex:1;height:1px;background:#e6ebf1}

a.qv-cerca-hit{
  display:flex;align-items:baseline;gap:9px;padding:7px 15px;
  text-decoration:none;color:#0d2136;border-left:3px solid transparent;line-height:1.4;
}
a.qv-cerca-hit:hover,a.qv-cerca-hit.qv-on{background:#f6f8fb;border-left-color:#1a5fa8;text-decoration:none;color:#0d2136}
a.qv-cerca-hit .qv-t{font-weight:500}
a.qv-cerca-hit .qv-t em{font-style:normal;background:#fbf0de;color:#b8690f;border-radius:2px}
a.qv-cerca-hit .qv-s{color:#8496a9;font-size:13px}
a.qv-cerca-hit .qv-meta{
  margin-left:auto;flex:none;color:#8496a9;font-size:12.5px;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

.qv-cerca-empty{padding:24px 15px 28px;text-align:center;color:#4a5f77;font-size:14px}
.qv-cerca-empty strong{display:block;color:#0d2136;font-size:16px;margin-bottom:3px;font-weight:600}

@media (prefers-reduced-motion:no-preference){
  a.qv-cerca-hit{transition:background .12s ease,border-color .12s ease}
}

/* mentre la ricerca e aperta la pagina dietro non scorre */
html.qv-cerca-bloccato{overflow:hidden}
