/* Квиз-виджет связки — общий файл для index.html, brand/*.html и kviz.html.
   Собран движком, руками не править: tools/build_kviz.py */
.slnq-qz{
  --slnq-bg:#F7F2EC; --slnq-bg2:#F0E7DA; --slnq-card:#FFFFFF; --slnq-tile:#FBF7F1;
  --slnq-ink:#241E19; --slnq-ink-soft:#4A4038; --slnq-muted:#6E6055;
  --slnq-line:#E6DBCB; --slnq-line2:#D6C7B2;
  --slnq-acc:#C96F4A; --slnq-acc-deep:#A85434; --slnq-acc-deep2:#8E4227; --slnq-acc-text:#8E4227;
  --slnq-acc-tint:rgba(201,111,74,.12); --slnq-ok:#356B4D; --slnq-white:#fff;
  --slnq-in-bg:#FFFFFF; --slnq-topbg:rgba(247,242,236,.94);
  --slnq-r:20px; --slnq-r-sm:13px; --slnq-r-xs:9px;
  --slnq-sh1:0 12px 30px -20px rgba(60,40,20,.35);
  --slnq-sh2:0 22px 50px -30px rgba(60,40,20,.32);
  --slnq-sh3:0 30px 64px -34px rgba(60,40,20,.42);
  --slnq-sans:"Manrope","Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --slnq-display:"Playfair Display",Georgia,serif;
  background:var(--slnq-bg);color:var(--slnq-ink);
  font:400 16px/1.6 var(--slnq-sans);
  border-top:1px solid var(--slnq-line);border-bottom:1px solid var(--slnq-line);
  padding:clamp(30px,5vw,58px) 0;scroll-margin-top:74px;display:block}
.slnq-qz *,.slnq-qz *::before,.slnq-qz *::after{box-sizing:border-box}
.slnq-qz img{max-width:100%;display:block}
.slnq-qz p{margin:0}
.slnq-qz ul{margin:0;padding:0;list-style:none}
.slnq-qz a{color:inherit}
.slnq-qz button{font-family:inherit;color:inherit}
.slnq-qz :focus-visible{outline:2.5px solid var(--slnq-acc);outline-offset:3px;border-radius:6px}

.slnq-qz-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(14px,3.4vw,32px)}
.slnq-qz-h{margin:0;font-family:var(--slnq-display);font-weight:700;
  font-size:clamp(23px,3.3vw,34px);line-height:1.16;letter-spacing:-.018em;max-width:23ch;color:var(--slnq-ink)}
.slnq-qz-sub{margin-top:12px;font-size:15.5px;line-height:1.55;color:var(--slnq-ink-soft);max-width:62ch}
.slnq-qz-head{margin-bottom:clamp(18px,2.6vw,28px)}

/* ---- карточка ---- */
.slnq-card{background:var(--slnq-card);border:1px solid var(--slnq-line);border-radius:var(--slnq-r);
  box-shadow:var(--slnq-sh2);padding:clamp(18px,3vw,34px);min-width:0}

.slnq-prog{margin-bottom:clamp(16px,2.2vw,24px)}
.slnq-prog-bar{display:flex;gap:5px}
.slnq-prog-seg{flex:1;height:6px;border-radius:99px;background:var(--slnq-line);overflow:hidden}
.slnq-prog-seg i{display:block;height:100%;width:100%;border-radius:99px;background:var(--slnq-acc);
  transform:scaleX(0);transform-origin:left center;transition:transform .4s ease-out}
.slnq-prog-seg.is-done i,.slnq-prog-seg.is-now i{transform:none}
.slnq-prog-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  margin-top:9px;font-size:12.5px;font-weight:700;color:var(--slnq-muted);letter-spacing:.02em}
.slnq-prog-meta b{color:var(--slnq-acc-text)}

.slnq-step{display:none}
.slnq-step.is-now{display:block;animation:slnq-in .3s ease-out both}
@keyframes slnq-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.slnq-q{margin:0;font-weight:800;font-size:clamp(20px,2.9vw,28px);line-height:1.18;letter-spacing:-.022em;color:var(--slnq-ink)}
.slnq-qsub{margin-top:9px;font-size:15px;line-height:1.5;color:var(--slnq-muted);max-width:56ch}

