.elementor-37218 .elementor-element.elementor-element-fee27d2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-37218 .elementor-element.elementor-element-f09d9f7 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:31px;font-weight:600;color:#003087;}.elementor-37218 .elementor-element.elementor-element-a3799f8{--spacer-size:20px;}.elementor-37218 .elementor-element.elementor-element-bc77a8a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}body.elementor-page-37218:not(.elementor-motion-effects-element-type-background), body.elementor-page-37218 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F4F9;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for html, class: .elementor-element-e8d35e2 */:root {
    --brand-primary:   #0057B8;   /* main brand color             */
    --brand-secondary: #0099D6;   /* accent / button hover        */
    --brand-light:     #E8F4FF;   /* bot bubble background        */
    --widget-width:    380px;
    --widget-height:   560px;
    --font:            'Segoe UI', system-ui, sans-serif;
  }



  /* ── Launcher button ── */
  #chat-launcher {
    position: fixed;
    bottom: 9.2%; right: 53px;
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--brand-primary);
    color: #fff;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
    display: flex; align-items: center; justify-content: center;
    transition: transform .2s, background .2s;
    z-index: 9999;
  }
  #chat-launcher:hover { background: var(--brand-secondary); transform: scale(1.08); }
  #chat-launcher svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

  /* ── Widget container ── */
  #chat-widget {
    position: fixed;
    bottom: 80px; right: 24px;
    width: var(--widget-width);
    height: var(--widget-height);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 40px rgba(0,0,0,.18);
    display: flex; flex-direction: column;
    overflow: hidden;
    z-index: 99998!important;
    opacity: 0; pointer-events: none;
    transform: translateY(12px) scale(.97);
    transition: opacity .25s, transform .25s;
  }
  #chat-widget.open {
    opacity: 1; pointer-events: all;
    transform: translateY(0) scale(1);
  }

  /* ── Header ── */
  .chat-header {
    background: var(--brand-primary);
    color: #fff;
    padding: 14px 18px;
    display: flex; align-items: center; gap: 12px;
    flex-shrink: 0;
  }
  .chat-avatar {
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--brand-secondary);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; flex-shrink: 0;
  }
  .chat-header-info { flex: 1; }
  .chat-header-name  { font-weight: 700; font-size: 15px; }
  .chat-header-sub   { font-size: 12px; opacity: .8; margin-top: 1px; }
  .chat-close {
    background: none; border: none; color: #fff; cursor: pointer;
    opacity: .7; font-size: 20px; line-height: 1;
    padding: 4px; transition: opacity .15s;
  }
  .chat-close:hover { opacity: 1; }

  /* ── Messages area ── */
  .chat-messages {
    flex: 1; overflow-y: auto; padding: 16px;
    display: flex; flex-direction: column; gap: 10px;
    scroll-behavior: smooth;
  }
  .chat-messages::-webkit-scrollbar { width: 4px; }
  .chat-messages::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

  /* ── Bubbles ── */
  .msg {
    max-width: 80%; padding: 10px 14px; border-radius: 16px;
    font-size: 14px; line-height: 1.5; word-break: break-word;
    animation: fadeUp .2s ease;
  }
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0);   }
  }
  .msg.bot  { background: var(--brand-light); color: #1a1a1a; align-self: flex-start; border-bottom-left-radius: 4px; white-space: pre-wrap; }
  .msg.user { background: var(--brand-primary); color: #fff;   align-self: flex-end;   border-bottom-right-radius: 4px; }

  /* ── Typing indicator ── */
  .msg.typing { padding: 12px 16px; }
  .dots { display: flex; gap: 4px; }
  .dots span {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--brand-primary); opacity: .4;
    animation: blink 1.2s infinite;
  }
  .dots span:nth-child(2) { animation-delay: .2s; }
  .dots span:nth-child(3) { animation-delay: .4s; }
  @keyframes blink {
    0%, 80%, 100% { opacity: .4; transform: scale(1); }
    40%           { opacity: 1;  transform: scale(1.2); }
  }

  /* ── Branch buttons ── */
  .branch-buttons {
    display: flex; flex-direction: column; gap: 8px;
    padding: 0 16px 12px;
  }
  .branch-btn {
    background: #fff;
    border: 2px solid var(--brand-primary);
    color: var(--brand-primary);
    border-radius: 12px;
    padding: 10px 16px;
    cursor: pointer; text-align: left;
    transition: background .18s, color .18s;
  }
  .branch-btn:hover { background: var(--brand-primary); color: #fff; }
  .branch-btn:hover .btn-kz { opacity: .75; }
  .btn-kz {
    display: block; font-size: 11px; opacity: .55;
    margin-bottom: 2px; font-weight: 400;
  }
  .btn-ru {
    display: block; font-size: 13px; font-weight: 600;
  }

  /* ── Input area ── */
  .chat-input-area {
    display: flex; gap: 8px; padding: 12px 14px;
    border-top: 1px solid #eee; flex-shrink: 0;
    background: #fff;
  }
  .chat-input {
    flex: 1; border: 1.5px solid #ddd; border-radius: 22px;
    padding: 9px 16px; font-size: 14px; outline: none;
    transition: border-color .2s; resize: none; height: 40px;
    font-family: var(--font);
  }
  .chat-input:focus { border-color: var(--brand-primary); }
  .chat-send {
    width: 40px; height: 40px; border-radius: 50%;
    background: var(--brand-primary); color: #fff;
    border: none; cursor: pointer; display: flex;
    align-items: center; justify-content: center;
    transition: background .18s, transform .15s; flex-shrink: 0;
  }
  .chat-send:hover  { background: var(--brand-secondary); }
  .chat-send:active { transform: scale(.93); }
  .chat-send svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .chat-send:disabled { background: #ccc; cursor: default; }

  /* ── Mobile ── */
  @media (max-width: 440px) {
    #chat-widget { width: 100vw; height: 100dvh; bottom: 0; right: 0; border-radius: 0; }
    #chat-launcher {
    position: fixed;
    bottom: 2%;
    right: 0%;
    }
  }/* End custom CSS */