/* =========================================================
   МосКул — подвал, форма, полоса списка, появление при прокрутке
   ========================================================= */

/* ---------------- подвал ---------------- */
.mk-ftr{background:var(--mk-bg-2);border-top:1px solid var(--mk-line);padding-top:max(48px,calc(90*var(--u)))}
.mk-ftr__top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px var(--mk-gap)}
.mk-ftr__brand{grid-column:span 3}
.mk-ftr__col--ct{grid-column:span 3}
.mk-ftr__brand p{margin-top:16px;max-width:26ch;color:var(--mk-muted)}
.mk-ftr__col{grid-column:span 2}
.mk-ftr__col h3{margin-bottom:18px;font:600 max(12px,calc(14*var(--u)))/1 var(--mk-f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--mk-muted)}
.mk-ftr__col a,.mk-ftr__col span{display:block;width:fit-content;padding:4px 0;color:var(--mk-ink-2);transition:color .3s}
.mk-ftr__col a:hover{color:var(--mk-blue)}
.mk-ftr__bot{margin-top:max(40px,calc(80*var(--u)));padding-block:22px;border-top:1px solid var(--mk-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;font-size:14px;color:var(--mk-muted)}
.mk-ftr__bot a:hover{color:var(--mk-blue)}
@media (max-width:900px){.mk-ftr__brand{grid-column:1/-1}.mk-ftr__col{grid-column:span 6}}

/* ---------------- форма: строки с тонкой линией, без CRM-коробок ---------------- */
.mk-form{position:relative;display:grid;gap:max(20px,calc(28*var(--u)))}
.mk-form .f2{display:grid;grid-template-columns:1fr 1fr;gap:max(20px,calc(28*var(--u))) var(--mk-gap)}
.fld{display:grid;gap:4px;margin:0}
.fld label{display:flex;justify-content:space-between;gap:12px;font-size:max(12px,calc(14*var(--u)));letter-spacing:.06em;text-transform:uppercase;color:var(--mk-muted)}
.fld input,.fld textarea{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid var(--mk-line-2);border-radius:0;background:transparent;font:400 max(16px,calc(20*var(--u)))/1.4 var(--mk-f-body);color:var(--mk-ink);transition:border-color .3s}
.fld textarea{min-height:max(96px,calc(120*var(--u)));resize:vertical}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--mk-blue)}
.fld textarea::placeholder,.fld input::placeholder{color:var(--mk-muted-2)}
.fld.bad input,.fld.bad textarea{border-color:var(--mk-bad)}
.fld__clear{font-size:13px;letter-spacing:0;text-transform:none;color:var(--mk-link)}
.fld__clear[hidden]{display:none}
.err{display:none;font-size:13px;color:var(--mk-bad)}
.err.on{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.mk-attach{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.mk-attach__btn{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 20px;border:1px dashed var(--mk-line-2);border-radius:6px;color:var(--mk-ink-2);cursor:pointer;transition:border-color .3s,color .3s}
.mk-attach__btn:hover,.mk-attach input:focus-visible+.mk-attach__btn{border-color:var(--mk-blue);color:var(--mk-blue)}
.mk-attach__btn .mk-i{width:20px;height:20px}
.mk-attach input{position:absolute;opacity:0;width:1px;height:1px}
.mk-attach__pv{display:flex;align-items:center;gap:12px}
.mk-attach__pv[hidden]{display:none}
.mk-attach__pv img{width:52px;height:52px;object-fit:cover;border-radius:4px}
.mk-attach__x{font-size:14px;color:var(--mk-link)}
.mk-attach__note{font-size:13px;color:var(--mk-muted)}

.chk{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;cursor:pointer;font-size:14px;line-height:1.45;color:var(--mk-muted)}
.chk input{position:absolute;opacity:0;width:0;height:0}
.chk__b{width:20px;height:20px;margin-top:1px;display:grid;place-items:center;border:1px solid var(--mk-line-2);border-radius:3px;background:var(--mk-paper);color:transparent;transition:background-color .3s,border-color .3s,color .3s}
.chk__b svg{width:14px;height:14px}
.chk input:checked+.chk__b{background:var(--mk-blue);border-color:var(--mk-blue);color:#fff}
.chk input:focus-visible+.chk__b{outline:2px solid var(--mk-sky);outline-offset:2px}
.chk.bad .chk__b{border-color:var(--mk-bad)}
.chk a{color:var(--mk-link);text-decoration:underline;text-underline-offset:3px}
.btn__s{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:mkSpin .7s linear infinite}
.busy .btn__s{display:block}
.busy .mk-i{display:none}
@keyframes mkSpin{to{rotate:360deg}}
.fstatus{display:none;padding:14px 16px;border-left:2px solid var(--mk-blue);background:rgba(35,100,149,.07);color:var(--mk-ink);font-size:15px}
.fstatus.on{display:block;animation:mkIn .5s var(--mk-ease)}
.fstatus.bad{border-color:var(--mk-bad);background:rgba(176,58,46,.07)}
/* ссылки в сообщении об ошибке отправки: телефон и почта */
.fstatus a{color:var(--mk-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap;transition:color .3s}
.fstatus a:hover{color:var(--mk-blue)}
/* на время отправки кнопка выключена, но выглядит как обычно: крутится спиннер */
.mk-btn:disabled{cursor:progress}
.mk-btn:disabled .mk-i{translate:none}

/* ---------------- полоса списка ---------------- */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;gap:8px;padding:10px var(--mk-pad) calc(10px + env(safe-area-inset-bottom));background:rgba(244,245,245,.97);border-top:1px solid var(--mk-line);transition:translate .5s var(--mk-ease)}
.mcta.off{translate:0 115%}
.mcta__sum{display:none}
.mcta__tel{flex:1;display:grid;place-items:center;height:48px;border:1px solid var(--mk-line-2);border-radius:999px;color:var(--mk-ink);font-weight:500}
.mcta__btn{flex:1.6;display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border-radius:999px;background:var(--mk-blue);color:#fff;font-weight:500}
.cnt{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#fff;color:var(--mk-blue);font:700 12px/22px var(--mk-f-body);font-style:normal;text-align:center}
.cnt[hidden]{display:none}
@media (max-width:1023px){body{padding-bottom:70px}}
@media (min-width:1024px){
  .mcta{display:none;left:auto;right:var(--mk-pad);bottom:24px;align-items:center;gap:16px;padding:8px 8px 8px 22px;border:1px solid var(--mk-line);border-radius:999px;box-shadow:0 20px 40px -24px rgba(14,26,32,.35)}
  .mcta.has{display:flex}
  .mcta__sum{display:block;font-size:15px;color:var(--mk-ink-2)}
  .mcta__sum[hidden]{display:none}
  .mcta__tel{display:none}
  .mcta__btn{flex:none;padding:0 22px}
  /* плашка висит справа внизу: без отступа закрывала «Политику конфиденциальности» в конце страницы */
  body:has(.mcta.has) .mk-ftr{padding-bottom:96px}
}

/* ---------------- появление при прокрутке ---------------- */
.mk-lines .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.mk-lines .ln>span{display:block}
@media (prefers-reduced-motion:no-preference){
  /* быстро и с характером: подъём, лёгкий блюр и масштаб; задержки из разметки вдвое короче */
  .js [data-rv]{opacity:0;translate:0 22px;scale:.985;filter:blur(6px);transition:opacity .5s var(--mk-ease),translate .6s var(--mk-ease),scale .6s var(--mk-ease),filter .45s var(--mk-ease);transition-delay:calc(var(--d,0s) * .5)}
  .js [data-rv].is-in{opacity:1;translate:0 0;scale:1;filter:blur(0)}
  /* шторка режет содержимое, а не сам блок: полностью срезанный блок
     наблюдатель пересечений считает невидимым, и он не проявлялся никогда */
  .js [data-rv="mask"]{opacity:1;translate:none;scale:none;filter:none}
  .js [data-rv="mask"]>*{clip-path:inset(0 0 100% 0);transition:clip-path .75s cubic-bezier(.77,0,.18,1);transition-delay:calc(var(--d,0s) * .5)}
  .js [data-rv="mask"].is-in>*{clip-path:inset(0 0 0 0)}
  /* под шторкой кадр чуть отъезжает назад: ощущение глубины */
  .js [data-rv="mask"] img{scale:1.14;transition:scale 1.1s var(--mk-ease)}
  .js [data-rv="mask"].is-in img{scale:1.03}   /* запас под параллакс, как в mk-home-c.css */
  /* строки заголовков выезжают снизу с лёгким наклоном и быстрой лесенкой */
  .js .mk-lines .ln>span{translate:0 105%;rotate:4deg;transform-origin:0 100%;transition:translate .7s var(--mk-ease),rotate .7s var(--mk-ease);transition-delay:calc(var(--i,0) * 55ms + var(--d,0s) * .5)}
  .js .mk-lines.is-in .ln>span{translate:0 0;rotate:0deg}
}

/* ---------- полировка перед запуском ---------- */
/* подвал на телефоне: контакты во всю ширину, почта и адрес не рвутся посередине */
@media (max-width:560px){
  .mk-ftr__col--ct{grid-column:1 / -1}
}
/* ссылки подвала: подчёркивание прорисовывается, как у ссылок со стрелкой */
.mk-ftr__col a{background:linear-gradient(currentColor,currentColor) 0 calc(100% - 3px)/0 1px no-repeat;transition:color .3s,background-size .45s var(--mk-ease)}
.mk-ftr__col a:hover{background-size:100% 1px}

/* ошибка под полем проявляется, а не выскакивает */
@media (prefers-reduced-motion:no-preference){
  .err.on{animation:mkIn .3s var(--mk-ease)}
}

/* 10.11: на ПК всё меню уже в шапке, второй вход через «бургер» не нужен */
@media (min-width:1024px){html .mk-hdr .mk-burger{display:none}}
