/* Квиз «Подбор поставщика» (parts/quiz.php): окно поверх главной в токенах «Порта» (port.css). */
.pkq-modal .pkq-dialog{max-width:680px;margin:8px auto;padding:0 8px;min-height:calc(100% - 16px)}
.pkq{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:24px 26px 20px;overflow:hidden}
.pkq *{box-sizing:border-box}
.pkq__top{padding-right:52px}
.pkq__kicker{margin:0;font:600 13px/1.2 var(--f-text);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-2)}
.pkq__count{margin:8px 0 0;font:700 15px/1.2 var(--f-text);color:var(--paper-ink-2);font-variant-numeric:tabular-nums}
.pkq__bar{height:6px;margin:12px -52px 0 0;border-radius:6px;background:var(--paper-2);overflow:hidden}
.pkq__bar i{display:block;height:100%;width:14%;border-radius:6px;background:var(--accent);transition:width .35s var(--ease)}
.pkq__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 -26px;padding:4px 26px 6px;overscroll-behavior:contain}

/* шаги — fieldset формы CF7 */
.pkq .wpcf7{margin:0}
.pkq form{margin:0}
.pkq-step{display:none;min-width:0;margin:0;padding:0;border:0}
.pkq-step.is-on{display:block;animation:pkq-in .28s var(--ease)}
@keyframes pkq-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.pkq-q{display:block;width:100%;margin:18px 0 0;padding:0;border:0;font:700 22px/1.22 var(--f-text);letter-spacing:-.02em;color:var(--paper-ink);outline:0}
.pkq-hint{margin:6px 0 0;font:400 14px/1.45 var(--f-text);color:var(--paper-ink-3)}
.pkq .wpcf7-form-control-wrap{display:block;margin-top:16px}
.pkq-step--contacts .wpcf7-form-control-wrap{margin-top:10px}
.pkq-step--contacts .pkq-hint+.wpcf7-form-control-wrap{margin-top:16px}

