/* Dot Chatbot v2 — Full Widget */
#dot-fab-wrap,#dot-widget{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;font-size:13px;line-height:1.5;box-sizing:border-box;}
#dot-widget *{box-sizing:border-box;}

/* FAB */
#dot-fab-wrap{position:fixed;z-index:2147483647;display:flex;align-items:center;gap:10px;cursor:pointer;pointer-events:all;}
#dot-fab-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.22);flex-shrink:0;transition:transform .2s;cursor:pointer;}
#dot-fab-btn:hover{transform:scale(1.06);}
#dot-fab-label{font-size:13px;font-weight:500;padding:6px 14px;border-radius:20px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12);white-space:nowrap;color:#1e293b;cursor:pointer;}

/* Widget shell */
#dot-widget{position:fixed;z-index:2147483646;display:none;flex-direction:column;border-radius:16px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.18);border:1.5px solid var(--dot-border-color, rgba(0,0,0,.08));background:#fff;pointer-events:all;}
#dot-widget.dot-open{display:flex;}

/* Screens */
.dot-screen{display:none;flex-direction:column;flex:1;min-height:0;}
.dot-screen.dot-active{display:flex;}

/* Header */
.dot-head{display:flex;align-items:center;gap:10px;padding:14px 16px;flex-shrink:0;}
.dot-head-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;overflow:hidden;flex-shrink:0;}
.dot-head-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.dot-head-info{flex:1;min-width:0;}
.dot-head-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dot-head-status{font-size:11px;opacity:.72;margin-top:1px;}
.dot-head-actions{display:flex;gap:6px;flex-shrink:0;}
.dot-head-btn{width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s;}
.dot-head-btn:hover{background:rgba(255,255,255,.35);}

