/* Cannadoo Chat Widget */
#cannadoo-chat-root { --cc-primary:#2c7a2c; --cc-primary-dark:#205620; --cc-border:#e5e5e5; }
.cc-fab { position:fixed; right:24px; bottom:24px; z-index:2147483000; width:auto; padding:14px 22px 14px 20px; border:none; border-radius:30px; background:var(--cc-primary); color:#fff; font-weight:600; font-size:15px; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.2); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; display:flex; align-items:center; gap:10px; transition:transform .15s, box-shadow .15s; }
.cc-fab:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.25); background:var(--cc-primary-dark); }
.cc-fab__icon { font-size:20px; }
.cc-fab__dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#ffde00; box-shadow:0 0 0 2px rgba(255,222,0,.3); animation:cc-pulse 2s infinite; }
@keyframes cc-pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.3); opacity:.6; } }

.cc-panel { position:fixed; right:24px; bottom:24px; z-index:2147483000; width:min(400px,calc(100vw - 32px)); height:min(640px,calc(100vh - 80px)); background:#fff; border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,0.25); display:flex; flex-direction:column; overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; }
.cc-header { background:var(--cc-primary); color:#fff; padding:16px 18px; display:flex; align-items:center; justify-content:space-between; }
.cc-header h3 { margin:0; font-size:16px; font-weight:600; }
.cc-header small { display:block; font-size:11px; opacity:.85; margin-top:2px; }
.cc-close { background:none; border:none; color:#fff; font-size:22px; cursor:pointer; padding:0 4px; line-height:1; }
.cc-body { flex:1; overflow-y:auto; padding:18px; background:#fafafa; display:flex; flex-direction:column; gap:12px; }
.cc-msg { max-width:85%; padding:10px 14px; border-radius:14px; line-height:1.45; word-wrap:break-word; white-space:pre-wrap; font-size:14px; }
.cc-msg--bot { background:#fff; color:#222; border:1px solid var(--cc-border); align-self:flex-start; border-bottom-left-radius:4px; }
.cc-msg--user { background:var(--cc-primary); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
.cc-msg--note { align-self:center; font-size:12px; color:#888; background:transparent; text-align:center; }
.cc-typing { display:inline-flex; gap:4px; padding:10px 14px; align-self:flex-start; background:#fff; border:1px solid var(--cc-border); border-radius:14px; border-bottom-left-radius:4px; }
.cc-typing span { width:6px; height:6px; border-radius:50%; background:#999; animation:cc-blink 1.2s infinite; }
.cc-typing span:nth-child(2) { animation-delay:.2s; }
.cc-typing span:nth-child(3) { animation-delay:.4s; }
@keyframes cc-blink { 0%,60%,100% { opacity:.25; } 30% { opacity:1; } }

.cc-form { padding:14px; background:#fff; border-top:1px solid var(--cc-border); display:flex; flex-direction:column; gap:10px; }
.cc-identity { display:flex; flex-direction:column; gap:8px; padding:14px; background:#fff; border-top:1px solid var(--cc-border); }
.cc-identity label { font-size:12px; font-weight:600; color:#555; }
.cc-identity input { padding:10px 12px; border:1px solid var(--cc-border); border-radius:8px; font-size:14px; font-family:inherit; }
.cc-identity input:focus { outline:none; border-color:var(--cc-primary); }
.cc-identity button { padding:11px; background:var(--cc-primary); color:#fff; border:none; border-radius:8px; font-weight:600; cursor:pointer; font-size:14px; }
.cc-identity button:disabled { opacity:.5; cursor:not-allowed; }
.cc-identity__hint { font-size:11px; color:#888; }

.cc-input-row { display:flex; gap:8px; }
.cc-input-row textarea { flex:1; padding:10px 12px; border:1px solid var(--cc-border); border-radius:8px; font-size:14px; resize:none; font-family:inherit; min-height:44px; max-height:120px; }
.cc-input-row textarea:focus { outline:none; border-color:var(--cc-primary); }
.cc-input-row button { padding:0 18px; background:var(--cc-primary); color:#fff; border:none; border-radius:8px; font-weight:600; cursor:pointer; }
.cc-input-row button:disabled { opacity:.5; cursor:not-allowed; }

.cc-intent { display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 10px; background:#fff; }
.cc-intent button { padding:7px 12px; background:#f0f4f0; border:1px solid var(--cc-border); border-radius:20px; font-size:12px; cursor:pointer; color:#2c7a2c; font-weight:600; }
.cc-intent button:hover { background:#e5edd5; }

.cc-footer-note { padding:8px 14px; background:#fff; border-top:1px solid var(--cc-border); font-size:11px; color:#888; text-align:center; }
.cc-error { background:#fff4f4; color:#b00020; padding:10px 14px; border-radius:8px; font-size:13px; }

@media (max-width: 520px) {
  .cc-panel { right:0; bottom:0; width:100vw; height:100vh; border-radius:0; }
  .cc-fab { right:16px; bottom:16px; }
}
