/* Виджет заявок корпоративного сайта: плавающая кнопка + панель (по образцу помощника Ambulette),
   встроенный опросник тарифов и отправка контактных форм. Цвета — бренд сайта: акцент #f9dd07, тёмно-синий #1b384f. */
.ol-scope{--ol-accent:#f9dd07;--ol-navy:#1b384f;--ol-text:#333;--ol-muted:#6b7a90;--ol-bg:#fff;--ol-soft:#f6f7fb;--ol-line:#e6e9f0;--ol-err:#d9534f;font-family:"Mulish","Rubik",system-ui,-apple-system,sans-serif;color:var(--ol-text);line-height:1.35;-webkit-font-smoothing:antialiased}
.ol-scope *,.ol-scope *::before,.ol-scope *::after{box-sizing:border-box}
.ol-scope svg{display:block;flex:none}
.ol-root{position:fixed;right:20px;bottom:20px;z-index:2147482000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}

/* кнопка-пилюля */
.ol-scope .ol-pill{display:flex;align-items:center;gap:10px;margin:0;padding:8px 20px 8px 8px;border:0;border-radius:999px;background:var(--ol-navy);color:#fff;box-shadow:0 10px 30px rgba(27,56,79,.35);cursor:pointer;font:inherit;text-align:left;transition:transform .15s,box-shadow .15s;line-height:1.15}
.ol-scope .ol-pill:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(27,56,79,.4);color:#fff}
.ol-avatar{position:relative;width:44px;height:44px;border-radius:50%;background:var(--ol-accent);display:flex;align-items:center;justify-content:center;overflow:visible;flex:none}
.ol-avatar img{width:26px;height:26px;display:block}
.ol-dot{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:#2ecc71;border:2px solid var(--ol-navy)}
.ol-pill b{display:block;font-size:16px;font-weight:700}
.ol-pill small{display:block;font-size:12px;opacity:.8;margin-top:2px}

/* панель */
.ol-panel{width:384px;max-width:calc(100vw - 40px);height:min(660px,calc(100vh - 110px));background:var(--ol-bg);border-radius:20px;box-shadow:0 20px 60px rgba(27,56,79,.3);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:ol-in .18s ease-out}
.ol-panel[hidden]{display:none}
@keyframes ol-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.ol-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:var(--ol-navy);color:#fff;flex:none}
.ol-head .ol-avatar{width:40px;height:40px}
.ol-head-t{flex:1;min-width:0}
.ol-head-t b{display:block;font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-head-t small{display:block;font-size:12px;opacity:.8;margin-top:1px}
.ol-scope .ol-call{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;line-height:1}
.ol-scope .ol-call:hover{background:rgba(255,255,255,.22);color:#fff}
.ol-scope .ol-x{width:36px;height:36px;margin:0;padding:0;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ol-scope .ol-x:hover{background:rgba(255,255,255,.22)}
.ol-body{flex:1;overflow:auto;padding:16px;scrollbar-width:thin;scrollbar-color:#c9d0dc transparent}
.ol-body::-webkit-scrollbar{width:6px}
.ol-body::-webkit-scrollbar-thumb{background:#c9d0dc;border-radius:3px}
.ol-foot{flex:none;padding:10px 16px;font-size:12px;color:var(--ol-muted);text-align:center;border-top:1px solid var(--ol-line);background:#fff;display:flex;align-items:center;justify-content:center;gap:6px}

/* главный экран */
.ol-greet{font-size:20px;font-weight:700;color:var(--ol-navy);margin:4px 0 14px;line-height:1.25}
.ol-scope .ol-card{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 10px;padding:14px 14px 14px 16px;border:1px solid var(--ol-line);border-radius:16px;background:var(--ol-soft);color:var(--ol-text);text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,filter .15s}
.ol-scope .ol-card:hover{border-color:var(--ol-navy)}
.ol-scope .ol-card.ol-primary{background:var(--ol-accent);border-color:var(--ol-accent)}
.ol-scope .ol-card.ol-primary:hover{filter:brightness(.96)}
.ol-ico{width:42px;height:42px;border-radius:12px;background:rgba(27,56,79,.08);display:flex;align-items:center;justify-content:center;flex:none;color:var(--ol-navy)}
.ol-primary .ol-ico{background:rgba(27,56,79,.12)}
.ol-card-t{flex:1;min-width:0}
.ol-card-t b{display:block;font-size:16px;color:var(--ol-navy);line-height:1.2}
.ol-card-t small{display:block;font-size:13px;color:var(--ol-muted);margin-top:3px}
.ol-primary .ol-card-t small{color:#4a5566}
.ol-chev{color:var(--ol-muted)}
.ol-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.ol-scope .ol-tile{display:block;margin:0;padding:12px 14px;border:1px solid var(--ol-line);border-radius:16px;background:#fff;color:var(--ol-text);text-decoration:none;font:inherit;text-align:left;cursor:pointer;min-width:0}
.ol-scope .ol-tile:hover{border-color:var(--ol-navy);color:var(--ol-text)}
.ol-tile .ol-ico{width:36px;height:36px;border-radius:10px}
.ol-tile b{display:block;font-size:14px;color:var(--ol-navy);margin-top:10px;line-height:1.2}
.ol-tile small{display:block;font-size:12px;color:var(--ol-muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ol-ask{display:flex;gap:8px;align-items:center;margin-top:4px}
.ol-scope .ol-ask input{flex:1;height:46px;margin:0;padding:0 14px;border:1px solid var(--ol-line);border-radius:14px;font:inherit;font-size:14px;background:#fff;color:var(--ol-text);box-shadow:none}
.ol-scope .ol-ask button{width:46px;height:46px;margin:0;padding:0;border:0;border-radius:14px;background:var(--ol-navy);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* экраны заявки и вопроса */
.ol-top{display:flex;align-items:center;gap:8px;margin:-4px 0 10px}
.ol-scope .ol-back{margin:0;padding:6px 8px 6px 0;border:0;background:transparent;color:var(--ol-navy);font:inherit;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:2px}
.ol-steps{font-size:12px;color:var(--ol-muted);margin-left:auto}
.ol-q{font-size:18px;font-weight:700;color:var(--ol-navy);margin:0 0 12px;line-height:1.3}
.ol-opts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.ol-scope .ol-opt{margin:0;padding:10px 14px;border:1px solid var(--ol-line);border-radius:999px;background:#fff;color:var(--ol-text);font:inherit;font-size:14px;cursor:pointer;line-height:1.2}
.ol-scope .ol-opt:hover{border-color:var(--ol-navy)}
.ol-scope .ol-opt.on{background:var(--ol-navy);border-color:var(--ol-navy);color:#fff}
.ol-field{margin:0 0 10px}
.ol-field label{display:block;font-size:12px;color:var(--ol-muted);margin:0 0 4px 2px;line-height:1.2}
.ol-scope .ol-field input,.ol-scope .ol-field textarea{display:block;width:100%;height:auto;margin:0;padding:11px 14px;border:1px solid var(--ol-line);border-radius:14px;font:inherit;font-size:15px;line-height:1.3;background:#fff;color:var(--ol-text);box-shadow:none}
.ol-scope .ol-field textarea{min-height:96px;resize:vertical}
.ol-scope .ol-field input:focus,.ol-scope .ol-field textarea:focus,.ol-scope .ol-ask input:focus{outline:none;border-color:var(--ol-navy);box-shadow:0 0 0 3px rgba(249,221,7,.4)}
.ol-scope .ol-field.err input,.ol-scope .ol-field.err textarea{border-color:var(--ol-err)}
.ol-err{color:var(--ol-err);font-size:13px;margin:-4px 0 10px 2px}
.ol-scope .ol-btn{display:block;width:100%;margin:6px 0 0;padding:14px 18px;border:0;border-radius:14px;background:var(--ol-accent);color:var(--ol-navy);font:inherit;font-size:16px;font-weight:700;line-height:1.2;cursor:pointer;text-align:center}
.ol-scope .ol-btn:hover{filter:brightness(.96)}
.ol-scope .ol-btn[disabled]{opacity:.6;cursor:default;filter:none}
.ol-scope .ol-btn.ol-ghost{background:var(--ol-soft);color:var(--ol-navy);font-weight:600;margin-top:10px}
.ol-done{text-align:center;padding:24px 8px}
.ol-done .ol-ok{width:64px;height:64px;border-radius:50%;background:var(--ol-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--ol-navy)}
.ol-done b{display:block;font-size:20px;color:var(--ol-navy);margin-bottom:6px}
.ol-done p{color:var(--ol-muted);font-size:14px;margin:0 0 16px}
.ol-note{font-size:12px;color:var(--ol-muted);margin:8px 2px 0}

/* встроенный опросник (страницы тарифов) */
.oggo-leads-inline{max-width:640px;margin:0 auto}
.oggo-leads-inline .ol-inline{background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(27,56,79,.12);padding:28px}
.oggo-leads-inline .ol-q{font-size:22px}
.oggo-leads-inline .ol-done{padding:12px 0}
@media (max-width:600px){.oggo-leads-inline .ol-inline{padding:20px 16px;border-radius:16px}}

/* контактная форма FluentForm: состояния отправки */
.oggo-leads-form .ff-message-success{display:block;margin-top:12px;padding:14px 16px;border-radius:14px;background:#eefbf1;color:#1d7a3c;font-size:15px;line-height:1.35}
.oggo-leads-form .ol-form-err{margin-top:10px;color:#d9534f;font-size:14px}
.oggo-leads-form.ol-busy .ff-btn-submit{opacity:.6;pointer-events:none}

/* телефон */
@media (max-width:700px){.ol-root{right:12px;bottom:calc(74px + env(safe-area-inset-bottom,0px))}}
@media (max-width:600px){
  .ol-root.ol-open{top:0;left:0;right:0;bottom:0;align-items:stretch;gap:0}
  .ol-root.ol-open .ol-pill{display:none}
  .ol-root.ol-open .ol-panel{width:100%;max-width:none;height:100%;max-height:none;border-radius:0;animation:none}
  .ol-root.ol-open .ol-head{padding-top:calc(12px + env(safe-area-inset-top,0px))}
  .ol-root.ol-open .ol-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  body.ol-open .mobile-menu-builder-customizer--container{display:none !important}
  .ol-pill b{font-size:15px}
}