/* ---- варианты ---- */
.slnq-opts{display:grid;gap:12px;margin-top:clamp(16px,2.2vw,22px);grid-template-columns:1fr}
@media(min-width:700px){.slnq-opts{grid-template-columns:1fr 1fr;gap:14px}}

.slnq-opt{position:relative;display:flex;flex-direction:column;text-align:left;cursor:pointer;
  background:var(--slnq-tile);border:1.5px solid var(--slnq-line);border-radius:var(--slnq-r-sm);
  padding:0;overflow:hidden;min-height:52px;
  transition:border-color .18s ease-out,box-shadow .22s ease-out,transform .22s ease-out,background-color .18s ease-out}
.slnq-opt:hover{border-color:var(--slnq-line2);box-shadow:var(--slnq-sh1);transform:translateY(-2px)}
.slnq-opt.is-picked{border-color:var(--slnq-acc);background:var(--slnq-card);box-shadow:var(--slnq-sh3)}
.slnq-opt::after{content:"";position:absolute;top:11px;right:11px;width:26px;height:26px;border-radius:50%;
  border:1.5px solid var(--slnq-line2);background:var(--slnq-card);
  transition:background-color .18s ease-out,border-color .18s ease-out;z-index:2}
.slnq-opt.is-picked::after{background:var(--slnq-acc);border-color:var(--slnq-acc)}
/* галочка — на псевдоэлементе: 17 инлайновых SVG на страницу того не стоят */
.slnq-opt::before{content:"";position:absolute;top:17px;right:20px;width:7px;height:12px;z-index:3;
  border:solid #fff;border-width:0 2.6px 2.6px 0;opacity:0;
  transform:rotate(45deg) scale(.6);transform-origin:center;
  transition:opacity .18s ease-out,transform .18s ease-out}
.slnq-opt.is-picked::before{opacity:1;transform:rotate(45deg)}

.slnq-opt-pic{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;object-position:50% 55%;
  background:var(--slnq-bg2);border-bottom:1px solid var(--slnq-line)}
.slnq-opt-body{display:block;padding:13px 15px 15px}
.slnq-opt-t{display:block;font-size:17px;font-weight:800;letter-spacing:-.015em;line-height:1.22}
.slnq-opt-s{display:block;margin-top:5px;font-size:13.4px;line-height:1.42;color:var(--slnq-muted)}

.slnq-opt--num .slnq-opt-body{padding:16px 17px 17px}
.slnq-num{font-family:var(--slnq-display);font-size:clamp(23px,3.2vw,29px);line-height:1.08;
  letter-spacing:-.015em;font-weight:700;display:block;font-variant-numeric:tabular-nums}
.slnq-num small{font-family:var(--slnq-sans);font-size:15px;font-weight:800;letter-spacing:-.01em}
.slnq-opt-tag{display:inline-flex;align-items:center;gap:6px;margin-top:10px;
  background:var(--slnq-acc-tint);color:var(--slnq-acc-text);border-radius:99px;
  padding:5px 11px;font-size:12.5px;font-weight:800}

.slnq-opt--ico{flex-direction:row;align-items:flex-start;gap:13px;padding:16px 44px 16px 16px}
.slnq-ico{width:42px;height:42px;flex:0 0 auto;border-radius:var(--slnq-r-xs);display:grid;place-items:center;
  background:var(--slnq-acc-tint);color:var(--slnq-acc-text)}
.slnq-ico svg{width:21px;height:21px}
.slnq-opt--ico .slnq-opt-body{padding:0;flex:1 1 auto;min-width:0}

.slnq-alt{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}
.slnq-chip{position:relative;cursor:pointer;text-align:left;background:transparent;
  border:1.5px dashed var(--slnq-line2);border-radius:99px;padding:11px 17px;
  font-size:14px;font-weight:700;color:var(--slnq-ink-soft);min-height:44px;
  transition:border-color .18s ease-out,background-color .18s ease-out,color .18s ease-out}
.slnq-chip:hover{border-color:var(--slnq-acc);color:var(--slnq-ink)}
.slnq-chip.is-picked{border-style:solid;border-color:var(--slnq-acc);background:var(--slnq-acc-tint);color:var(--slnq-acc-text)}
.slnq-note{margin-top:13px;font-size:12.8px;line-height:1.45;color:var(--slnq-muted)}

