.br-chatbot-widget{--br-primary:#000;--br-accent:#fbd20b;position:fixed;right:20px;bottom:20px;z-index:999999;font-family:Arial,sans-serif}.br-chatbot-widget.br-chatbot-left{left:20px;right:auto}.br-chatbot-button{width:58px;height:58px;border:0;border-radius:50%;background:var(--br-primary);color:#fff;font-size:25px;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.br-chatbot-window{position:absolute;right:0;bottom:70px;width:370px;height:560px;background:#fff;border-radius:16px;box-shadow:0 15px 45px rgba(0,0,0,.25);overflow:hidden;display:none;flex-direction:column}.br-chatbot-left .br-chatbot-window{left:0;right:auto}.br-chatbot-header{height:68px;background:var(--br-primary);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.br-chatbot-brand{display:flex;align-items:center;gap:10px}.br-chatbot-avatar-wrap{width:42px;height:42px;border-radius:50%;background:#fff;color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700}.br-chatbot-avatar{display:block;width:100%;height:100%;object-fit:cover}.br-chatbot-online{font-size:12px;opacity:.85;margin-top:3px}.br-chatbot-online span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39d353;margin-right:5px}.br-chatbot-close{background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer}.br-chatbot-messages{flex:1;overflow:auto;padding:14px;background:#f5f6f8}.br-chatbot-message{max-width:82%;padding:11px 13px;margin:8px 0;border-radius:13px;line-height:1.45;font-size:14px;word-wrap:break-word}.br-chatbot-message.bot{background:#111;color:#fff;border-bottom-left-radius:3px}.br-chatbot-message.user{background:var(--br-accent);color:#000;margin-left:auto;border-bottom-right-radius:3px}.br-chatbot-message.error{background:#fff0f0;color:#a40000}.br-chatbot-typing{padding:5px 14px;background:#f5f6f8}.br-chatbot-typing span{display:inline-block;width:7px;height:7px;background:#777;border-radius:50%;margin-right:4px;animation:brbounce 1s infinite}.br-chatbot-typing span:nth-child(2){animation-delay:.15s}.br-chatbot-typing span:nth-child(3){animation-delay:.3s}@keyframes brbounce{50%{transform:translateY(-4px);opacity:.5}}.br-chatbot-actions{padding:7px 10px;background:#fff}.br-chatbot-quote-button{border:1px solid #ddd;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}.br-chatbot-input-row{display:flex;gap:8px;padding:10px;border-top:1px solid #ddd;background:#fff}.br-chatbot-input{flex:1;min-width:0;border:1px solid #aaa;border-radius:10px;padding:11px;font-size:14px}.br-chatbot-send{border:0;border-radius:10px;background:var(--br-primary);color:#fff;padding:0 16px;font-weight:600;cursor:pointer}.br-chatbot-send:disabled,.br-quote-submit:disabled{opacity:.5;cursor:not-allowed}.br-chatbot-quote-area{flex:1;padding:15px;background:#f5f6f8;overflow:auto}.br-chatbot-quote-form{display:flex;flex-direction:column;gap:9px}.br-chatbot-quote-form h3{margin:0 0 5px}.br-chatbot-quote-form input,.br-chatbot-quote-form select,.br-chatbot-quote-form textarea{box-sizing:border-box;width:100%;border:1px solid #ccc;border-radius:8px;padding:10px;background:#fff}.br-quote-actions{display:flex;gap:8px}.br-quote-cancel,.br-quote-submit{flex:1;padding:10px;border-radius:8px;cursor:pointer}.br-quote-cancel{border:1px solid #ccc;background:#fff}.br-quote-submit{border:0;background:var(--br-primary);color:#fff}.br-quote-success{padding:16px;border-radius:10px;background:#fff}.br-quote-success.ok{border:1px solid #b7e4c7;background:#effaf3;color:#14532d}@media(max-width:600px){.br-chatbot-widget{right:10px;bottom:10px}.br-chatbot-widget.br-chatbot-left{left:10px;right:auto}.br-chatbot-window,.br-chatbot-left .br-chatbot-window{position:fixed;left:10px;right:10px;bottom:78px;width:auto;height:min(72vh,560px);border-radius:14px}.br-chatbot-button{width:54px;height:54px}}

.br-quote-success-message{margin-bottom:12px;line-height:1.5}.br-quote-continue{border:0;background:var(--br-primary);color:#fff;padding:10px 14px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;width:100%;font-weight:600}.br-quote-continue:hover{opacity:.9}

/* v2.4.3 interaction hardening: prevent theme overlays from blocking chatbot controls. */
.br-chatbot-window,.br-chatbot-window *{box-sizing:border-box}.br-chatbot-input-row,.br-chatbot-input,.br-chatbot-send,.br-chatbot-actions,.br-chatbot-quote-button,.br-chatbot-quote-area,.br-chatbot-quote-form,.br-chatbot-quote-form input,.br-chatbot-quote-form select,.br-chatbot-quote-form textarea,.br-quote-actions,.br-quote-cancel,.br-quote-submit{position:relative;z-index:2;pointer-events:auto}.br-chatbot-input{pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;cursor:text!important;opacity:1!important}.br-chatbot-send,.br-chatbot-quote-button,.br-quote-cancel,.br-quote-submit,.br-quote-continue{pointer-events:auto!important;cursor:pointer}.br-chatbot-quote-area{display:flex;flex-direction:column}.br-chatbot-quote-form{width:100%}.br-chatbot-actions:empty{display:none}.br-chatbot-actions{min-height:44px}.br-chatbot-input-row{flex:0 0 auto}.br-chatbot-messages{min-height:0}

/* v2.4.4 keyboard/input isolation. Keep the form above theme overlays and
 * explicitly restore native text-input behavior. */
#br-chatbot-widget .br-chatbot-window { isolation:isolate; }
#br-chatbot-widget .br-chatbot-input-row { position:relative; z-index:2147483000; }
#br-chatbot-widget .br-chatbot-input,
#br-chatbot-widget .br-chatbot-quote-form input,
#br-chatbot-widget .br-chatbot-quote-form textarea,
#br-chatbot-widget .br-chatbot-quote-form select { 
  -webkit-appearance:auto;
  appearance:auto;
  user-select:text!important;
  -webkit-user-select:text!important;
  pointer-events:auto!important;
  caret-color:#111;
}
#br-chatbot-widget .br-chatbot-input:focus,
#br-chatbot-widget .br-chatbot-quote-form input:focus,
#br-chatbot-widget .br-chatbot-quote-form textarea:focus,
#br-chatbot-widget .br-chatbot-quote-form select:focus { outline:2px solid var(--br-accent); outline-offset:0; }

/* v2.4.7.5 accessibility labels */
.br-chatbot-quote-form label{display:block;margin:8px 0 4px;font-size:13px;font-weight:600;line-height:1.3;color:#111}.br-chatbot-quote-form label span{color:#b32d2e}.br-chatbot-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* v2.4.7.7: hard-isolate the chat composer from theme/page-builder input rules. */
#br-chatbot-widget {
  isolation: isolate;
  contain: layout style;
}
#br-chatbot-widget .br-chatbot-input-row {
  position: relative !important;
  z-index: 2147483647 !important;
  pointer-events: auto !important;
  touch-action: manipulation;
}
#br-chatbot-widget .br-chatbot-input {
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  max-height: 120px !important;
  resize: none;
  margin: 0 !important;
  padding: 11px !important;
  border: 1px solid #aaa !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  font: inherit !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;
  caret-color: #111 !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
}
#br-chatbot-widget .br-chatbot-input[disabled],
#br-chatbot-widget .br-chatbot-input[readonly],
#br-chatbot-widget .br-chatbot-input[aria-disabled="true"] {
  opacity: 1 !important;
  cursor: text !important;
}
#br-chatbot-widget .br-chatbot-input::placeholder { opacity: .8; }
#br-chatbot-widget .br-chatbot-input:focus {
  outline: 2px solid var(--br-accent) !important;
  outline-offset: 0;
}

