.tecat-chat-container {
  position: fixed;
  bottom: 28px; /* subimos un poco el launcher */
  right: 20px;
  z-index: 99999; /* aseguramos que quede sobre menús flotantes */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  font-family: Arial, sans-serif;
}

.tecat-chat-frame {
  display: none;
  width: 420px;
  height: 660px;
  border: 1px solid #d1d9e0;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
  background: #fff;
}

.tecat-chat-launcher {
  padding: 14px 18px;
  background: #2b86ff;
  color: #fff;
  border: none;
  border-radius: 24px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tecat-chat-launcher:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
  background: #256fda;
}

.tecat-chat-container.tecat-chat-open .tecat-chat-frame {
  display: block;
}

.tecat-chat-container.tecat-chat-open .tecat-chat-launcher {
  background: #1f5cb6;
}

@media (max-width: 480px) {
  .tecat-chat-container {
    bottom: 5vw; /* bajamos un poco en móvil usando relativo */
    right: 4vw; /* margen derecho relativo */
    gap: 8px;
  }
  .tecat-chat-frame {
    width: 92vw; /* ancho relativo al viewport */
    max-width: 420px; /* techo por si el dispositivo es ancho */
    height: 80vh; /* más alto para aprovechar vertical */
  }
}