/* ── HOME SCREEN ── */
.dot-home-body{flex:1;overflow-y:auto;padding:16px;}
.dot-home-org{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.dot-home-org-logo{width:38px;height:38px;border-radius:8px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;}
.dot-home-org-logo img{width:100%;height:100%;object-fit:cover;}
.dot-home-org-name{font-size:14px;font-weight:600;color:#1e293b;}
.dot-home-greeting{font-size:17px;font-weight:500;color:#1e293b;margin-bottom:4px;}
.dot-home-sub{font-size:13px;color:#6b7280;line-height:1.55;margin-bottom:20px;}
.dot-section-label{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin:14px 0 8px;padding:0;}
.dot-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;}
.dot-chip{font-size:12px;padding:6px 13px;border-radius:16px;border:1.5px solid;cursor:pointer;background:transparent;font-family:inherit;transition:opacity .15s;}
.dot-chip:hover{opacity:.75;}
.dot-feat-cards{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;}
.dot-feat-card{border:0.5px solid #e5e7eb;border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .15s;background:#fff;}
.dot-feat-card:hover{background:#f9fafb;}
.dot-feat-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.dot-feat-title{font-size:13px;font-weight:500;color:#1e293b;}
.dot-feat-sub{font-size:11px;color:#6b7280;margin-top:1px;}
.dot-feat-chevron{margin-left:auto;color:#d1d5db;font-size:18px;line-height:1;}
.dot-home-actions{display:flex;flex-direction:column;gap:8px;}
.dot-action-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;border:0.5px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:#1e293b;background:#fff;font-family:inherit;text-align:left;width:100%;transition:background .15s;}
.dot-action-btn:hover{background:#f9fafb;}
.dot-action-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dot-action-chevron{margin-left:auto;color:#d1d5db;font-size:18px;}

/* ── CHAT SCREEN ── */
.dot-chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#fff;}
.dot-msg{max-width:88%;font-size:13px !important;font-family:inherit !important;font-weight:400 !important;line-height:1.5 !important;padding:9px 12px;border-radius:14px;word-break:break-word;}
.dot-msg *{font-size:13px !important;line-height:1.5 !important;font-family:inherit !important;}
.dot-msg strong,.dot-msg b{font-weight:600 !important;}
.dot-msg ul{margin:6px 0 6px 16px;padding:0;}
.dot-msg li{margin-bottom:3px;}
.dot-msg p{margin:0 0 6px;}
.dot-msg p:last-child{margin-bottom:0;}
.dot-msg a{text-decoration:underline;color:inherit;}
.dot-msg.bot{align-self:flex-start;border-bottom-left-radius:4px;}
.dot-msg.user{align-self:flex-end;color:#fff;border-bottom-right-radius:4px;}
.dot-msg.bot a { color: #2563eb !important; text-decoration: underline !important; font-weight: 500 !important; }
.dot-msg.bot a:hover { opacity: .75 !important; }
.dot-cta-btn { display: inline-block; margin-top: 8px; padding: 8px 18px; border-radius: 20px; font-size: 12px !important; font-weight: 500 !important; text-decoration: none !important; color: #fff !important; transition: opacity .15s; cursor: pointer; line-height: 1.4 !important; }
.dot-cta-btn:hover { opacity: .88 !important; }
.dot-typing{display:flex;align-items:center;gap:4px;padding:10px 14px;border-radius:14px;align-self:flex-start;border-bottom-left-radius:4px;}
.dot-typing span{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:dot-bounce .8s infinite;}
.dot-typing span:nth-child(2){animation-delay:.15s;}
.dot-typing span:nth-child(3){animation-delay:.3s;}
@keyframes dot-bounce{0%,80%,100%{transform:translateY(0);}40%{transform:translateY(-5px);}}
/* Chat body and input — Zapier pill style */
#dot-widget .dot-chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#fff !important;background-color:#fff !important;}
#dot-widget .dot-input-wrap{border-top:none !important;padding:10px 12px 12px !important;display:flex !important;align-items:center !important;gap:0 !important;flex-shrink:0 !important;background:#fff !important;background-color:#fff !important;box-shadow:none !important;}
#dot-widget .dot-input-inner{display:flex;align-items:center;background:#ffffff;border:1.5px solid #e2e8f0;border-radius:24px;padding:7px 7px 7px 14px;flex:1;gap:8px;transition:border-color .2s;}
#dot-widget .dot-input-inner:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);}
#dot-widget .dot-input-wrap textarea,
#dot-widget .dot-input-wrap textarea:focus,
#dot-widget .dot-input-wrap textarea:active,
#dot-widget .dot-input-wrap textarea:hover{flex:1 !important;border:none !important;outline:none !important;font-size:13px !important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif !important;resize:none !important;background:transparent !important;background-color:transparent !important;line-height:1.5 !important;max-height:80px;overflow-y:auto;color:#1e293b !important;box-shadow:none !important;-webkit-box-shadow:none !important;border-radius:0 !important;padding:0 !important;margin:0 !important;-webkit-appearance:none !important;}
#dot-widget .dot-send-btn{width:28px !important;height:28px !important;border-radius:50% !important;border:none !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;transition:opacity .15s !important;}
#dot-widget .dot-send-btn:hover{opacity:.85 !important;}
.dot-restart-bar{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;border-top:0.5px solid #e2e8f0;font-size:11px;color:#94a3b8;cursor:pointer;background:#fff;transition:color .15s;flex-shrink:0;}
.dot-restart-bar:hover{color:#64748b;}

/* ── EMAIL SCREEN ── */
.dot-email-body{flex:1;overflow-y:auto;padding:16px;}
.dot-email-title{font-size:15px;font-weight:500;color:#1e293b;margin-bottom:4px;}
.dot-email-sub{font-size:13px;color:#6b7280;line-height:1.55;margin-bottom:20px;}
.dot-form-label{font-size:12px;font-weight:500;color:#374151;margin-bottom:5px;display:block;}
.dot-form-input{width:100%;padding:9px 12px;border:0.5px solid #d1d5db;border-radius:8px;font-size:13px;font-family:inherit;color:#1e293b;margin-bottom:12px;outline:none;transition:border .15s;background:#fff;}
.dot-form-input:focus{border-color:#2563eb;}
.dot-form-textarea{width:100%;padding:9px 12px;border:0.5px solid #d1d5db;border-radius:8px;font-size:13px;font-family:inherit;color:#1e293b;margin-bottom:12px;resize:vertical;min-height:90px;outline:none;transition:border .15s;background:#fff;}
.dot-form-textarea:focus{border-color:#2563eb;}
.dot-form-submit{width:100%;padding:10px;border:none;border-radius:20px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.dot-form-submit:hover{opacity:.88;}
.dot-email-thanks{display:none;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:32px;text-align:center;}
.dot-thanks-icon{width:52px;height:52px;border-radius:50%;background:#f0fdf4;display:flex;align-items:center;justify-content:center;margin:0 auto;}
.dot-thanks-title{font-size:15px;font-weight:500;color:#1e293b;}
.dot-thanks-sub{font-size:13px;color:#6b7280;line-height:1.5;}
.dot-back-home{margin-top:8px;padding:8px 20px;border-radius:20px;border:0.5px solid #d1d5db;background:#fff;font-size:13px;cursor:pointer;font-family:inherit;}

/* Disclaimer accordion */
#dot-widget .dot-disclaimer-toggle.open .dot-disc-chevron { transform: rotate(180deg); }
#dot-widget .dot-disclaimer-toggle:hover { opacity: .85; }
.dot-nav-bar{display:flex;border-top:0.5px solid #e5e7eb;flex-shrink:0;background:#fff;}
.dot-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;cursor:pointer;gap:4px;border:none;background:none;font-family:inherit;transition:opacity .15s;}
.dot-nav-item svg{width:20px;height:20px;stroke-width:2;}
.dot-nav-label{font-size:11px;font-weight:500;color:#9ca3af;transition:color .15s;}
.dot-nav-label.active{color:#2563eb;}

/* ── CONFIRM OVERLAY ── */
.dot-confirm-overlay{position:absolute;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:16px;}
.dot-confirm-box{background:#fff;border-radius:12px;padding:20px;width:230px;text-align:center;}
.dot-confirm-box p{font-size:13px;margin:0 0 14px;color:#1e293b;}
.dot-confirm-btns{display:flex;gap:8px;}
.dot-confirm-btns button{flex:1;padding:7px;border-radius:8px;font-size:12px;cursor:pointer;font-family:inherit;border:none;}
.dot-btn-cancel{background:#f1f5f9;color:#475569;}

/* Home, email body backgrounds */
#dot-widget .dot-home-body,
/* ── Email form — beat theme overrides ── */
#dot-widget .dot-form-input,
#dot-widget .dot-form-textarea {
  box-sizing: border-box !important;
  width: 100% !important;
  padding: 9px 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-family: inherit !important;
  color: #1e293b !important;
  background: #fff !important;
  margin-bottom: 12px !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  line-height: 1.5 !important;
}
#dot-widget select.dot-form-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 32px !important;
  cursor: pointer !important;
}
#dot-widget .dot-form-input:focus,
#dot-widget .dot-form-textarea:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.1) !important;
}
#dot-widget .dot-form-label {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  margin-bottom: 5px !important;
  display: block !important;
}
  background: #fff !important;
  background-color: #fff !important;
}
#dot-widget .dot-feat-card,
#dot-widget .dot-action-btn {
  background: #fff !important;
  background-color: #fff !important;
}
#dot-widget .dot-form-input,
#dot-widget .dot-form-textarea {
  background: #fff !important;
  background-color: #fff !important;
  color: #1e293b !important;
  -webkit-appearance: none !important;
}
#dot-widget .dot-nav-bar {
  background: #fff !important;
  background-color: #fff !important;
}
#dot-widget .dot-restart-bar {
  background: #fff !important;
  background-color: #fff !important;
}
#dot-widget input,
#dot-widget textarea,
#dot-widget select,
#dot-widget button {
  box-sizing: border-box !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;
}
#dot-widget textarea {
  background: #fff !important;
  background-color: #fff !important;
  color: #1e293b !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
#dot-widget input[type="text"],
#dot-widget input[type="email"] {
  background: #fff !important;
  background-color: #fff !important;
  color: #1e293b !important;
  border: 0.5px solid #d1d5db !important;
  box-shadow: none !important;
}
#dot-widget input[type="text"]:focus,
#dot-widget input[type="email"]:focus {
  border-color: #2563eb !important;
  outline: none !important;
  box-shadow: none !important;
}
.dot-lead-form{background:#f8fafc;border-radius:12px;padding:12px 14px;font-size:13px;}
.dot-lead-form p{margin:0 0 8px;font-weight:500;}
.dot-lead-form input{width:100%;padding:7px 10px;border:0.5px solid #cbd5e1;border-radius:8px;font-size:13px;margin-bottom:6px;box-sizing:border-box;font-family:inherit;outline:none;}
.dot-lead-submit{width:100%;padding:8px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:#fff;font-family:inherit;transition:opacity .15s;}
.dot-lead-submit:hover{opacity:.88;}

/* ── Reply formatting ── */
#dot-widget .dot-msg.bot p.dot-reply-p { margin:0 0 8px 0; line-height:1.65; }
#dot-widget .dot-msg.bot p.dot-reply-p:last-child { margin-bottom:0; }
#dot-widget .dot-msg.bot .dot-reply-heading { font-weight:600; font-size:13px; margin:10px 0 4px 0; color:inherit; }
#dot-widget .dot-msg.bot .dot-reply-heading:first-child { margin-top:0; }
#dot-widget .dot-msg.bot ul.dot-reply-list,
#dot-widget .dot-msg.bot ol.dot-reply-list { margin:4px 0 8px 0; padding-left:18px; }
#dot-widget .dot-msg.bot ul.dot-reply-list { list-style:disc; }
#dot-widget .dot-msg.bot ol.dot-reply-list { list-style:decimal; }
#dot-widget .dot-msg.bot li { margin-bottom:4px; line-height:1.6; padding-left:2px; }
#dot-widget .dot-msg.bot li:last-child { margin-bottom:0; }
#dot-widget .dot-msg.bot strong { font-weight:600; }
