/* CC AI Landing Widget (scoped) */
/* Contenedor fijo */
.ccai-container{
  position: fixed;
  bottom: var(--ccai-offset, 24px);
  z-index: 99999;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Fallback: si no hay clase, mantener derecha */
.ccai-container:not(.ccai-align-left):not(.ccai-align-center){
  right: var(--ccai-offset, 24px);
}

/* Clases de alineación */
/* Clases de alineación */
.ccai-align-right  { right: var(--ccai-offset,24px) !important; left:auto !important;  transform:none !important; }
.ccai-align-left   { left:  var(--ccai-offset,24px) !important; right:auto !important; transform:none !important; }
.ccai-align-center { left:50% !important;                 right:auto !important; transform:translateX(-50%) !important; }



/* FAB */
.ccai-fab{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--ccai-brand,#00D4FF); color:#000;
  padding:12px 16px; border-radius:999px;
  box-shadow:0 8px 28px rgba(0,0,0,.25);
  cursor:pointer; font-weight:700;
}


.ccai-tool {
    background: none !important;
}

.ccai-tool i {
  color: var(--ccai-brand,#00D4FF); color:#fff !important;
}

.ccai-fab[aria-hidden="true"]{ display:none; }

/* POPUP */
.ccai-popup{
  width:min(380px,calc(100vw - 28px));
  height:min(540px,calc(92vh - 120px));
  background:var(--ccai-panel-bg,#0B0B0B);
  color:var(--ccai-text,#FFFFFF);
  border-radius:16px;
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  display:none; overflow:hidden;
}
.ccai-popup.open{
  display:flex; flex-direction:column;
  max-height:90dvh;
}

/* Header */
.ccai-header{
  background:linear-gradient(180deg,var(--ccai-header-bg2,#131313),transparent);
  padding:12px 14px; display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ccai-title{ font-weight:800; }
.ccai-close{ background:transparent; border:none; color:#fff; cursor:pointer; font-size:16px; }

/* Chips (acciones) */
.ccai-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:8px 12px 0; }
.ccai-chip{
  background:#202020; color:#fff; border:1px solid rgba(255,255,255,.06);
  padding:6px 10px; border-radius:999px; cursor:pointer; font-size:12px;
}

/* Body (log de mensajes) */
.ccai-body{
  padding:12px; overflow:auto; display:flex; flex-direction:column; gap:10px;
  flex:1 1 auto; min-height:0; /* clave para que el scroll funcione y el footer quede abajo */
  overflow-x:hidden;
}
.ccai-msg{
  padding:10px 12px; border-radius:12px; line-height:1.45; max-width:100%;
  word-break:break-word; overflow-wrap:anywhere;
}
.ccai-msg.user{ background:#1f2937; align-self:flex-end; }
.ccai-msg.bot{  background:#0f172a; border:1px solid rgba(255,255,255,.06); }

/* Typing */
.ccai-typing{ opacity:.7; font-size:12px; padding:0 12px 8px; }

/* Footer (input + send) */
.ccai-footer{
  padding:12px; border-top:1px solid rgba(255,255,255,.06);
  display:flex; gap:8px; align-items:center;
}
.ccai-input{
  flex:1; background:var(--ccai-input-bg,#111111); color:var(--ccai-input-text,#FFFFFF);
  border:1px solid var(--ccai-input-border,#1F1F1F);
  border-radius:10px; padding:10px 12px; min-height:44px;
}
.ccai-send{
  background:var(--ccai-brand,#00D4FF); color:#0b0b0b; border:none;
  padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:800; min-height:44px;
}

/* Cards HTML 2 columnas */
.ccai-body .ccai-cards-2{
  width:100%; display:grid; gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ccai-body .ccai-card{
  background:#0f172a; border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:10px;
  display:flex; flex-direction:column; gap:8px;
  min-height:270px; min-width:0;
}
.ccai-body .ccai-card-img{
  display:block; width:100%; height:160px; object-fit:cover; border-radius:10px;
}
.ccai-body .ccai-card-title{ font-weight:800; line-height:1.2; }
.ccai-body .ccai-card-price{ font-weight:700; opacity:.95; }
.ccai-body .ccai-card .blurb{
  margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ccai-body .ccai-card .ccai-btn{
  margin-top:auto; display:inline-block; padding:8px 12px;
  background:var(--ccai-brand,#00D4FF) !important; color:#0b0b0b !important;
  text-decoration:none !important; border-radius:10px; font-weight:800;
}

/* (Opcional) legacy tablas → no necesitamos estilos; el JS las convierte a cards */

/* Scrollbars consistentes */
.ccai-body::-webkit-scrollbar{ width:10px; }
.ccai-body::-webkit-scrollbar-track{ background:rgba(255,255,255,.05); border-radius:10px; }
.ccai-body::-webkit-scrollbar-thumb{ background:var(--ccai-brand,#00D4FF); border-radius:10px; }
.ccai-body{ scrollbar-width:thin; scrollbar-color:var(--ccai-brand,#00D4FF) rgba(255,255,255,.08); }

/* Responsive: 1 columna en mobile */
@media (max-width:520px){
  .ccai-container{ bottom:14px; } /* no forzar right por defecto */

  .ccai-container.ccai-align-right  { right:14px !important; left:auto !important;  transform:none !important; }
  .ccai-container.ccai-align-left   { left:14px  !important; right:auto !important; transform:none !important; }
  .ccai-container.ccai-align-center { left:50%   !important; right:auto !important; transform:translateX(-50%) !important; }

  .ccai-body .ccai-cards-2{ grid-template-columns:1fr; }
}

/* Safe-area iOS */
.ccai-popup.open .ccai-body{ padding-bottom:calc(8px + env(safe-area-inset-bottom)); }
.ccai-popup.open .ccai-footer{ padding-bottom:calc(12px + env(safe-area-inset-bottom)); }

/* Helpers */
.ccai-hidden-by-widget{ display:none !important; }

button.ccai-chip {
    padding: 4px !important;
    line-height: 100% !important;
    font-size: 12px !important;
}

.ccai-body .ccai-card .ccai-btn {
    padding: 8px !important;
    text-align: center !important;
    line-height: 100% !important;
}

button.ccai-fab {
    padding: 10px !important;
    line-height: 104% !important;
    display: flex;
    align-items: center !important;
}
/* v1.15.0 minimal */
button.ccai-fab[aria-expanded="true"]{display:none!important;}
.ccai-header .ccai-hist,.ccai-header .ccai-new{display:none!important;}
.ccai-header .ccai-close{min-width:32px;height:32px;line-height:32px;padding:0 8px;border-radius:8px;font-weight:600}

/* v1.15.6 toast */
.ccai-toast{position:absolute;left:12px;right:12px;top:48px;background:#0f172a;color:#fff;border-radius:10px;padding:8px 12px;font-size:13px;box-shadow:0 2px 12px rgba(0,0,0,.2);opacity:.98;z-index:9999}
.ccai-toast small{opacity:.85}
@media (prefers-color-scheme: light){ .ccai-toast{background:#111827;color:#fff} }

form.ccai-leadform label {
    clear: both;
    width: 100% !important;
    display: inline-block;
    font-weight: bold;
    margin-top: 10px;
}

form.ccai-leadform input {
    width: 100%;
    padding: 8px 6px;
    border: 0px;
    border-radius: 5px;
    color: #000 !important;
    background: #fff !important;
}

form.ccai-leadform select {
    width: 100%;
    padding: 8px 6px;
    border: 0px;
    border-radius: 5px;
    color: #000 !important;
    background: #fff !important;
    height: auto !important;
}

form.ccai-leadform legend {
  font-size: 14px !important;
}