/* Агрегат · конфигуратор «Соберите свой сайт». Тема «Тяжмаш»: токены из css/theme.css. */
.kf{background:var(--light);padding-bottom:var(--section)}
.kf__top{padding-top:1.4rem;padding-bottom:1.6rem}
.kf__crumbs{display:flex;flex-wrap:wrap;gap:.3rem .7rem;font:500 var(--t-mono)/1.4 var(--f-mono);color:var(--ink-2)}
.kf__crumbs a{color:inherit;text-decoration:none}.kf__crumbs a:hover{color:var(--mayak-dark)}
.kf__crumbs>*+*::before{content:'/';margin-right:.7rem;opacity:.5}
.kf__h{margin:1rem 0 0;font:800 var(--t-h1)/1.05 var(--f-display)}
.kf__lead{max-width:64ch;margin-top:.9rem;font-size:var(--t-lead);color:var(--ink-2)}
.kf__g{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:clamp(1.2rem,.8rem + 1.5vw,2.4rem);align-items:start}

/* шаги */
.kf__steps{display:flex;flex-direction:column;gap:2px;background:var(--beton);border:var(--rule)}
.kf-s{background:var(--sheet)}
.kf-s__h{margin:0}
.kf-s__h button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;width:100%;min-height:62px;padding:.8rem 1.1rem;border:0;background:none;text-align:left;cursor:pointer}
.kf-s__h i{display:grid;place-items:center;width:30px;height:30px;font:500 .8rem/1 var(--f-mono);font-style:normal;box-shadow:inset 0 0 0 1px var(--beton)}
.kf-s__h span{font:800 1.02rem/1.2 var(--f-display)}
.kf-s__h em{font:500 .78rem/1.3 var(--f-text);font-style:normal;color:var(--ink-2);text-align:right;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kf-s.is-open .kf-s__h i{background:var(--chugun);color:#fff;box-shadow:none}
.kf-s.is-done .kf-s__h i{background:var(--mayak);color:var(--ink);box-shadow:none}
.kf-s__b{padding:.2rem 1.1rem 1.3rem}
.kf-next{margin-top:1.2rem}
.kf-hint{margin:0 0 .9rem;font-size:.9rem;color:var(--ink-2)}
.kf-note{margin:.9rem 0 0;padding:.7rem .9rem;background:var(--light);box-shadow:inset 3px 0 0 var(--mayak);font-size:.88rem;color:var(--ink)}
.kf-g{margin:1rem 0 .5rem;font:500 .72rem/1 var(--f-mono);color:var(--ink-2)}

/* 1 · отрасли */
.kf-inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.kf-ind{position:relative}
.kf-ind input,.kf-card input,.kf-mod input,.kf-pal input,.kf-q input,.kf-ms input{position:absolute;opacity:0;pointer-events:none}
.kf-ind span{display:flex;flex-direction:column;gap:.25rem;min-height:104px;padding:.8rem .85rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);cursor:pointer;transition:box-shadow .2s}
.kf-ind svg{width:26px;height:26px;margin-bottom:.2rem;color:var(--ink)}
.kf-ind b{font-weight:600;font-size:.95rem;line-height:1.2}
.kf-ind small{font-size:.76rem;line-height:1.3;color:var(--ink-2)}
.kf-ind:hover span{box-shadow:inset 0 0 0 1px var(--ink)}
.kf-ind input:checked+span{box-shadow:inset 0 0 0 2px var(--chugun),inset 0 -4px 0 2px var(--mayak)}
.kf-ind input:focus-visible+span,.kf-card input:focus-visible+span,.kf-mod input:focus-visible+span,.kf-pal input:focus-visible+span,.kf-q input:focus-visible+span,.kf-ms input:focus-visible+span{outline:2px solid var(--mayak-dark);outline-offset:2px}

/* 2 · модули */
.kf-mods{display:flex;flex-direction:column;gap:2px;background:var(--beton);box-shadow:0 0 0 1px var(--beton)}
.kf-mod{position:relative}
.kf-mod span{display:grid;grid-template-columns:20px 1fr;gap:.2rem .7rem;padding:.65rem .8rem;background:#fff;cursor:pointer}
.kf-mod span::before{content:'';grid-row:1/3;width:18px;height:18px;margin-top:.1rem;box-shadow:inset 0 0 0 1.5px var(--ink-2)}
.kf-mod input:checked+span::before{background:var(--chugun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:none}
.kf-mod input:disabled+span{cursor:default;opacity:.75}
.kf-mod b{font-weight:600;font-size:.9rem}
.kf-mod small{font-size:.78rem;color:var(--ink-2)}
.kf-mod.is-extra span{box-shadow:inset 3px 0 0 var(--mayak)}

/* 3–4 · карточки дизайна и шапки */
.kf-designs,.kf-heads{display:flex;flex-direction:column;gap:.5rem}
.kf-card{position:relative}
.kf-card span{display:grid;grid-template-columns:96px 1fr;gap:.2rem .9rem;align-items:start;padding:.75rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);cursor:pointer}
.kf-card svg{grid-row:1/4;width:96px;height:64px;background:var(--light)}
.kf-card b{font:800 .95rem/1.2 var(--f-display)}
.kf-card small{font-size:.8rem;line-height:1.35;color:var(--ink-2)}
.kf-card em{justify-self:start;padding:.2rem .45rem;background:var(--mayak);font:500 .66rem/1.2 var(--f-mono);font-style:normal;color:var(--ink)}
.kf-card:hover span{box-shadow:inset 0 0 0 1px var(--ink)}
.kf-card input:checked+span{box-shadow:inset 0 0 0 2px var(--chugun)}
.kf-q{margin:0 0 .9rem;padding:0;border:0}
.kf-q legend{margin-bottom:.5rem;font-weight:600}
.kf-q label{display:block;margin-top:.35rem}
.kf-q span{display:block;padding:.6rem .8rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);cursor:pointer;font-size:.9rem}
.kf-q input:checked+span{box-shadow:inset 0 0 0 2px var(--chugun)}

/* 5 · палитры */
.kf-pals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.kf-pal{position:relative}
.kf-pal span{display:flex;flex-direction:column;gap:.45rem;padding:.55rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);cursor:pointer}
.kf-pal i{display:flex;height:28px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.kf-pal i u{flex:1}
.kf-pal i u:nth-child(3){flex:.6}
.kf-pal b{font-weight:500;font-size:.82rem}
.kf-pal:hover span{box-shadow:inset 0 0 0 1px var(--ink)}
.kf-pal input:checked+span{box-shadow:inset 0 0 0 2px var(--chugun)}
.kf-own{margin-top:1rem}
.kf-own__l{display:flex;align-items:center;gap:.55rem;font-weight:600;cursor:pointer}
.kf-own__l input{width:18px;height:18px;accent-color:var(--chugun)}
.kf-own__f{display:flex;align-items:flex-end;gap:.7rem;margin-top:.7rem}
.kf-own__f input[type=color]{width:56px;height:48px;padding:2px;border:var(--rule);background:#fff;cursor:pointer}

/* 6 · логотип */
.kf-fi{display:flex;flex-direction:column;gap:.3rem;font:500 .72rem/1 var(--f-mono);color:var(--ink-2)}
.kf-fi input{min-height:48px;padding:.7rem .85rem;border:var(--rule);background:#fff;font:400 1rem/1.2 var(--f-text);color:var(--ink)}
.kf-fi input:focus{outline:2px solid var(--mayak-dark);outline-offset:0;border-color:transparent}
.kf-logo{display:block;margin-top:.9rem;cursor:pointer}
.kf-logo input{position:absolute;opacity:0;width:1px;height:1px}
.kf-logo span{display:block;padding:.9rem;border:1px dashed var(--ink-2);background:#fff;font-size:.9rem;text-align:center}
.kf-logo:focus-within span,.kf-logo:hover span{border-color:var(--ink)}
.kf-logo__pv{display:flex;align-items:center;gap:1rem;margin-top:.7rem;padding:.6rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton)}
.kf-logo__pv img{max-height:48px;max-width:180px;object-fit:contain}
.kf-link{border:0;background:none;color:var(--mayak-dark);text-decoration:underline;cursor:pointer;font-size:.88rem}

/* 7 · итог */
.kf-sum{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0 0 1rem;font-size:.9rem}
.kf-sum dt{color:var(--ink-2)}
.kf-sum dd{margin:0;font-weight:500}
/* «Можем сделать за вас»: две услуги карточками-переключателями, у каждой — сколько добавит к сборке */
.kf-help{display:grid;gap:.6rem;min-width:0;margin:0 0 1rem;padding:0;border:0}
.kf-help legend{margin-bottom:.7rem;padding:0;font:800 1rem/1.25 var(--f-display)}
.kf-hc{position:relative;display:block}
.kf-hc input{position:absolute;opacity:0;pointer-events:none}
.kf-hc__b{display:grid;grid-template-columns:28px minmax(0,1fr) 22px;gap:.9rem;align-items:start;padding:1rem 1rem 1rem .95rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);cursor:pointer;transition:box-shadow .2s ease,background-color .2s ease,transform .2s cubic-bezier(.2,.7,.3,1)}
.kf-hc__i{color:var(--ink-2);transition:color .2s ease}
.kf-hc__t{display:grid;gap:.3rem}
.kf-hc__t b{font:700 .98rem/1.3 var(--f-text);color:var(--ink)}
.kf-hc__t span{font-size:.84rem;line-height:1.45;color:var(--ink-2)}
.kf-hc__t em{margin-top:.25rem;font:500 .74rem/1.35 var(--f-mono);font-style:normal;color:var(--mayak-dark)}
.kf-hc__ck{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--ink-3);transition:background-color .2s ease,box-shadow .2s ease}
.kf-hc:hover .kf-hc__b{box-shadow:inset 0 0 0 1px var(--ink-2)}
.kf-hc input:checked+.kf-hc__b{background:var(--sheet);box-shadow:inset 0 0 0 2px var(--chugun),inset 4px 0 0 var(--mayak)}
.kf-hc input:checked+.kf-hc__b .kf-hc__i{color:var(--ink)}
.kf-hc input:checked+.kf-hc__b .kf-hc__ck{background:var(--chugun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center/15px no-repeat;box-shadow:none}
.kf-hc input:focus-visible+.kf-hc__b{outline:2px solid var(--mayak-dark);outline-offset:2px}
.kf-hc.is-inc input+.kf-hc__b{cursor:default;background:var(--sheet);box-shadow:inset 0 0 0 1px var(--beton)}
.kf-hc.is-inc .kf-hc__ck{background:var(--ink-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center/15px no-repeat!important;box-shadow:none!important}
@media (hover:hover){.kf-hc:not(.is-inc):hover .kf-hc__b{transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.kf-hc__b,.kf-hc__ck,.kf-hc__i{transition:none}.kf-hc:hover .kf-hc__b{transform:none}}
.kf-tar{padding:1rem 1.1rem;background:var(--chugun);color:#fff}
.kf-tar p{margin:0}
.kf-tar__k{font:500 .7rem/1 var(--f-mono);color:var(--ink-3)}
.kf-tar__n{margin-top:.5rem!important;font:800 1.3rem/1.15 var(--f-display)}
.kf-tar__p{margin-top:.3rem!important;font:800 1.6rem/1 var(--f-display);color:var(--mayak)}
.kf-tar__w{margin-top:.6rem!important;font-size:.85rem;color:#C9C7C1}
.kf-tar__s{margin-top:.6rem!important;font-size:.78rem;color:var(--ink-3)}
.kf-copy{min-height:36px;padding:.35rem .8rem;font-size:.85rem}
.kf-send{margin:0}
.kf-send__t{margin:-.4rem 0 1rem;font-size:.88rem;line-height:1.5;color:var(--ink-2)}
.kf-send .kf-ms{margin:0 0 .9rem}
.kf-mail{margin-top:.6rem}
.kf-send__h{margin:0 0 .9rem;font:800 1rem/1.25 var(--f-display)}
.kf-send__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.kf-ms{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 0;padding:0;border:0}
.kf-ms legend{width:100%;margin-bottom:.4rem;font:500 .72rem/1 var(--f-mono);color:var(--ink-2)}
.kf-ms span{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .9rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);font-size:.88rem;cursor:pointer}
.kf-ms input:checked+span{box-shadow:inset 0 0 0 2px var(--chugun)}
.kf-hp{position:absolute!important;left:-9999px;opacity:0}
.kf-submit{width:100%;margin-top:1rem}
.kf-legal{margin-top:.7rem;font-size:.74rem;color:var(--ink-2)}
.kf-legal a{color:inherit}
.kf-ok{margin-top:.8rem;padding:.8rem .9rem;background:var(--light);box-shadow:inset 3px 0 0 var(--mayak);font-size:.9rem}
.kf-fi.is-err input{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}

/* пример сайта */
.kf__pv{position:sticky;top:76px;display:flex;flex-direction:column;background:var(--chugun);box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}
.kf-pv__bar{display:flex;align-items:center;gap:.8rem;padding:.55rem .7rem;color:#C9C7C1}
.kf-pv__url{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}
.kf-pv__url i{width:8px;height:8px;border-radius:50%;background:#4A4E52}
.kf-pv__url b{margin-left:.5rem;padding:.25rem .6rem;background:#26292C;font:500 .72rem/1 var(--f-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kf-dv{display:inline-flex;box-shadow:inset 0 0 0 1px #3A3F43}
.kf-dv button{min-height:32px;padding:.3rem .65rem;border:0;background:none;color:#C9C7C1;font:500 .72rem/1 var(--f-mono);cursor:pointer}
.kf-dv button[aria-pressed=true]{background:var(--mayak);color:var(--ink)}
.kf-pv__x{display:none;width:40px;height:40px;border:0;background:none;color:#fff;font-size:1.6rem;cursor:pointer}
.kf-pv__frame{position:relative;height:calc(100vh - 160px);min-height:520px;max-height:880px;overflow:hidden;background:#fff}
.kf-pv__frame iframe{position:absolute;left:0;top:0;border:0;transform-origin:0 0;background:#fff}
.kf-pv__frame.is-ph{background:#2A2D30}
.kf-pv__note{margin:0;padding:.5rem .7rem;font-size:.74rem;color:var(--ink-3)}
.kf-pvbtn{display:none}

@media (max-width:1000px){
  .kf__g{grid-template-columns:1fr}
  .kf__pv{position:fixed;inset:0;z-index:80;display:none;top:0}
  .kf__pv.is-open{display:flex}
  .kf-pv__x{display:block}
  .kf-pv__frame{flex:1;height:auto;max-height:none;min-height:0}
  .kf-pvbtn{white-space:nowrap;position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;min-height:48px;padding:.7rem 1.2rem;border:0;background:var(--chugun);color:#fff;font:600 .92rem/1 var(--f-text);transform:translateX(-50%);box-shadow:0 12px 30px -10px rgba(0,0,0,.5);cursor:pointer}
  .kf-pvbtn::before{content:'';width:9px;height:9px;margin-right:.6rem;background:var(--mayak)}
}
@media (max-width:520px){.kf-inds,.kf-pals,.kf-send__g{grid-template-columns:1fr 1fr}.kf-card span{grid-template-columns:72px 1fr}.kf-card svg{width:72px;height:48px}.kf-s__h em{display:none}}
@media (max-width:380px){.kf-inds{grid-template-columns:1fr}}
/* подниши, «часто берут», все палитры */
.kf-subs{margin:1.1rem 0 0;padding:0;border:0;min-width:0}
.kf-subs legend{padding:0}
.kf-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.kf-chip{position:relative}
.kf-chip input{position:absolute;opacity:0;pointer-events:none}
.kf-chip span{display:block;padding:.5rem .8rem;background:#fff;box-shadow:inset 0 0 0 1px var(--beton);font-size:.88rem;line-height:1.2;cursor:pointer;transition:box-shadow .2s}
.kf-chip:hover span{box-shadow:inset 0 0 0 1px var(--ink)}
.kf-chip input:checked+span{background:var(--chugun);color:#fff;box-shadow:none}
.kf-chip input:focus-visible+span{outline:2px solid var(--mayak-dark);outline-offset:2px}
.kf-mod em,.kf-pal em{display:inline-block;margin-left:.35rem;padding:.15rem .4rem;background:var(--mayak);font:500 .64rem/1.2 var(--f-mono);font-style:normal;color:var(--ink);vertical-align:.12em;white-space:nowrap}
.kf-pal em{align-self:flex-start;margin:0}
.kf-mods[data-mods=often]{margin-bottom:2px}
.kf-mods[data-mods=often]:empty{display:none}
.kf-more{display:inline-block;margin:.7rem 0 .2rem;padding:.3rem 0}
#kf-palsall{margin-top:.45rem}
.kf [hidden]{display:none!important}
/* своя ниша: если нет в списке — пишут сами, у «Другой отрасли» — главный вопрос */
.kf-own{display:grid;gap:.35rem;margin:1.1rem 0 0;padding-top:1rem;border-top:1px dashed var(--beton)}
.kf-own input{width:100%;min-height:48px;padding:.7rem .85rem;border:var(--rule);background:#fff;font:400 1rem/1.2 var(--f-text);color:var(--ink)}
.kf-own input:focus{outline:2px solid var(--mayak-dark);outline-offset:0;border-color:transparent}
.kf-own__h{margin:0;font-size:.85rem;color:var(--ink-2)}

