/* ===== Chat widget — Prof. Dr. Carlos Chaparro ===== */
#cc-fab{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#0BAFC8,#0090D4);border:none;cursor:pointer;
  box-shadow:0 8px 24px rgba(11,175,200,.45);display:flex;align-items:center;justify-content:center;
  z-index:99998;transition:transform .25s}
#cc-fab:hover{transform:scale(1.06)}
#cc-fab svg{width:24px;height:24px;color:#fff}

#cc-panel{position:fixed;bottom:88px;right:20px;width:380px;max-width:calc(100vw - 32px);
  max-height:min(72vh,580px);background:#fff;border-radius:24px;border:1px solid #eef0f2;
  box-shadow:0 20px 60px rgba(10,35,80,.22);z-index:99999;display:none;flex-direction:column;overflow:hidden;
  font-family:Montserrat,system-ui,sans-serif}
#cc-panel.open{display:flex;animation:ccpop .25s ease}
@keyframes ccpop{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.cc-head{padding:16px 20px;display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#0A2350 0%,#133C5A 60%,#0BAFC8 100%)}
.cc-head .cc-av{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center}
.cc-head .cc-av svg{width:20px;height:20px;color:#fff}
.cc-head h3{margin:0;color:#fff;font-size:15px;font-weight:600}
.cc-head p{margin:2px 0 0;color:rgba(255,255,255,.7);font-size:12px;font-weight:400}
.cc-head .cc-x{margin-left:auto;width:32px;height:32px;border-radius:50%;background:none;border:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cc-head .cc-x:hover{background:rgba(255,255,255,.15)}
.cc-head .cc-x svg{width:18px;height:18px;color:#fff}

.cc-body{flex:1;overflow-y:auto;padding:16px;background:#F8F9FA;display:flex;flex-direction:column;gap:10px;min-height:120px}
.cc-row{display:flex}
.cc-row.bot{justify-content:flex-start}
.cc-row.user{justify-content:flex-end}
.cc-bubble{max-width:85%;padding:11px 14px;border-radius:16px;font-size:13.5px;line-height:1.6;white-space:pre-line}
.cc-row.bot .cc-bubble{background:#fff;color:#133C5A;border:1px solid #eee;border-bottom-left-radius:4px}
.cc-row.user .cc-bubble{background:#0BAFC8;color:#fff;border-bottom-right-radius:4px}

.cc-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#0BAFC8;
  font-size:13px;font-weight:600;text-decoration:none}
.cc-link:hover{text-decoration:underline}
.cc-link svg{width:13px;height:13px}

.cc-actions{padding:12px;background:#fff;border-top:1px solid #eef0f2;display:flex;flex-wrap:wrap;gap:8px}
.cc-act{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:12px;
  background:#F8F9FA;color:#133C5A;border:none;cursor:pointer;font-family:inherit;
  font-size:12px;font-weight:500;transition:all .2s}
.cc-act:hover{background:#0BAFC8;color:#fff}
.cc-act svg{width:14px;height:14px}

.cc-opts{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.cc-optbtn{text-align:left;background:#fff;border:1.5px solid rgba(11,175,200,.13);color:#133C5A;
  padding:10px 13px;border-radius:11px;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;
  transition:all .2s;display:flex;align-items:center;gap:8px}
.cc-optbtn:hover{background:rgba(11,175,200,.06);border-color:#0BAFC8}
.cc-backbtn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:#0BAFC8;
  font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:8px 0;margin-top:2px}
.cc-backbtn svg{width:14px;height:14px}