/* Accessibility: repair orphan labels created by third-party form plugins.
 * Only labels whose `for` target is genuinely missing are touched. */


/* v2.4.7.8: the message editor is isolated in an iframe so page-level
 * keyboard handlers cannot block native text entry. */
#br-chatbot-widget .br-chatbot-composer-frame{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  max-height:120px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:2147483647!important;
}


/* v2.4.8.4: robust quote service picker.  The native select remains the
 * authoritative form value, while the visible picker avoids theme overlays
 * and page-builder select rules that can prevent the native menu opening. */
#br-chatbot-widget .br-service-field{display:block!important;position:relative!important;z-index:50!important;width:100%!important}
#br-chatbot-widget .br-service-field>label{display:block!important;width:100%!important;margin:0 0 4px!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;color:#111!important}
#br-chatbot-widget .br-service-select-wrap{position:relative!important;width:100%!important;z-index:60!important}
#br-chatbot-widget .br-service-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:42px!important;padding:10px 12px!important;border:1px solid #ccc!important;border-radius:8px!important;background:#fff!important;color:#111!important;font:inherit!important;text-align:left!important;cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:61!important}
#br-chatbot-widget .br-service-toggle span{margin-left:8px!important;font-size:16px!important;line-height:1!important}
#br-chatbot-widget .br-service-menu{display:none!important;position:absolute!important;left:0!important;right:0!important;top:calc(100% + 4px)!important;max-height:220px!important;overflow:auto!important;background:#fff!important;border:1px solid #ccc!important;border-radius:8px!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important;z-index:2147483000!important;padding:4px!important}
#br-chatbot-widget .br-service-menu.open{display:block!important}
#br-chatbot-widget .br-service-menu button{display:block!important;width:100%!important;padding:9px 10px!important;border:0!important;background:#fff!important;color:#111!important;text-align:left!important;border-radius:5px!important;font:inherit!important;cursor:pointer!important;pointer-events:auto!important}
#br-chatbot-widget .br-service-menu button:hover,#br-chatbot-widget .br-service-menu button:focus{background:#f1f1f1!important;outline:none!important}
#br-chatbot-widget .br-quote-service{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
