/* ── PAC-ERP Chatbot Widget v1.2 ── */
#pac-chatbot-root,
#pac-chatbot-root *,
#pac-chatbot-root *::before,
#pac-chatbot-root *::after {
  box-sizing: border-box !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  line-height: 1.5;
}

/* ── Bubble ──────────────────────────────────────────────────────────────── */
#pac-chatbot-root .pac-bubble {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 999999 !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #1B3A6B !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.18) !important;
  transition: transform .2s ease, background .2s ease !important;
  padding: 0 !important;
  margin: 0 !important;
}
#pac-chatbot-root .pac-bubble:hover { transform: scale(1.08) !important; background: #2563EB !important; }
#pac-chatbot-root .pac-bubble svg { width: 24px !important; height: 24px !important; stroke: #ffffff !important; fill: none !important; }

/* ── Window — tamaño ampliado ────────────────────────────────────────────── */
#pac-chatbot-root .pac-window {
  z-index: 999998 !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.16) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #d1d5db !important;
}
#pac-chatbot-root .pac-window--floating {
  position: fixed !important;
  bottom: 92px !important;
  right: 24px !important;
  width: 420px !important;
  height: 620px !important;
  transform: scale(0.92) translateY(16px) !important;
  transform-origin: bottom right !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform .22s ease, opacity .22s ease !important;
}
#pac-chatbot-root .pac-window--floating.pac-window--open {
  transform: scale(1) translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
#pac-chatbot-root .pac-window--inline {
  position: relative !important;
  width: 100% !important;
  max-width: 420px !important;
  height: 620px !important;
  margin: 0 auto !important;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
#pac-chatbot-root .pac-header {
  background: #1B3A6B !important;
  color: #ffffff !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}
#pac-chatbot-root .pac-header-avatar {
  width: 36px !important; height: 36px !important; border-radius: 50% !important;
  background: rgba(255,255,255,.18) !important; display: flex !important;
  align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
}
#pac-chatbot-root .pac-header-avatar svg { width: 18px !important; height: 18px !important; stroke: #ffffff !important; fill: none !important; }
#pac-chatbot-root .pac-header-info { flex: 1 !important; min-width: 0 !important; }
#pac-chatbot-root .pac-header-info strong {
  display: block !important; font-size: 14px !important; font-weight: 600 !important;
  color: #ffffff !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; text-decoration: none !important;
}
#pac-chatbot-root .pac-header-info span { font-size: 11px !important; color: rgba(255,255,255,.75) !important; display: block !important; }
#pac-chatbot-root .pac-close-btn {
  background: none !important; border: none !important; color: #ffffff !important; cursor: pointer !important;
  padding: 4px !important; display: flex !important; align-items: center !important; border-radius: 6px !important;
  opacity: .7 !important; transition: opacity .15s !important; margin: 0 !important; box-shadow: none !important;
}
#pac-chatbot-root .pac-close-btn:hover { opacity: 1 !important; }
#pac-chatbot-root .pac-close-btn svg { width: 20px !important; height: 20px !important; stroke: #ffffff !important; fill: none !important; }

/* ── Messages ────────────────────────────────────────────────────────────── */
#pac-chatbot-root .pac-messages {
  flex: 1 !important; overflow-y: auto !important; padding: 16px 14px 8px !important;
  display: flex !important; flex-direction: column !important; gap: 10px !important;
  scroll-behavior: smooth !important; background: #ffffff !important;
}
#pac-chatbot-root .pac-messages::-webkit-scrollbar { width: 4px; }
#pac-chatbot-root .pac-messages::-webkit-scrollbar-thumb { background: #e5e7eb; border-radius: 4px; }

#pac-chatbot-root .pac-msg { display: flex !important; align-items: flex-end !important; gap: 8px !important; max-width: 90% !important; margin: 0 !important; padding: 0 !important; }
#pac-chatbot-root .pac-msg--bot  { align-self: flex-start !important; }
#pac-chatbot-root .pac-msg--user { align-self: flex-end !important; flex-direction: row-reverse !important; }

#pac-chatbot-root .pac-msg-avatar {
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: #1B3A6B !important; display: flex !important; align-items: center !important;
  justify-content: center !important; flex-shrink: 0 !important;
}
#pac-chatbot-root .pac-msg-avatar svg { width: 16px !important; height: 16px !important; stroke: #ffffff !important; fill: none !important; }

#pac-chatbot-root .pac-msg-bubble { padding: 10px 13px !important; border-radius: 16px !important; font-size: 13.5px !important; line-height: 1.5 !important; word-break: break-word !important; margin: 0 !important; }
#pac-chatbot-root .pac-msg--bot .pac-msg-bubble  { background: #f3f4f6 !important; color: #111827 !important; border-bottom-left-radius: 4px !important; }
#pac-chatbot-root .pac-msg--user .pac-msg-bubble { background: #1B3A6B !important; color: #ffffff !important; border-bottom-right-radius: 4px !important; }

/* ── Input area ──────────────────────────────────────────────────────────── */
#pac-chatbot-root .pac-input-area {
  padding: 10px 12px 14px !important; border-top: 1px solid #e5e7eb !important;
  background: #ffffff !important; flex-shrink: 0 !important; max-height: 240px !important; overflow-y: auto !important;
}
#pac-chatbot-root .pac-input-area::-webkit-scrollbar { width: 4px; }
#pac-chatbot-root .pac-input-area::-webkit-scrollbar-thumb { background: #e5e7eb; border-radius: 4px; }

