/* Broux landing v2 — общие элементы поверх дизайн-CSS (base/inner/...):
   модалка «Связаться», cookie-баннер, служебные состояния форм.
   Подключается на всех страницах после base.css. */

/* ---------- формы: ошибки отправки и согласие ---------- */
.fm .er-sub{grid-column:1/-1;font-size:14px;color:var(--red)}
.fm .er-sub[hidden]{display:none}
.fm .sb button:disabled,.nt button:disabled,.sub3 button:disabled{opacity:.6;cursor:not-allowed}
.sub3 .cons{width:100%;margin-top:12px;font-size:13px;color:var(--on-n2)}
.sub3 .cons a,.nt small a{color:inherit}
.sub3 .er-sub,.nt .er-sub{margin-top:10px;font-size:14px;color:var(--red)}
.sub3 .er-sub{color:oklch(0.78 0.11 30)}
.sub3.sent .cons,.sub3.sent .er-sub,.nt.sent .er-sub{display:none}
.er-sub[hidden]{display:none}
.sub3 input.bad,.nt input.bad{border-color:var(--red)!important}

/* ---------- модалка «Связаться с нами» (contact-modal.js) ---------- */
.bxm{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}
.bxm.on{display:flex}
.bxm-bd{position:absolute;inset:0;background:oklch(0.2 0.034 196 / .55);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s}
.bxm-c{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--ui-ln);border-radius:12px;box-shadow:var(--sh);opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s}
.bxm.vis .bxm-bd{opacity:1}
.bxm.vis .bxm-c{opacity:1;transform:none}
.bxm-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:8px;background:none;color:var(--ink3);cursor:pointer;display:flex;align-items:center;justify-content:center}
.bxm-x:hover{background:var(--ui-sf);color:var(--ink)}
.bxm-x .ms{font-size:22px}
.bxm-h{padding:32px 32px 20px;border-bottom:1px solid var(--ui-ln);background:var(--ui-bg)}
.bxm-h h2{font-size:28px;letter-spacing:-.025em;line-height:1.1;padding-right:32px}
.bxm-h p{margin-top:8px;font-size:15px;color:var(--ink2)}
.bxm form{padding:24px 32px 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bxm .f{display:flex;flex-direction:column;gap:6px}
.bxm .f.w{grid-column:1/-1}
.bxm label{font-size:14px;font-weight:600}
.bxm label em{font-style:normal;color:var(--red)}
.bxm input:not([type=checkbox]),.bxm textarea{font:400 16px var(--sans);color:var(--ink);background:#fff;border:1px solid var(--ui-ln);border-radius:8px;padding:0 14px;height:48px;width:100%}
.bxm textarea{height:96px;padding:12px 14px;resize:vertical}
.bxm :is(input,textarea):focus{outline:2px solid var(--ac);outline-offset:-1px;border-color:transparent}
.bxm .bad{border-color:var(--red)!important;background:var(--red-bg)!important}
.bxm .er{grid-column:1/-1;font-size:13px;color:var(--red)}
.bxm .er[hidden]{display:none}
.bxm .hint{grid-column:1/-1;font-size:13px;color:var(--ink3)}
.bxm .ck{grid-column:1/-1;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;font-weight:400;color:var(--ink2);cursor:pointer}
.bxm .ck input{width:18px;height:18px;margin-top:2px;accent-color:var(--ac)}
.bxm .ck a{color:var(--ac-d)}
.bxm .sb{grid-column:1/-1}
.bxm .sb .btn{width:100%;justify-content:center;cursor:pointer}
.bxm .sb .btn:disabled{opacity:.6;cursor:not-allowed}
.bxm-ok{padding:56px 32px 40px;text-align:center}
.bxm-ok .ic{width:64px;height:64px;margin:0 auto 20px;border-radius:12px;background:var(--grn-bg);color:oklch(0.38 0.07 175);display:flex;align-items:center;justify-content:center}
.bxm-ok .ic .ms{font-size:32px}
.bxm-ok h2{font-size:28px;letter-spacing:-.025em}
.bxm-ok p{margin:10px auto 28px;max-width:22em;color:var(--ink2);font-size:15px}
.bxm-ok .btn{cursor:pointer;background:#fff;border-color:var(--ui-ln);color:var(--ink)}
.bxm-ok .btn:hover{border-color:var(--ink3)}
.bxm [hidden]{display:none!important}
@media (max-width:760px){
.bxm{padding:0;align-items:flex-end}
.bxm-c{max-width:none;max-height:92vh;border-radius:16px 16px 0 0}
.bxm-h{padding:28px 20px 16px}
.bxm form{padding:20px;grid-template-columns:minmax(0,1fr)}
}

/* ---------- cookie-баннер (cookie-banner.js) ---------- */
.bxc{position:fixed;left:16px;bottom:16px;z-index:58;width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid var(--ui-ln);border-radius:12px;box-shadow:var(--sh);padding:20px;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s}
.bxc.vis{opacity:1;transform:none}
.bxc p{font-size:14px;line-height:1.5;color:var(--ink2)}
.bxc a{color:var(--ac-d)}
.bxc .btn{margin-top:16px;width:100%;justify-content:center;height:44px;font-size:15px;cursor:pointer}

/* мобильное меню: кнопка «Начать бесплатно» — по центру (.mnav>a{display:block} перебивал .btn) */
.mnav>a.btn{display:flex;align-items:center;justify-content:center;font-size:16px;border-bottom:0;padding:0 26px}
