/* Base chat styles using flex for sizing */
.dc-ai-chat{display:flex;flex-direction:column;max-width:720px;margin:1rem auto;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;background:#fff;height:560px;max-height:78vh}
.dc-ai-chat__header{flex:0 0 auto;display:flex;align-items:center;gap:.5rem;justify-content:space-between;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}
.dc-ai-chat__title{font-weight:600}
.dc-ai-lead{flex:0 0 auto;padding:1rem;border-bottom:1px solid #e5e7eb;background:#fff}
/* Messages area must be allowed to shrink inside flex container */
.dc-ai-chat__messages{flex:1 1 auto;min-height:0;overflow:auto;padding:1rem;background:#ffffff}
.dc-ai-msg{max-width:85%;margin:.35rem 0;padding:.6rem .8rem;border-radius:10px;line-height:1.35;word-wrap:break-word}
.dc-ai-msg.user{margin-left:auto;background:#ecfdf5;border:1px solid #d1fae5}
.dc-ai-msg.bot{margin-right:auto;background:#f3f4f6;border:1px solid #e5e7eb}
/* Ensure chat form stays inside panel even if theme overrides */
.dc-ai-chat__form{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;margin:0!important;width:100%!important;box-sizing:border-box;flex:0 0 auto;display:flex;gap:.5rem;padding:.75rem;border-top:1px solid #e5e7eb;background:#f9fafb}
.dc-ai-chat__input{flex:1;border:1px solid #e5e7eb;border-radius:999px;padding:.6rem .9rem;outline:none}
.dc-ai-chat__input:focus{border-color:#cbd5e1;box-shadow:0 0 0 3px rgba(59,130,246,.08)}
.dc-ai-chat__send{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:.55rem .9rem;cursor:pointer}
.dc-ai-chat__close{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;padding:4px 8px}

/* WhatsApp button */
.dc-ai-chat .dc-ai-chat__wa,
.dc-ai-chat .dc-ai-chat__wa:link,
.dc-ai-chat .dc-ai-chat__wa:visited{color:#000!important;background:#fff!important;border:1px solid #9ca3af!important;text-decoration:none!important;display:inline-flex!important;align-items:center;gap:.4rem;padding:.3rem .65rem!important;border-radius:999px!important;font-size:14px!important;line-height:1!important;font-weight:500!important}
.dc-ai-chat .dc-ai-chat__wa:hover,
.dc-ai-chat .dc-ai-chat__wa:focus,
.dc-ai-chat .dc-ai-chat__wa:active{color:#000!important;background:#f3f4f6!important;border-color:#6b7280!important;text-decoration:none!important}

/* Floating widget */
.dc-ai-root{position:relative;z-index:2147483647}
.dc-ai-toggle{position:fixed;opacity:0;pointer-events:none}
.dc-ai-launcher{position:fixed;right:20px;bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:999px;border:1px solid #e5e7eb;background:#ffffff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.12);cursor:pointer;z-index:2147483647;pointer-events:auto!important}
.dc-ai-launcher svg{display:block}
.dc-ai-floating{position:fixed;right:20px;bottom:calc(88px + env(safe-area-inset-bottom));width:360px;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:2147483647;pointer-events:auto!important}
#dc-ai-chat-panel{display:none}
.dc-ai-toggle:checked ~ #dc-ai-chat-panel{display:block}

/* Mobile */
@media (max-width:480px){
  .dc-ai-floating{right:12px;left:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:auto}
  .dc-ai-launcher{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}
  .dc-ai-chat{height:80vh;max-height:80vh}
}

/* Lead form */
.dc-ai-lead__form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.dc-ai-lead__form .dc-row{display:flex;flex-direction:column;gap:.35rem}
.dc-ai-lead__form label{font-size:13px;color:#374151}
.dc-ai-lead__form input, .dc-ai-lead__form textarea{border:1px solid #e5e7eb;border-radius:8px;padding:.6rem .7rem;outline:none}
.dc-ai-lead__form textarea{grid-column:1 / -1;min-height:72px;resize:vertical}
.dc-ai-lead__form .dc-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}
.dc-ai-lead__form .dc-btn{border:1px solid #e5e7eb;background:#111827;color:#fff;border-radius:999px;padding:.55rem 1rem;cursor:pointer}
.dc-ai-lead__form .dc-btn:disabled{opacity:.6;cursor:not-allowed}
.dc-ai-lead__form .req{color:#ef4444;margin-left:.25rem}
.dc-ai-lead__form .dc-error{color:#b91c1c;font-size:13px;margin-top:.25rem}
.dc-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* Focus */
.dc-ai-lead__form input:focus, .dc-ai-lead__form textarea:focus{border-color:#cbd5e1;box-shadow:0 0 0 3px rgba(59,130,246,.08)}

/* --- Compact mode while lead form is open (removes big empty space) --- */
#dc-ai-chat-panel.dc-panel--lead-open .dc-ai-chat{height:auto;max-height:none}
#dc-ai-chat-panel.dc-panel--lead-open .dc-ai-chat__messages{display:none}
#dc-ai-chat-panel.dc-panel--lead-open .dc-ai-chat__form{margin-top:.5rem}
@media (max-width:480px){
  #dc-ai-chat-panel.dc-panel--lead-open .dc-ai-chat{height:auto;max-height:unset}
}