/* ── Quick reply buttons ─────────────────────────────────────────────────── */
#pac-chatbot-root .pac-options { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin: 0 !important; padding: 0 !important; }
#pac-chatbot-root .pac-option-btn {
  background: #ffffff !important; border: 1.5px solid #2563EB !important; color: #2563EB !important;
  padding: 7px 13px !important; border-radius: 20px !important; font-size: 12.5px !important;
  font-weight: 500 !important; cursor: pointer !important; white-space: nowrap !important;
  transition: background .15s, color .15s !important; text-decoration: none !important;
  box-shadow: none !important; outline: none !important; margin: 0 !important;
}
#pac-chatbot-root .pac-option-btn:hover { background: #2563EB !important; color: #ffffff !important; }
#pac-chatbot-root .pac-option-btn--primary { background: #16A34A !important; border-color: #16A34A !important; color: #ffffff !important; font-weight: 600 !important; }
#pac-chatbot-root .pac-option-btn--primary:hover { background: #15803d !important; border-color: #15803d !important; color: #ffffff !important; }

/* ── Lead form ───────────────────────────────────────────────────────────── */
#pac-chatbot-root .pac-form { display: flex !important; flex-direction: column !important; gap: 9px !important; }
#pac-chatbot-root .pac-form-field { display: flex !important; flex-direction: column !important; gap: 3px !important; }
#pac-chatbot-root .pac-form-field label { font-size: 11px !important; font-weight: 600 !important; color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: .4px !important; display: block !important; margin: 0 !important; }
#pac-chatbot-root .pac-form-field input {
  width: 100% !important; padding: 8px 11px !important; border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important; font-size: 13.5px !important; color: #111827 !important;
  background: #ffffff !important; transition: border-color .15s !important; outline: none !important;
  box-shadow: none !important; margin: 0 !important;
}
#pac-chatbot-root .pac-form-field input:focus { border-color: #2563EB !important; }
#pac-chatbot-root .pac-form-note { font-size: 11px !important; color: #6b7280 !important; margin: 0 !important; }
#pac-chatbot-root .pac-submit-btn {
  width: 100% !important; padding: 10px !important; background: #1B3A6B !important; color: #ffffff !important;
  border: none !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important;
  cursor: pointer !important; transition: background .15s !important; margin-top: 2px !important; box-shadow: none !important;
}
#pac-chatbot-root .pac-submit-btn:hover { background: #2563EB !important; }
#pac-chatbot-root .pac-submit-btn:disabled { opacity: .6 !important; cursor: not-allowed !important; }
#pac-chatbot-root .pac-form-error { font-size: 12px !important; color: #DC2626 !important; min-height: 16px !important; margin: 0 !important; }

/* Botón volver dentro del formulario */
#pac-chatbot-root .pac-back-btn {
  width: 100% !important; padding: 8px !important; background: none !important;
  border: 1.5px solid #d1d5db !important; border-radius: 8px !important; font-size: 13px !important;
  color: #6b7280 !important; cursor: pointer !important; margin-top: 4px !important;
  transition: border-color .15s, color .15s !important; box-shadow: none !important;
}
#pac-chatbot-root .pac-back-btn:hover { border-color: #1B3A6B !important; color: #1B3A6B !important; }

/* ── Section list ────────────────────────────────────────────────────────── */
#pac-chatbot-root .pac-msg-bubble--list { display: flex !important; flex-direction: column !important; gap: 6px !important; padding: 10px 13px !important; }
#pac-chatbot-root .pac-list-intro { font-size: 12px !important; color: #6b7280 !important; display: block !important; }
#pac-chatbot-root .pac-section-list { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex !important; flex-direction: column !important; gap: 4px !important; }
#pac-chatbot-root .pac-section-list li { font-size: 13.5px !important; font-weight: 600 !important; color: #111827 !important; display: flex !important; align-items: center !important; gap: 7px !important; margin: 0 !important; padding: 0 !important; }
#pac-chatbot-root .pac-section-list li::before { content: '' !important; display: inline-block !important; width: 6px !important; height: 6px !important; min-width: 6px !important; border-radius: 50% !important; background: #2563EB !important; }

/* Links de módulos clicables */
#pac-chatbot-root .pac-module-link {
  color: #111827 !important; text-decoration: none !important; font-weight: 600 !important;
  border-bottom: 1px dashed #2563EB !important; transition: color .15s !important;
}
#pac-chatbot-root .pac-module-link:hover { color: #2563EB !important; }

/* ── External link button (soporte) ─────────────────────────────────────── */
#pac-chatbot-root .pac-msg-bubble--link { background: transparent !important; padding: 0 !important; }
#pac-chatbot-root .pac-ext-link {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  padding: 10px 16px !important; background: #2563EB !important; color: #ffffff !important;
  border-radius: 20px !important; font-size: 13px !important; font-weight: 600 !important;
  text-decoration: none !important; transition: background .15s !important; border: none !important;
}
#pac-chatbot-root .pac-ext-link:hover { background: #1B3A6B !important; color: #ffffff !important; text-decoration: none !important; }
#pac-chatbot-root .pac-ext-link::after { content: '↗' !important; font-size: 12px !important; opacity: .85 !important; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 460px) {
  #pac-chatbot-root .pac-window--floating {
    right: 0 !important; bottom: 0 !important; width: 100vw !important; height: 85vh !important;
    border-radius: 14px 14px 0 0 !important; border-bottom: none !important; transform-origin: bottom center !important;
  }
  #pac-chatbot-root .pac-bubble { bottom: 16px !important; right: 16px !important; }
}