.slnq-reveal{display:none;margin-top:14px;background:var(--slnq-bg2);border:1px solid var(--slnq-line2);
  border-radius:var(--slnq-r-sm);padding:15px}
.slnq-reveal.is-open{display:block;animation:slnq-in .28s ease-out both}
.slnq-reveal label{display:block;font-size:13.5px;font-weight:700;margin-bottom:8px;color:var(--slnq-ink-soft)}

/* ---- навигация ---- */
.slnq-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(16px,2.2vw,22px)}
.slnq-btn{appearance:none;border:0;border-radius:var(--slnq-r-sm);padding:15px 26px;font-size:16px;font-weight:800;
  letter-spacing:-.005em;cursor:pointer;min-height:52px;line-height:1.2;white-space:normal;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  transition:background-color .18s ease-out,transform .18s ease-out,box-shadow .22s ease-out}
.slnq-btn svg{width:17px;height:17px;flex:0 0 auto}
.slnq-btn--go{background:var(--slnq-acc-deep);color:#fff;box-shadow:var(--slnq-sh1)}
.slnq-btn--go:hover{background:var(--slnq-acc-deep2);transform:translateY(-1px);box-shadow:var(--slnq-sh2)}
.slnq-btn--wide{width:100%}
.slnq-btn--back{background:transparent;color:var(--slnq-muted);padding:15px 6px;font-weight:700;font-size:15px}
.slnq-btn--back:hover{color:var(--slnq-ink)}
@media(max-width:420px){.slnq-btn{font-size:15px;padding-left:17px;padding-right:17px}}

/* ---- финал ---- */
.slnq-sum{margin-top:18px;background:var(--slnq-bg2);border:1px solid var(--slnq-line2);
  border-radius:var(--slnq-r-sm);padding:15px 16px}
.slnq-sum-t{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--slnq-muted);margin-bottom:10px}
.slnq-sum ul{display:grid;gap:8px}
.slnq-sum li{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px;line-height:1.4;
  justify-content:space-between;border-bottom:1px dashed var(--slnq-line2);padding-bottom:8px}
.slnq-sum li:last-child{border-bottom:0;padding-bottom:0}
.slnq-sum li span{color:var(--slnq-muted)}
.slnq-sum li b{font-weight:800;text-align:right}

.slnq-form{margin-top:18px;display:grid;gap:13px}
.slnq-field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px;color:var(--slnq-ink-soft)}
.slnq-in{width:100%;border:1.5px solid var(--slnq-line2);border-radius:var(--slnq-r-sm);padding:14px 15px;
  font-size:16px;font-family:inherit;background:var(--slnq-in-bg);color:var(--slnq-ink);min-height:52px;
  transition:border-color .18s ease-out,box-shadow .18s ease-out}
.slnq-in:focus{outline:0;border-color:var(--slnq-acc);box-shadow:0 0 0 3.5px var(--slnq-acc-tint)}
.slnq-in::placeholder{color:var(--slnq-muted)}
.slnq-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.8px;line-height:1.5;color:var(--slnq-muted)}
.slnq-consent input{width:19px;height:19px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--slnq-acc-deep)}
.slnq-reassure{display:flex;gap:9px;align-items:flex-start;font-size:13.2px;line-height:1.5;color:var(--slnq-muted)}
.slnq-reassure svg{width:16px;height:16px;margin-top:2px;flex:0 0 auto;color:var(--slnq-ok)}
.slnq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- ссылка на квиз в первом экране и в подвале страниц связки ---- */
.slnq-jump{margin-top:14px;font-size:14.5px;line-height:1.5}
.slnq-jump a{display:inline-block;font-weight:800;padding:4px 0;
  border-bottom:2px solid currentColor;text-decoration:none}
.slnq-footlink{margin:0 0 10px;font-size:13.5px;font-weight:700}
.slnq-footlink a{text-decoration:none;border-bottom:1px solid currentColor}

@media (prefers-reduced-motion: reduce){
  .slnq-qz *,.slnq-qz *::before,.slnq-qz *::after{animation-duration:.001ms!important;
    animation-iteration-count:1!important;transition-duration:.001ms!important}
  .slnq-opt:hover,.slnq-btn--go:hover{transform:none}
  .slnq-step.is-now,.slnq-reveal.is-open{animation:none}
}
