/* 🎯 «Определить запрос» — стили визарда (отдельный файл, тема/адаптив). */
.qh { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center;
  justify-content: center; padding: 16px; background: rgba(24,16,40,.72); backdrop-filter: blur(3px); }
.qh[hidden] { display: none; }
.qh__box { position: relative; width: 100%; max-width: 460px; max-height: 92vh; overflow: auto;
  background: #fff; border-radius: 16px; box-shadow: 0 18px 50px rgba(20,8,45,.45);
  display: flex; flex-direction: column; }
.qh__head { display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px 8px; }
.qh__title { font-weight: 800; color: #2a2140; font-size: 1.05rem; }
.qh__x { background: transparent; border: 0; font-size: 1.6rem; line-height: 1; color: #8a7fb0;
  cursor: pointer; padding: 0 4px; }
.qh__crumbs { padding: 0 16px 6px; display: flex; align-items: center; justify-content: space-between;
  gap: 8px; flex-wrap: wrap; }
.qh-cr__row { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: .8rem; }
.qh-cr { background: transparent; border: 0; color: #7c3aed; cursor: pointer; padding: 2px 3px;
  font-size: .8rem; font-weight: 600; }
.qh-cr--cur { color: #2a2140; font-weight: 700; }
.qh-cr__sep { color: #c3b8e0; }
.qh-step { font-size: .72rem; color: #9a8fbf; font-weight: 700; white-space: nowrap; }
.qh__body { padding: 6px 16px 18px; }
.qh-hint { font-size: .9rem; color: #4a4360; margin: 4px 0 12px; line-height: 1.45; }
.qh-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qh-grid--list { grid-template-columns: 1fr; }
.qh-tile { display: flex; align-items: center; gap: 10px; text-align: left; width: 100%;
  padding: 12px 14px; border: 1px solid #e7defb; border-radius: 12px; background: #faf7ff;
  cursor: pointer; font-size: .95rem; color: #2a2140; transition: background .15s, border-color .15s, transform .08s; }
.qh-tile:hover { background: #f1eaff; border-color: #c9b6f5; }
.qh-tile:active { transform: scale(.99); }
.qh-tile__e { font-size: 1.3rem; flex: 0 0 auto; }
.qh-tile__t { font-weight: 600; }
.qh-tile--custom { border-style: dashed; background: #fff; color: #7c3aed; }
.qh-tile--unknown { border-color: #ffd9a8; background: #fff8ee; }
.qh-nav { margin-top: 14px; }
.qh-back { background: transparent; border: 0; color: #7c3aed; font-weight: 600; cursor: pointer;
  font-size: .9rem; padding: 4px 2px; }
.qh-sub { font-size: .8rem; color: #6a6285; font-weight: 700; margin: 10px 0 6px; }
.qh-opts { margin-bottom: 6px; }
.qh-opt { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border-radius: 9px;
  background: #faf7ff; border: 1px solid #ece4fb; margin-bottom: 6px; cursor: pointer; font-size: .9rem; }
.qh-opt input { margin-top: 3px; }
.qh-final { width: 100%; border: 1px solid #cbb8ef; border-radius: 10px; padding: 10px 12px;
  font-size: .98rem; font-family: inherit; line-height: 1.4; resize: vertical; color: #2a2140; box-sizing: border-box; }
.qh-final:focus { outline: 2px solid #b79ef0; border-color: #b79ef0; }
.qh-conf { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0 4px; }
.qh-conf .qh-sub { margin: 0 4px 0 0; flex-basis: 100%; }
.qh-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border-radius: 999px;
  border: 1px solid #e0d6f5; background: #fff; font-size: .82rem; cursor: pointer; color: #4a4360; }
.qh-chip input { accent-color: #7c3aed; }
.qh-why { font-size: .84rem; color: #3f7a4a; background: #f0faf2; border: 1px solid #cdeed4;
  border-radius: 9px; padding: 8px 11px; margin: 10px 0; line-height: 1.4; }
.qh-out { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.qh-out__go { background: linear-gradient(180deg,#8b5cf6,#7c3aed); color: #fff; border: 0;
  border-radius: 10px; padding: 10px 16px; font-size: .95rem; font-weight: 700; cursor: pointer; }
.qh-out__b { background: #f3eeff; color: #7c3aed; border: 1px solid #e0d6f5; border-radius: 10px;
  padding: 9px 13px; font-size: .88rem; font-weight: 600; cursor: pointer; }
.qh-flash { font-size: .82rem; color: #3f7a4a; font-weight: 600; align-self: center; }
.qh-recent { margin-top: 16px; }
.qh-recent__h { font-size: .78rem; color: #9a8fbf; font-weight: 700; margin-bottom: 6px; }
.qh-recent__i { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid #ece4fb;
  border-radius: 9px; padding: 8px 11px; margin-bottom: 5px; font-size: .86rem; color: #4a4360; cursor: pointer; }
.qh-recent__i:hover { background: #faf7ff; }
