/* ========================================================================== */
    /* ASESOR COMERCIAL IA 360 · VITRINA WORDPRESS V7.0                           */
    /* ========================================================================== */
    .ffx-public-ai-trigger {
      position: fixed;
      bottom: 22px;
      right: 22px;
      left: auto;
      z-index: 9990;
      height: 48px;
      padding: 0 18px 0 14px;
      border-radius: 999px;
      background: linear-gradient(135deg, #0d2b63 0%, #1683f7 100%);
      color: #ffffff;
      border: none;
      cursor: pointer;
      box-shadow: 0 8px 24px rgba(13,43,99,0.35);
      display: inline-flex;
      align-items: center;
      gap: 9px;
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      font-size: 13.5px;
      font-weight: 800;
      letter-spacing: -0.01em;
      transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
    }
    .ffx-public-ai-trigger:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 30px rgba(22,131,247,0.45);
    }
    .ffx-public-ai-trigger:active {
      transform: translateY(0);
    }
    .ffx-public-ai-icon {
      font-size: 20px;
      line-height: 1;
      display: inline-block;
      filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
    }
    .ffx-public-ai-pulse {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #10b981;
      box-shadow: 0 0 0 2px rgba(16,185,129,0.35);
      animation: ffxPublicPulse 2s infinite;
    }
    @keyframes ffxPublicPulse {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16,185,129,0.7); }
      70% { transform: scale(1.1); box-shadow: 0 0 0 6px rgba(16,185,129,0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16,185,129,0); }
    }

    .ffx-public-ai-drawer {
      position: fixed;
      bottom: 80px;
      right: 22px;
      left: auto;
      z-index: 9992;
      width: 440px;
      max-width: calc(100vw - 32px);
      height: min(670px, calc(100vh - 100px));
      background: #ffffff;
      border-radius: 20px;
      border: 1px solid #cbd5e1;
      box-shadow: 0 20px 50px rgba(15,23,42,0.22), 0 0 0 1px rgba(15,23,42,0.06);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      animation: ffxPublicSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }
    @keyframes ffxPublicSlideUp {
      from { opacity: 0; transform: translateY(18px) scale(0.97); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .ffx-public-ai-header {
      background: linear-gradient(135deg, #0d2b63 0%, #164070 50%, #0d2b52 100%);
      color: #ffffff;
      padding: 14px 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 2px solid #1683f7;
      flex-shrink: 0;
    }
    .ffx-public-ai-header-left {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }
    .ffx-public-ai-avatar {
      width: 38px;
      height: 38px;
      border-radius: 10px;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.2);
      display: grid;
      place-items: center;
      font-size: 20px;
      flex-shrink: 0;
      box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    }
    .ffx-public-ai-title-wrap {
      min-width: 0;
    }
    .ffx-public-ai-title {
      font-size: 14.5px;
      font-weight: 800;
      letter-spacing: -0.01em;
      color: #ffffff;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .ffx-public-ai-subtitle {
      font-size: 11px;
      color: #93c5fd;
      font-weight: 600;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .ffx-public-ai-header-actions {
      display: flex;
      align-items: center;
      gap: 5px;
      flex-shrink: 0;
    }
    .ffx-public-ai-hdr-btn {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.15);
      color: #ffffff;
      border-radius: 8px;
      width: 32px;
      height: 32px;
      display: grid;
      place-items: center;
      cursor: pointer;
      font-size: 14px;
      transition: background 0.15s ease;
    }
    .ffx-public-ai-hdr-btn:hover {
      background: rgba(255,255,255,0.22);
    }
    .ffx-public-ai-hdr-btn.on {
      color: #facc15;
      border-color: rgba(250,204,21,0.4);
    }

    .ffx-public-ai-chips-bar {
      background: #f8fafc;
      border-bottom: 1px solid #e2e8f0;
      padding: 8px 12px;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      white-space: nowrap;
      scrollbar-width: thin;
      flex-shrink: 0;
    }
    .ffx-public-ai-chips-bar::-webkit-scrollbar {
      height: 4px;
    }
    .ffx-public-ai-chips-bar::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 4px;
    }
    .ffx-public-ai-chip {
      background: #ffffff;
      border: 1px solid #cbd5e1;
      color: #1e40af;
      font-size: 11.5px;
      font-weight: 700;
      padding: 5px 11px;
      border-radius: 999px;
      cursor: pointer;
      transition: all 0.15s ease;
      flex-shrink: 0;
    }
    .ffx-public-ai-chip:hover {
      background: #eff6ff;
      border-color: #93c5fd;
      color: #1d4ed8;
      transform: translateY(-1px);
    }

    .ffx-public-ai-messages {
      flex: 1;
      overflow-y: auto;
      padding: 14px 16px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      background: #f8fbff;
      scroll-behavior: smooth;
    }
    .ffx-public-ai-msg {
      display: flex;
      flex-direction: column;
      max-width: 90%;
      animation: ffxPublicFadeIn 0.2s ease-out;
    }
    @keyframes ffxPublicFadeIn {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .ffx-public-ai-msg-user {
      align-self: flex-end;
      align-items: flex-end;
    }
    .ffx-public-ai-msg-bot {
      align-self: flex-start;
      align-items: flex-start;
    }
    .ffx-public-ai-bubble {
      padding: 12px 15px;
      border-radius: 16px;
      font-size: 13px;
      line-height: 1.5;
      position: relative;
      word-break: break-word;
    }
    .ffx-public-ai-msg-user .ffx-public-ai-bubble {
      background: linear-gradient(135deg, #1683f7 0%, #1e40af 100%);
      color: #ffffff;
      border-bottom-right-radius: 4px;
      box-shadow: 0 4px 12px rgba(22,131,247,0.25);
    }
    .ffx-public-ai-msg-bot .ffx-public-ai-bubble {
      background: #ffffff;
      color: #1e293b;
      border: 1px solid #dce6f0;
      border-bottom-left-radius: 4px;
      box-shadow: 0 4px 14px rgba(15,23,42,0.05);
    }
    .ffx-public-ai-bubble h3, .ffx-public-ai-bubble h4 {
      margin: 2px 0 8px;
      font-size: 14px;
      font-weight: 800;
      color: #0d2b63;
    }
    .ffx-public-ai-bubble p {
      margin: 0 0 8px;
    }
    .ffx-public-ai-bubble p:last-child {
      margin-bottom: 0;
    }
    .ffx-public-ai-bubble ul {
      margin: 6px 0 8px 18px;
      padding: 0;
    }
    .ffx-public-ai-bubble li {
      margin-bottom: 4px;
    }
    .ffx-public-ai-bubble b, .ffx-public-ai-bubble strong {
      font-weight: 800;
      color: #0f172a;
    }
    .ffx-public-ai-bubble .ffx-ai-heading {
      display: block;
      margin: 4px 0 6px;
      font-size: 13.5px;
      font-weight: 800;
      color: #0d2b63;
    }
    .ffx-public-ai-bubble a {
      color: #1683f7;
      font-weight: 700;
      text-decoration: underline;
    }
    .ffx-public-ai-msg-footer {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 5px;
      font-size: 10.5px;
      color: #94a3b8;
    }
    .ffx-public-ai-speak-btn {
      background: transparent;
      border: none;
      cursor: pointer;
      font-size: 12px;
      color: #64748b;
      padding: 2px 4px;
      border-radius: 4px;
      transition: color 0.15s ease;
    }
    .ffx-public-ai-speak-btn:hover {
      color: #1683f7;
    }

    .ffx-public-ai-action-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: linear-gradient(135deg, #1683f7, #0d2b63);
      color: #ffffff !important;
      text-decoration: none !important;
      font-size: 12px;
      font-weight: 800;
      padding: 8px 15px;
      border-radius: 10px;
      margin-top: 10px;
      border: none;
      cursor: pointer;
      box-shadow: 0 4px 10px rgba(22,131,247,0.25);
      transition: transform 0.15s ease, box-shadow 0.15s ease;
    }
    .ffx-public-ai-action-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 14px rgba(22,131,247,0.35);
    }

    .ffx-public-ai-suggestions {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 10px;
      padding-top: 8px;
      border-top: 1px dashed #e2e8f0;
    }
    .ffx-public-ai-suggestion-chip {
      background: #f1f5f9;
      border: 1px solid #cbd5e1;
      color: #334155;
      font-size: 11px;
      font-weight: 700;
      padding: 4px 9px;
      border-radius: 8px;
      cursor: pointer;
      transition: all 0.15s ease;
    }
    .ffx-public-ai-suggestion-chip:hover {
      background: #eff6ff;
      color: #1e40af;
      border-color: #93c5fd;
    }

    .ffx-public-ai-typing {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 8px 12px;
      background: #ffffff;
      border: 1px solid #dce6f0;
      border-radius: 14px;
      width: fit-content;
    }
    .ffx-public-ai-typing-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #94a3b8;
      animation: ffxPublicBounce 1.4s infinite ease-in-out both;
    }
    .ffx-public-ai-typing-dot:nth-child(1) { animation-delay: -0.32s; }
    .ffx-public-ai-typing-dot:nth-child(2) { animation-delay: -0.16s; }
    @keyframes ffxPublicBounce {
      0%, 80%, 100% { transform: scale(0); }
      40% { transform: scale(1); }
    }

    .ffx-public-ai-input-wrap {
      background: #ffffff;
      border-top: 1px solid #e2e8f0;
      padding: 12px 14px;
      flex-shrink: 0;
    }
    .ffx-public-ai-voice-status {
      background: #fee2e2;
      border: 1px solid #fecaca;
      color: #b91c1c;
      font-size: 11.5px;
      font-weight: 700;
      padding: 6px 10px;
      border-radius: 8px;
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .ffx-public-ai-voice-anim {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #ef4444;
      animation: ffxPublicPulse 1.2s infinite;
    }
    .ffx-public-ai-input-form {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .ffx-public-ai-input-field {
      flex: 1;
      min-height: 44px;
      border: 1px solid #cbd5e1;
      border-radius: 12px;
      padding: 0 14px;
      font-family: inherit;
      font-size: 13px;
      color: #0f172a;
      outline: none;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }
    .ffx-public-ai-input-field:focus {
      border-color: #1683f7;
      box-shadow: 0 0 0 3px rgba(22,131,247,0.15);
    }
    .ffx-public-ai-input-btn {
      min-width: 44px;
      height: 44px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      font-size: 16px;
      cursor: pointer;
      border: none;
      transition: all 0.15s ease;
    }
    .ffx-public-ai-mic {
      background: #f1f5f9;
      color: #475569;
      border: 1px solid #cbd5e1;
    }
    .ffx-public-ai-mic:hover {
      background: #e2e8f0;
      color: #1e293b;
    }
    .ffx-public-ai-mic.recording {
      background: #fee2e2;
      color: #dc2626;
      border-color: #f87171;
      animation: ffxPublicPulse 1s infinite;
    }
    .ffx-public-ai-send {
      background: linear-gradient(135deg, #1683f7, #0d2b63);
      color: #ffffff;
      box-shadow: 0 4px 10px rgba(22,131,247,0.25);
    }
    .ffx-public-ai-send:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 14px rgba(22,131,247,0.35);
    }

    @media (max-width: 720px) {
      .ffx-public-ai-drawer {
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        border-radius: 0;
        border: none;
        z-index: 99999;
      }
      .ffx-public-ai-trigger {
        bottom: 16px;
        right: 16px;
        left: auto;
        padding: 0 14px 0 12px;
        height: 48px;
      }
      .ffx-public-ai-input-btn {
        min-width: 48px;
        height: 48px;
      }
      .ffx-public-ai-input-field {
        min-height: 48px;
      }
    }