/* варианты ответа карточками */
.pkq .wpcf7-checkbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pkq .wpcf7-list-item{display:flex;flex-direction:column;margin:0}
.pkq .wpcf7-list-item>label{display:flex;align-items:center;gap:12px;min-height:54px;margin:0;padding:12px 14px;border:1.5px solid var(--paper-line);border-radius:14px;background:#fff;
  font:500 15.5px/1.25 var(--f-text);color:var(--paper-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .18s,background-color .18s,box-shadow .18s}
.pkq .wpcf7-list-item>label:hover{border-color:var(--brand-3)}
.pkq .wpcf7-list-item.is-on>label{border-color:var(--accent);background:#fff6f1}
.pkq .wpcf7-list-item>label:focus-within{box-shadow:0 0 0 3px rgba(255,127,66,.28)}
.pkq .wpcf7-list-item input[type=checkbox]{flex:none;-webkit-appearance:none;appearance:none;width:22px;height:22px;margin:0;border:1.6px solid #b9c1da;border-radius:7px;background:#fff center/14px no-repeat;
  cursor:pointer;transition:background-color .15s,border-color .15s}
.pkq .wpcf7-exclusive-checkbox input[type=checkbox]{border-radius:50%}
.pkq .wpcf7-list-item input[type=checkbox]:checked{border-color:var(--accent);background-color:var(--accent);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.9 2.9 6.1-6.3' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.pkq .wpcf7-list-item input[type=checkbox]:focus{outline:0}
.pkq .wpcf7-list-item-label{min-width:0;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
/* «Другое»: карточка стоит в сетке на своём месте, а своё поле появляется отдельной строкой под сеткой */
.pkq .wpcf7-list-item.has-free-text{display:contents}
.pkq input.wpcf7-free-text{display:none;grid-column:1/-1}
.pkq .is-other input.wpcf7-free-text{display:block}

/* поля */
.pkq input.wpcf7-free-text,.pkq input.wpcf7-form-control:not([type=submit]):not([type=checkbox]),.pkq textarea.wpcf7-form-control{
  width:100%!important;height:52px;margin:8px 0 0;padding:0 16px!important;border:1.5px solid var(--paper-line)!important;border-radius:14px!important;background:var(--paper-2)!important;
  font:500 max(1rem,16px)/1.2 var(--f-text)!important;color:var(--paper-ink)!important;box-shadow:none!important;outline:none;transition:border-color .2s,background-color .2s}
.pkq-step--contacts input.wpcf7-form-control:not([type=submit]){margin-top:0}
.pkq textarea.wpcf7-form-control{height:132px;margin-top:0;padding:14px 16px!important;resize:vertical}
.pkq input::placeholder,.pkq textarea::placeholder{color:var(--paper-ink-3);opacity:1}
.pkq input.wpcf7-free-text:focus,.pkq input.wpcf7-form-control:focus,.pkq textarea.wpcf7-form-control:focus{border-color:var(--brand-2)!important;background:#fff!important}
/* своя кнопка CF7 спрятана: отправляет кнопка внизу окна (quiz.js) */
.pkq input[type=submit],.pkq .wpcf7-spinner{display:none!important}
.pkq .wpcf7-not-valid-tip{margin-top:6px;font:500 13px/1.3 var(--f-text);color:#d93b3b}
.pkq .wpcf7-not-valid{border-color:#e7a1a1!important}
.pkq .wpcf7-response-output{display:none;margin:12px 0 0!important;padding:10px 12px!important;border-radius:12px;font:500 14px/1.4 var(--f-text)}
.pkq form.invalid .wpcf7-response-output,.pkq form.failed .wpcf7-response-output,.pkq form.spam .wpcf7-response-output,.pkq form.aborted .wpcf7-response-output{display:block;border:1px solid #f1b7b7!important;background:#fff5f5;color:#9a2b2b}

/* низ окна: «Назад» и «Далее» всегда на виду */
.pkq__nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -26px -20px;padding:14px 26px 18px;border-top:1px solid var(--paper-line);background:#fff}
.pkq__nav[hidden],.pkq__nav .pb[hidden]{display:none}
.pkq__back{padding:0 18px}
.pkq__back-ic{transform:scaleX(-1)}
.pkq__next{flex:1 1 auto;max-width:260px;margin-left:auto}
.pkq__next:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}
.pkq__next.is-busy{opacity:.7;cursor:progress}
.pkq.is-done .pkq__nav{display:none}

/* спасибо */
.pkq__done{padding:26px 0 8px;text-align:center}
.pkq__done-ic{width:64px;height:64px;margin:0 auto 18px;border-radius:20px;display:grid;place-items:center;background:rgba(255,127,66,.13);color:var(--accent)}
.pkq__done-ic .ic{width:30px;height:30px}
.pkq__done-t{margin:0;font:700 22px/1.25 var(--f-text);color:var(--paper-ink)}
.pkq__done-d{margin:10px auto 0;max-width:36ch;font:400 15px/1.5 var(--f-text);color:var(--paper-ink-2)}
.pkq__close{margin-top:22px}

@media (min-width:640px){
  .pkq-step--many .wpcf7-checkbox,.pkq-step[data-step="2"] .wpcf7-checkbox{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:480px){
  .pkq{padding:18px 16px 16px;border-radius:18px}
  .pkq__body{margin:0 -16px;padding:2px 16px 6px}
  .pkq__nav{margin:0 -16px -16px;padding:12px 16px 14px}
  .pkq-q{margin-top:14px;font-size:19px}
  .pkq .wpcf7-checkbox{gap:8px}
  .pkq .wpcf7-list-item>label{min-height:50px;padding:10px 12px;gap:10px;font-size:14.5px}
  .pkq .wpcf7-list-item input[type=checkbox]{width:20px;height:20px}
}
@media (prefers-reduced-motion:reduce){.pkq-step.is-on{animation:none}.pkq__bar i{transition:none}}
